@inertiajs/vue3 2.0.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -1,2 +1,2 @@
1
- import{router as Xt}from"@inertiajs/core";import{createHeadManager as Z,router as x}from"@inertiajs/core";import{computed as b,defineComponent as ee,h as $,markRaw as V,reactive as te,ref as D,shallowRef as re}from"vue";import{router as j}from"@inertiajs/core";import Q from"lodash.clonedeep";var z={created(){if(!this.$options.remember)return;Array.isArray(this.$options.remember)&&(this.$options.remember={data:this.$options.remember}),typeof this.$options.remember=="string"&&(this.$options.remember={data:[this.$options.remember]}),typeof this.$options.remember.data=="string"&&(this.$options.remember={data:[this.$options.remember.data]});let e=this.$options.remember.key instanceof Function?this.$options.remember.key.call(this):this.$options.remember.key,t=j.restore(e),n=this.$options.remember.data.filter(o=>!(this[o]!==null&&typeof this[o]=="object"&&this[o].__rememberable===!1)),s=o=>this[o]!==null&&typeof this[o]=="object"&&typeof this[o].__remember=="function"&&typeof this[o].__restore=="function";n.forEach(o=>{this[o]!==void 0&&t!==void 0&&t[o]!==void 0&&(s(o)?this[o].__restore(t[o]):this[o]=t[o]),this.$watch(o,()=>{j.remember(n.reduce((l,u)=>({...l,[u]:Q(s(u)?this[u].__remember():this[u])}),{}),e)},{immediate:!0,deep:!0})})}},R=z;import{router as S}from"@inertiajs/core";import P from"lodash.clonedeep";import G from"lodash.isequal";import{reactive as K,watch as X}from"vue";function C(e,t){let n=typeof e=="string"?e:null,s=typeof e=="string"?t:e,o=n?S.restore(n):null,l=typeof s=="object"?P(s):P(s()),u=null,f=null,d=r=>r,y=K({...o?o.data:P(l),isDirty:!1,errors:o?o.errors:{},hasErrors:!1,processing:!1,progress:null,wasSuccessful:!1,recentlySuccessful:!1,data(){return Object.keys(l).reduce((r,i)=>(r[i]=this[i],r),{})},transform(r){return d=r,this},defaults(r,i){if(typeof s=="function")throw new Error("You cannot call `defaults()` when using a function to define your form data.");return typeof r>"u"?l=this.data():l=Object.assign({},P(l),typeof r=="string"?{[r]:i}:r),this},reset(...r){let i=typeof s=="object"?P(l):P(s()),a=P(i);return r.length===0?(l=a,Object.assign(this,i)):Object.keys(i).filter(c=>r.includes(c)).forEach(c=>{l[c]=a[c],this[c]=i[c]}),this},setError(r,i){return Object.assign(this.errors,typeof r=="string"?{[r]:i}:r),this.hasErrors=Object.keys(this.errors).length>0,this},clearErrors(...r){return this.errors=Object.keys(this.errors).reduce((i,a)=>({...i,...r.length>0&&!r.includes(a)?{[a]:this.errors[a]}:{}}),{}),this.hasErrors=Object.keys(this.errors).length>0,this},submit(r,i,a={}){let c=d(this.data()),v={...a,onCancelToken:p=>{if(u=p,a.onCancelToken)return a.onCancelToken(p)},onBefore:p=>{if(this.wasSuccessful=!1,this.recentlySuccessful=!1,clearTimeout(f),a.onBefore)return a.onBefore(p)},onStart:p=>{if(this.processing=!0,a.onStart)return a.onStart(p)},onProgress:p=>{if(this.progress=p,a.onProgress)return a.onProgress(p)},onSuccess:async p=>{this.processing=!1,this.progress=null,this.clearErrors(),this.wasSuccessful=!0,this.recentlySuccessful=!0,f=setTimeout(()=>this.recentlySuccessful=!1,2e3);let F=a.onSuccess?await a.onSuccess(p):null;return l=P(this.data()),this.isDirty=!1,F},onError:p=>{if(this.processing=!1,this.progress=null,this.clearErrors().setError(p),a.onError)return a.onError(p)},onCancel:()=>{if(this.processing=!1,this.progress=null,a.onCancel)return a.onCancel()},onFinish:p=>{if(this.processing=!1,this.progress=null,u=null,a.onFinish)return a.onFinish(p)}};r==="delete"?S.delete(i,{...v,data:c}):S[r](i,c,v)},get(r,i){this.submit("get",r,i)},post(r,i){this.submit("post",r,i)},put(r,i){this.submit("put",r,i)},patch(r,i){this.submit("patch",r,i)},delete(r,i){this.submit("delete",r,i)},cancel(){u&&u.cancel()},__rememberable:n===null,__remember(){return{data:this.data(),errors:this.errors}},__restore(r){Object.assign(this,r.data),this.setError(r.errors)}});return X(y,r=>{y.isDirty=!G(y.data(),l),n&&S.remember(P(r.__remember()),n)},{immediate:!0,deep:!0}),y}var g=D(null),m=D(null),w=re(null),k=D(null),O=null,oe=ee({name:"Inertia",props:{initialPage:{type:Object,required:!0},initialComponent:{type:Object,required:!1},resolveComponent:{type:Function,required:!1},titleCallback:{type:Function,required:!1,default:e=>e},onHeadUpdate:{type:Function,required:!1,default:()=>()=>{}}},setup({initialPage:e,initialComponent:t,resolveComponent:n,titleCallback:s,onHeadUpdate:o}){g.value=t?V(t):null,m.value=e,k.value=null;let l=typeof window>"u";return O=Z(l,s,o),l||(x.init({initialPage:e,resolveComponent:n,swapComponent:async u=>{g.value=V(u.component),m.value=u.page,k.value=u.preserveState?k.value:Date.now()}}),x.on("navigate",()=>O.forceUpdate())),()=>{if(g.value){g.value.inheritAttrs=!!g.value.inheritAttrs;let u=$(g.value,{...m.value.props,key:k.value});return w.value&&(g.value.layout=w.value,w.value=null),g.value.layout?typeof g.value.layout=="function"?g.value.layout($,u):(Array.isArray(g.value.layout)?g.value.layout:[g.value.layout]).concat(u).reverse().reduce((f,d)=>(d.inheritAttrs=!!d.inheritAttrs,$(d,{...m.value.props},()=>f))):u}}}}),M=oe,N={install(e){x.form=C,Object.defineProperty(e.config.globalProperties,"$inertia",{get:()=>x}),Object.defineProperty(e.config.globalProperties,"$page",{get:()=>m.value}),Object.defineProperty(e.config.globalProperties,"$headManager",{get:()=>O}),e.mixin(R)}};function ne(){return te({props:b(()=>m.value?.props),url:b(()=>m.value?.url),component:b(()=>m.value?.component),version:b(()=>m.value?.version),clearHistory:b(()=>m.value?.clearHistory),deferredProps:b(()=>m.value?.deferredProps),mergeProps:b(()=>m.value?.mergeProps),scrollRegions:b(()=>m.value?.scrollRegions),rememberedState:b(()=>m.value?.rememberedState),encryptHistory:b(()=>m.value?.encryptHistory)})}import{router as se,setupProgress as ie}from"@inertiajs/core";import{createSSRApp as ae,h as le}from"vue";async function L({id:e="app",resolve:t,setup:n,title:s,progress:o={},page:l,render:u}){let f=typeof window>"u",d=f?null:document.getElementById(e),y=l||JSON.parse(d.dataset.page),r=c=>Promise.resolve(t(c)).then(v=>v.default||v),i=[],a=await Promise.all([r(y.component),se.decryptHistory().catch(()=>{})]).then(([c])=>n({el:d,App:M,props:{initialPage:y,initialComponent:c,resolveComponent:r,titleCallback:s,onHeadUpdate:f?v=>i=v:null},plugin:N}));if(!f&&o&&ie(o),f){let c=await u(ae({render:()=>le("div",{id:e,"data-page":JSON.stringify(y),innerHTML:a?u(a):""})}));return{head:i,body:c}}}import{defineComponent as ue}from"vue";var pe=ue({name:"Deferred",props:{data:{type:[String,Array],required:!0}},render(){let e=Array.isArray(this.$props.data)?this.$props.data:[this.$props.data];if(!this.$slots.fallback)throw new Error("`<Deferred>` requires a `<template #fallback>` slot");return e.every(t=>this.$page.props[t]!==void 0)?this.$slots.default():this.$slots.fallback()}});import{defineComponent as ce}from"vue";var fe=ce({props:{title:{type:String,required:!1}},data(){return{provider:this.$headManager.createProvider()}},beforeUnmount(){this.provider.disconnect()},methods:{isUnaryTag(e){return["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"].indexOf(e.type)>-1},renderTagStart(e){e.props=e.props||{},e.props.inertia=e.props["head-key"]!==void 0?e.props["head-key"]:"";let t=Object.keys(e.props).reduce((n,s)=>{let o=e.props[s];return["key","head-key"].includes(s)?n:o===""?n+` ${s}`:n+` ${s}="${o}"`},"");return`<${e.type}${t}>`},renderTagChildren(e){return typeof e.children=="string"?e.children:e.children.reduce((t,n)=>t+this.renderTag(n),"")},isFunctionNode(e){return typeof e.type=="function"},isComponentNode(e){return typeof e.type=="object"},isCommentNode(e){return/(comment|cmt)/i.test(e.type.toString())},isFragmentNode(e){return/(fragment|fgt|symbol\(\))/i.test(e.type.toString())},isTextNode(e){return/(text|txt)/i.test(e.type.toString())},renderTag(e){if(this.isTextNode(e))return e.children;if(this.isFragmentNode(e))return"";if(this.isCommentNode(e))return"";let t=this.renderTagStart(e);return e.children&&(t+=this.renderTagChildren(e)),this.isUnaryTag(e)||(t+=`</${e.type}>`),t},addTitleElement(e){return this.title&&!e.find(t=>t.startsWith("<title"))&&e.push(`<title inertia>${this.title}</title>`),e},renderNodes(e){return this.addTitleElement(e.flatMap(t=>this.resolveNode(t)).map(t=>this.renderTag(t)).filter(t=>t))},resolveNode(e){return this.isFunctionNode(e)?this.resolveNode(e.type()):this.isComponentNode(e)?(console.warn("Using components in the <Head> component is not supported."),[]):this.isTextNode(e)&&e.children?e:this.isFragmentNode(e)&&e.children?e.children.flatMap(t=>this.resolveNode(t)):this.isCommentNode(e)?[]:e}},render(){this.provider.update(this.renderNodes(this.$slots.default?this.$slots.default():[]))}}),de=fe;import{mergeDataIntoQueryString as me,router as _,shouldIntercept as E}from"@inertiajs/core";import{computed as A,defineComponent as he,h as ge,onMounted as ye,onUnmounted as ve,ref as H}from"vue";var be=he({name:"Link",props:{as:{type:String,default:"a"},data:{type:Object,default:()=>({})},href:{type:String,required:!0},method:{type:String,default:"get"},replace:{type:Boolean,default:!1},preserveScroll:{type:Boolean,default:!1},preserveState:{type:Boolean,default:null},only:{type:Array,default:()=>[]},except:{type:Array,default:()=>[]},headers:{type:Object,default:()=>({})},queryStringArrayFormat:{type:String,default:"brackets"},async:{type:Boolean,default:!1},prefetch:{type:[Boolean,String,Array],default:!1},cacheFor:{type:[Number,String,Array],default:0},onStart:{type:Function,default:e=>{}},onProgress:{type:Function,default:()=>{}},onFinish:{type:Function,default:()=>{}},onBefore:{type:Function,default:()=>{}},onCancel:{type:Function,default:()=>{}},onSuccess:{type:Function,default:()=>{}},onError:{type:Function,default:()=>{}},onCancelToken:{type:Function,default:()=>{}}},setup(e,{slots:t,attrs:n}){let s=H(0),o=H(null),l=(()=>e.prefetch===!0?["hover"]:e.prefetch===!1?[]:Array.isArray(e.prefetch)?e.prefetch:[e.prefetch])(),u=(()=>e.cacheFor!==0?e.cacheFor:l.length===1&&l[0]==="click"?0:3e4)();ye(()=>{l.includes("mount")&&p()}),ve(()=>{clearTimeout(o.value)});let f=e.method.toLowerCase(),d=f!=="get"?"button":e.as.toLowerCase(),y=A(()=>me(f,e.href||"",e.data,e.queryStringArrayFormat)),r=A(()=>y.value[0]),i=A(()=>y.value[1]),a=A(()=>({a:{href:r.value},button:{type:"button"}})),c={data:i.value,method:f,replace:e.replace,preserveScroll:e.preserveScroll,preserveState:e.preserveState??f!=="get",only:e.only,except:e.except,headers:e.headers,async:e.async},v={...c,onCancelToken:e.onCancelToken,onBefore:e.onBefore,onStart:h=>{s.value++,e.onStart(h)},onProgress:e.onProgress,onFinish:h=>{s.value--,e.onFinish(h)},onCancel:e.onCancel,onSuccess:e.onSuccess,onError:e.onError},p=()=>{_.prefetch(r.value,c,{cacheFor:u})},F={onClick:h=>{E(h)&&(h.preventDefault(),_.visit(r.value,v))}},J={onMouseenter:()=>{o.value=setTimeout(()=>{p()},75)},onMouseleave:()=>{clearTimeout(o.value)},onClick:F.onClick},Y={onMousedown:h=>{E(h)&&(h.preventDefault(),p())},onMouseup:h=>{h.preventDefault(),_.visit(r.value,v)},onClick:h=>{E(h)&&h.preventDefault()}};return()=>ge(d,{...n,...a.value[d]||{},"data-loading":s.value>0?"":void 0,...(()=>l.includes("hover")?J:l.includes("click")?Y:F)()},t)}}),Pe=be;import{router as Te}from"@inertiajs/core";import{onMounted as Fe,onUnmounted as Se}from"vue";function B(e,t={},n={keepAlive:!1,autoStart:!0}){let{stop:s,start:o}=Te.poll(e,t,{...n,autoStart:!1});return Fe(()=>{(n.autoStart??!0)&&o()}),Se(()=>{s()}),{stop:s,start:o}}import{router as T}from"@inertiajs/core";import{onMounted as Ce,onUnmounted as ke,ref as I}from"vue";function q(e={}){let t=I(!1),n=I(null),s=I(!1),o=typeof window>"u"?null:T.getCached(window.location.pathname,e),l=typeof window>"u"?null:T.getPrefetching(window.location.pathname,e);n.value=o?.staleTimestamp||null,t.value=l!==null,s.value=o!==null;let u,f;return Ce(()=>{f=T.on("prefetching",d=>{d.detail.visit.url.pathname===window.location.pathname&&(t.value=!0)}),u=T.on("prefetched",d=>{d.detail.visit.url.pathname===window.location.pathname&&(t.value=!1,s.value=!0)})}),ke(()=>{u(),f()}),{lastUpdatedAt:n,isPrefetching:t,isPrefetched:s,flush:()=>T.flush(window.location.pathname,e)}}import{router as U}from"@inertiajs/core";import xe from"lodash.clonedeep";import{isReactive as Ae,reactive as $e,ref as we,watch as Oe}from"vue";function W(e,t){if(typeof e=="object"&&e!==null&&e.__rememberable===!1)return e;let n=U.restore(t),s=Ae(e)?$e:we,o=typeof e.__remember=="function"&&typeof e.__restore=="function",l=s(n===void 0?e:o?e.__restore(n):n);return Oe(l,u=>{U.remember(xe(o?e.__remember():u),t)},{immediate:!0,deep:!0}),l}import{router as De}from"@inertiajs/core";import{defineComponent as _e,h as Ee}from"vue";var Ie=_e({name:"WhenVisible",props:{data:{type:[String,Array]},params:{type:Object},buffer:{type:Number,default:0},as:{type:String,default:"div"},always:{type:Boolean,default:!1}},data(){return{loaded:!1,fetching:!1,observer:null}},unmounted(){this.observer?.disconnect()},mounted(){this.observer=new IntersectionObserver(e=>{if(!e[0].isIntersecting||(this.$props.always||this.observer.disconnect(),this.fetching))return;this.fetching=!0;let t=this.getReloadParams();De.reload({...t,onStart:n=>{this.fetching=!0,t.onStart?.(n)},onFinish:n=>{this.loaded=!0,this.fetching=!1,t.onFinish?.(n)}})},{rootMargin:`${this.$props.buffer}px`}),this.observer.observe(this.$el.nextSibling)},methods:{getReloadParams(){if(this.$props.data)return{only:Array.isArray(this.$props.data)?this.$props.data:[this.$props.data]};if(!this.$props.params)throw new Error("You must provide either a `data` or `params` prop.");return this.$props.params}},render(){let e=[];return(this.$props.always||!this.loaded)&&e.push(Ee(this.$props.as)),this.loaded?this.$slots.default&&e.push(this.$slots.default()):e.push(this.$slots.fallback?this.$slots.fallback():null),e}});export{pe as Deferred,de as Head,Pe as Link,Ie as WhenVisible,L as createInertiaApp,Xt as router,C as useForm,ne as usePage,B as usePoll,q as usePrefetch,W as useRemember};
1
+ import{router as Xt}from"@inertiajs/core";import{createHeadManager as Z,router as x}from"@inertiajs/core";import{computed as P,defineComponent as ee,h as $,markRaw as M,reactive as te,ref as D,shallowRef as re}from"vue";import{router as R}from"@inertiajs/core";import Q from"lodash.clonedeep";var z={created(){if(!this.$options.remember)return;Array.isArray(this.$options.remember)&&(this.$options.remember={data:this.$options.remember}),typeof this.$options.remember=="string"&&(this.$options.remember={data:[this.$options.remember]}),typeof this.$options.remember.data=="string"&&(this.$options.remember={data:[this.$options.remember.data]});let e=this.$options.remember.key instanceof Function?this.$options.remember.key.call(this):this.$options.remember.key,t=R.restore(e),n=this.$options.remember.data.filter(o=>!(this[o]!==null&&typeof this[o]=="object"&&this[o].__rememberable===!1)),s=o=>this[o]!==null&&typeof this[o]=="object"&&typeof this[o].__remember=="function"&&typeof this[o].__restore=="function";n.forEach(o=>{this[o]!==void 0&&t!==void 0&&t[o]!==void 0&&(s(o)?this[o].__restore(t[o]):this[o]=t[o]),this.$watch(o,()=>{R.remember(n.reduce((l,u)=>({...l,[u]:Q(s(u)?this[u].__remember():this[u])}),{}),e)},{immediate:!0,deep:!0})})}},j=z;import{router as S}from"@inertiajs/core";import b from"lodash.clonedeep";import G from"lodash.isequal";import{reactive as K,watch as X}from"vue";function C(e,t){let n=typeof e=="string"?e:null,s=(typeof e=="string"?t:e)??{},o=n?S.restore(n):null,l=typeof s=="function"?b(s()):b(s),u=null,f=null,m=r=>r,y=K({...o?o.data:b(l),isDirty:!1,errors:o?o.errors:{},hasErrors:!1,processing:!1,progress:null,wasSuccessful:!1,recentlySuccessful:!1,data(){return Object.keys(l).reduce((r,i)=>(r[i]=this[i],r),{})},transform(r){return m=r,this},defaults(r,i){if(typeof s=="function")throw new Error("You cannot call `defaults()` when using a function to define your form data.");return typeof r>"u"?(l=this.data(),this.isDirty=!1):l=Object.assign({},b(l),typeof r=="string"?{[r]:i}:r),this},reset(...r){let i=typeof s=="function"?b(s()):b(l),a=b(i);return r.length===0?(l=a,Object.assign(this,i)):Object.keys(i).filter(c=>r.includes(c)).forEach(c=>{l[c]=a[c],this[c]=i[c]}),this},setError(r,i){return Object.assign(this.errors,typeof r=="string"?{[r]:i}:r),this.hasErrors=Object.keys(this.errors).length>0,this},clearErrors(...r){return this.errors=Object.keys(this.errors).reduce((i,a)=>({...i,...r.length>0&&!r.includes(a)?{[a]:this.errors[a]}:{}}),{}),this.hasErrors=Object.keys(this.errors).length>0,this},submit(r,i,a={}){let c=m(this.data()),v={...a,onCancelToken:p=>{if(u=p,a.onCancelToken)return a.onCancelToken(p)},onBefore:p=>{if(this.wasSuccessful=!1,this.recentlySuccessful=!1,clearTimeout(f),a.onBefore)return a.onBefore(p)},onStart:p=>{if(this.processing=!0,a.onStart)return a.onStart(p)},onProgress:p=>{if(this.progress=p,a.onProgress)return a.onProgress(p)},onSuccess:async p=>{this.processing=!1,this.progress=null,this.clearErrors(),this.wasSuccessful=!0,this.recentlySuccessful=!0,f=setTimeout(()=>this.recentlySuccessful=!1,2e3);let T=a.onSuccess?await a.onSuccess(p):null;return l=b(this.data()),this.isDirty=!1,T},onError:p=>{if(this.processing=!1,this.progress=null,this.clearErrors().setError(p),a.onError)return a.onError(p)},onCancel:()=>{if(this.processing=!1,this.progress=null,a.onCancel)return a.onCancel()},onFinish:p=>{if(this.processing=!1,this.progress=null,u=null,a.onFinish)return a.onFinish(p)}};r==="delete"?S.delete(i,{...v,data:c}):S[r](i,c,v)},get(r,i){this.submit("get",r,i)},post(r,i){this.submit("post",r,i)},put(r,i){this.submit("put",r,i)},patch(r,i){this.submit("patch",r,i)},delete(r,i){this.submit("delete",r,i)},cancel(){u&&u.cancel()},__rememberable:n===null,__remember(){return{data:this.data(),errors:this.errors}},__restore(r){Object.assign(this,r.data),this.setError(r.errors)}});return X(y,r=>{y.isDirty=!G(y.data(),l),n&&S.remember(b(r.__remember()),n)},{immediate:!0,deep:!0}),y}var g=D(null),h=D(null),O=re(null),k=D(null),w=null,oe=ee({name:"Inertia",props:{initialPage:{type:Object,required:!0},initialComponent:{type:Object,required:!1},resolveComponent:{type:Function,required:!1},titleCallback:{type:Function,required:!1,default:e=>e},onHeadUpdate:{type:Function,required:!1,default:()=>()=>{}}},setup({initialPage:e,initialComponent:t,resolveComponent:n,titleCallback:s,onHeadUpdate:o}){g.value=t?M(t):null,h.value=e,k.value=null;let l=typeof window>"u";return w=Z(l,s,o),l||(x.init({initialPage:e,resolveComponent:n,swapComponent:async u=>{g.value=M(u.component),h.value=u.page,k.value=u.preserveState?k.value:Date.now()}}),x.on("navigate",()=>w.forceUpdate())),()=>{if(g.value){g.value.inheritAttrs=!!g.value.inheritAttrs;let u=$(g.value,{...h.value.props,key:k.value});return O.value&&(g.value.layout=O.value,O.value=null),g.value.layout?typeof g.value.layout=="function"?g.value.layout($,u):(Array.isArray(g.value.layout)?g.value.layout:[g.value.layout]).concat(u).reverse().reduce((f,m)=>(m.inheritAttrs=!!m.inheritAttrs,$(m,{...h.value.props},()=>f))):u}}}}),N=oe,V={install(e){x.form=C,Object.defineProperty(e.config.globalProperties,"$inertia",{get:()=>x}),Object.defineProperty(e.config.globalProperties,"$page",{get:()=>h.value}),Object.defineProperty(e.config.globalProperties,"$headManager",{get:()=>w}),e.mixin(j)}};function ne(){return te({props:P(()=>h.value?.props),url:P(()=>h.value?.url),component:P(()=>h.value?.component),version:P(()=>h.value?.version),clearHistory:P(()=>h.value?.clearHistory),deferredProps:P(()=>h.value?.deferredProps),mergeProps:P(()=>h.value?.mergeProps),rememberedState:P(()=>h.value?.rememberedState),encryptHistory:P(()=>h.value?.encryptHistory)})}import{router as se,setupProgress as ie}from"@inertiajs/core";import{createSSRApp as ae,h as le}from"vue";async function L({id:e="app",resolve:t,setup:n,title:s,progress:o={},page:l,render:u}){let f=typeof window>"u",m=f?null:document.getElementById(e),y=l||JSON.parse(m.dataset.page),r=c=>Promise.resolve(t(c)).then(v=>v.default||v),i=[],a=await Promise.all([r(y.component),se.decryptHistory().catch(()=>{})]).then(([c])=>n({el:m,App:N,props:{initialPage:y,initialComponent:c,resolveComponent:r,titleCallback:s,onHeadUpdate:f?v=>i=v:null},plugin:V}));if(!f&&o&&ie(o),f){let c=await u(ae({render:()=>le("div",{id:e,"data-page":JSON.stringify(y),innerHTML:a?u(a):""})}));return{head:i,body:c}}}import{defineComponent as ue}from"vue";var pe=ue({name:"Deferred",props:{data:{type:[String,Array],required:!0}},render(){let e=Array.isArray(this.$props.data)?this.$props.data:[this.$props.data];if(!this.$slots.fallback)throw new Error("`<Deferred>` requires a `<template #fallback>` slot");return e.every(t=>this.$page.props[t]!==void 0)?this.$slots.default():this.$slots.fallback()}});import{defineComponent as ce}from"vue";var fe=ce({props:{title:{type:String,required:!1}},data(){return{provider:this.$headManager.createProvider()}},beforeUnmount(){this.provider.disconnect()},methods:{isUnaryTag(e){return["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"].indexOf(e.type)>-1},renderTagStart(e){e.props=e.props||{},e.props.inertia=e.props["head-key"]!==void 0?e.props["head-key"]:"";let t=Object.keys(e.props).reduce((n,s)=>{let o=e.props[s];return["key","head-key"].includes(s)?n:o===""?n+` ${s}`:n+` ${s}="${o}"`},"");return`<${e.type}${t}>`},renderTagChildren(e){return typeof e.children=="string"?e.children:e.children.reduce((t,n)=>t+this.renderTag(n),"")},isFunctionNode(e){return typeof e.type=="function"},isComponentNode(e){return typeof e.type=="object"},isCommentNode(e){return/(comment|cmt)/i.test(e.type.toString())},isFragmentNode(e){return/(fragment|fgt|symbol\(\))/i.test(e.type.toString())},isTextNode(e){return/(text|txt)/i.test(e.type.toString())},renderTag(e){if(this.isTextNode(e))return e.children;if(this.isFragmentNode(e))return"";if(this.isCommentNode(e))return"";let t=this.renderTagStart(e);return e.children&&(t+=this.renderTagChildren(e)),this.isUnaryTag(e)||(t+=`</${e.type}>`),t},addTitleElement(e){return this.title&&!e.find(t=>t.startsWith("<title"))&&e.push(`<title inertia>${this.title}</title>`),e},renderNodes(e){return this.addTitleElement(e.flatMap(t=>this.resolveNode(t)).map(t=>this.renderTag(t)).filter(t=>t))},resolveNode(e){return this.isFunctionNode(e)?this.resolveNode(e.type()):this.isComponentNode(e)?(console.warn("Using components in the <Head> component is not supported."),[]):this.isTextNode(e)&&e.children?e:this.isFragmentNode(e)&&e.children?e.children.flatMap(t=>this.resolveNode(t)):this.isCommentNode(e)?[]:e}},render(){this.provider.update(this.renderNodes(this.$slots.default?this.$slots.default():[]))}}),me=fe;import{mergeDataIntoQueryString as de,router as _,shouldIntercept as E}from"@inertiajs/core";import{computed as A,defineComponent as he,h as ge,onMounted as ye,onUnmounted as ve,ref as H}from"vue";var be=he({name:"Link",props:{as:{type:String,default:"a"},data:{type:Object,default:()=>({})},href:{type:String,required:!0},method:{type:String,default:"get"},replace:{type:Boolean,default:!1},preserveScroll:{type:Boolean,default:!1},preserveState:{type:Boolean,default:null},only:{type:Array,default:()=>[]},except:{type:Array,default:()=>[]},headers:{type:Object,default:()=>({})},queryStringArrayFormat:{type:String,default:"brackets"},async:{type:Boolean,default:!1},prefetch:{type:[Boolean,String,Array],default:!1},cacheFor:{type:[Number,String,Array],default:0},onStart:{type:Function,default:e=>{}},onProgress:{type:Function,default:()=>{}},onFinish:{type:Function,default:()=>{}},onBefore:{type:Function,default:()=>{}},onCancel:{type:Function,default:()=>{}},onSuccess:{type:Function,default:()=>{}},onError:{type:Function,default:()=>{}},onCancelToken:{type:Function,default:()=>{}}},setup(e,{slots:t,attrs:n}){let s=H(0),o=H(null),l=(()=>e.prefetch===!0?["hover"]:e.prefetch===!1?[]:Array.isArray(e.prefetch)?e.prefetch:[e.prefetch])(),u=(()=>e.cacheFor!==0?e.cacheFor:l.length===1&&l[0]==="click"?0:3e4)();ye(()=>{l.includes("mount")&&p()}),ve(()=>{clearTimeout(o.value)});let f=e.method.toLowerCase(),m=f!=="get"?"button":e.as.toLowerCase(),y=A(()=>de(f,e.href||"",e.data,e.queryStringArrayFormat)),r=A(()=>y.value[0]),i=A(()=>y.value[1]),a=A(()=>({a:{href:r.value},button:{type:"button"}})),c={data:i.value,method:f,replace:e.replace,preserveScroll:e.preserveScroll,preserveState:e.preserveState??f!=="get",only:e.only,except:e.except,headers:e.headers,async:e.async},v={...c,onCancelToken:e.onCancelToken,onBefore:e.onBefore,onStart:d=>{s.value++,e.onStart(d)},onProgress:e.onProgress,onFinish:d=>{s.value--,e.onFinish(d)},onCancel:e.onCancel,onSuccess:e.onSuccess,onError:e.onError},p=()=>{_.prefetch(r.value,c,{cacheFor:u})},T={onClick:d=>{E(d)&&(d.preventDefault(),_.visit(r.value,v))}},J={onMouseenter:()=>{o.value=setTimeout(()=>{p()},75)},onMouseleave:()=>{clearTimeout(o.value)},onClick:T.onClick},Y={onMousedown:d=>{E(d)&&(d.preventDefault(),p())},onMouseup:d=>{d.preventDefault(),_.visit(r.value,v)},onClick:d=>{E(d)&&d.preventDefault()}};return()=>ge(m,{...n,...a.value[m]||{},"data-loading":s.value>0?"":void 0,...(()=>l.includes("hover")?J:l.includes("click")?Y:T)()},t)}}),Pe=be;import{router as Fe}from"@inertiajs/core";import{onMounted as Te,onUnmounted as Se}from"vue";function B(e,t={},n={keepAlive:!1,autoStart:!0}){let{stop:s,start:o}=Fe.poll(e,t,{...n,autoStart:!1});return Te(()=>{(n.autoStart??!0)&&o()}),Se(()=>{s()}),{stop:s,start:o}}import{router as F}from"@inertiajs/core";import{onMounted as Ce,onUnmounted as ke,ref as I}from"vue";function q(e={}){let t=I(!1),n=I(null),s=I(!1),o=typeof window>"u"?null:F.getCached(window.location.pathname,e),l=typeof window>"u"?null:F.getPrefetching(window.location.pathname,e);n.value=o?.staleTimestamp||null,t.value=l!==null,s.value=o!==null;let u,f;return Ce(()=>{f=F.on("prefetching",m=>{m.detail.visit.url.pathname===window.location.pathname&&(t.value=!0)}),u=F.on("prefetched",m=>{m.detail.visit.url.pathname===window.location.pathname&&(t.value=!1,s.value=!0)})}),ke(()=>{u(),f()}),{lastUpdatedAt:n,isPrefetching:t,isPrefetched:s,flush:()=>F.flush(window.location.pathname,e)}}import{router as U}from"@inertiajs/core";import xe from"lodash.clonedeep";import{isReactive as Ae,reactive as $e,ref as Oe,watch as we}from"vue";function W(e,t){if(typeof e=="object"&&e!==null&&e.__rememberable===!1)return e;let n=U.restore(t),s=Ae(e)?$e:Oe,o=typeof e.__remember=="function"&&typeof e.__restore=="function",l=s(n===void 0?e:o?e.__restore(n):n);return we(l,u=>{U.remember(xe(o?e.__remember():u),t)},{immediate:!0,deep:!0}),l}import{router as De}from"@inertiajs/core";import{defineComponent as _e,h as Ee}from"vue";var Ie=_e({name:"WhenVisible",props:{data:{type:[String,Array]},params:{type:Object},buffer:{type:Number,default:0},as:{type:String,default:"div"},always:{type:Boolean,default:!1}},data(){return{loaded:!1,fetching:!1,observer:null}},unmounted(){this.observer?.disconnect()},mounted(){this.observer=new IntersectionObserver(e=>{if(!e[0].isIntersecting||(this.$props.always||this.observer.disconnect(),this.fetching))return;this.fetching=!0;let t=this.getReloadParams();De.reload({...t,onStart:n=>{this.fetching=!0,t.onStart?.(n)},onFinish:n=>{this.loaded=!0,this.fetching=!1,t.onFinish?.(n)}})},{rootMargin:`${this.$props.buffer}px`}),this.observer.observe(this.$el.nextSibling)},methods:{getReloadParams(){if(this.$props.data)return{only:Array.isArray(this.$props.data)?this.$props.data:[this.$props.data]};if(!this.$props.params)throw new Error("You must provide either a `data` or `params` prop.");return this.$props.params}},render(){let e=[];return(this.$props.always||!this.loaded)&&e.push(Ee(this.$props.as)),this.loaded?this.$slots.default&&e.push(this.$slots.default()):e.push(this.$slots.fallback?this.$slots.fallback():null),e}});export{pe as Deferred,me as Head,Pe as Link,Ie as WhenVisible,L as createInertiaApp,Xt as router,C as useForm,ne as usePage,B as usePoll,q as usePrefetch,W as useRemember};
2
2
  //# sourceMappingURL=index.esm.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts", "../src/app.ts", "../src/remember.ts", "../src/useForm.ts", "../src/createInertiaApp.ts", "../src/deferred.ts", "../src/head.ts", "../src/link.ts", "../src/usePoll.ts", "../src/usePrefetch.ts", "../src/useRemember.ts", "../src/whenVisible.ts"],
4
- "sourcesContent": ["export { router } from '@inertiajs/core'\nexport { usePage } from './app'\nexport { default as createInertiaApp } from './createInertiaApp'\nexport { default as Deferred } from './deferred'\nexport { default as Head } from './head'\nexport { InertiaLinkProps, default as Link } from './link'\nexport * from './types'\nexport { InertiaForm, default as useForm } from './useForm'\nexport { default as usePoll } from './usePoll'\nexport { default as usePrefetch } from './usePrefetch'\nexport { default as useRemember } from './useRemember'\nexport { default as WhenVisible } from './whenVisible'\n", "import { createHeadManager, Page, PageProps, router } from '@inertiajs/core'\nimport {\n computed,\n DefineComponent,\n defineComponent,\n h,\n markRaw,\n Plugin,\n PropType,\n reactive,\n ref,\n shallowRef,\n} from 'vue'\nimport remember from './remember'\nimport { VuePageHandlerArgs } from './types'\nimport useForm from './useForm'\n\nexport interface InertiaAppProps {\n initialPage: Page\n initialComponent?: object\n resolveComponent?: (name: string) => DefineComponent | Promise<DefineComponent>\n titleCallback?: (title: string) => string\n onHeadUpdate?: (elements: string[]) => void\n}\n\nexport type InertiaApp = DefineComponent<InertiaAppProps>\n\nconst component = ref(null)\nconst page = ref<Page<any>>(null)\nconst layout = shallowRef(null)\nconst key = ref(null)\nlet headManager = null\n\nconst App: InertiaApp = defineComponent({\n name: 'Inertia',\n props: {\n initialPage: {\n type: Object as PropType<Page>,\n required: true,\n },\n initialComponent: {\n type: Object,\n required: false,\n },\n resolveComponent: {\n type: Function as PropType<(name: string) => DefineComponent | Promise<DefineComponent>>,\n required: false,\n },\n titleCallback: {\n type: Function as PropType<(title: string) => string>,\n required: false,\n default: (title) => title,\n },\n onHeadUpdate: {\n type: Function as PropType<(elements: string[]) => void>,\n required: false,\n default: () => () => {},\n },\n },\n setup({ initialPage, initialComponent, resolveComponent, titleCallback, onHeadUpdate }) {\n component.value = initialComponent ? markRaw(initialComponent) : null\n page.value = initialPage\n key.value = null\n\n const isServer = typeof window === 'undefined'\n headManager = createHeadManager(isServer, titleCallback, onHeadUpdate)\n\n if (!isServer) {\n router.init({\n initialPage,\n resolveComponent,\n swapComponent: async (args: VuePageHandlerArgs) => {\n component.value = markRaw(args.component)\n page.value = args.page\n key.value = args.preserveState ? key.value : Date.now()\n },\n })\n\n router.on('navigate', () => headManager.forceUpdate())\n }\n\n return () => {\n if (component.value) {\n component.value.inheritAttrs = !!component.value.inheritAttrs\n\n const child = h(component.value, {\n ...page.value.props,\n key: key.value,\n })\n\n if (layout.value) {\n component.value.layout = layout.value\n layout.value = null\n }\n\n if (component.value.layout) {\n if (typeof component.value.layout === 'function') {\n return component.value.layout(h, child)\n }\n\n return (Array.isArray(component.value.layout) ? component.value.layout : [component.value.layout])\n .concat(child)\n .reverse()\n .reduce((child, layout) => {\n layout.inheritAttrs = !!layout.inheritAttrs\n return h(layout, { ...page.value.props }, () => child)\n })\n }\n\n return child\n }\n }\n },\n})\nexport default App\n\nexport const plugin: Plugin = {\n install(app) {\n router.form = useForm\n\n Object.defineProperty(app.config.globalProperties, '$inertia', { get: () => router })\n Object.defineProperty(app.config.globalProperties, '$page', { get: () => page.value })\n Object.defineProperty(app.config.globalProperties, '$headManager', { get: () => headManager })\n\n app.mixin(remember)\n },\n}\n\nexport function usePage<SharedProps extends PageProps>(): Page<SharedProps> {\n return reactive({\n props: computed(() => page.value?.props),\n url: computed(() => page.value?.url),\n component: computed(() => page.value?.component),\n version: computed(() => page.value?.version),\n clearHistory: computed(() => page.value?.clearHistory),\n deferredProps: computed(() => page.value?.deferredProps),\n mergeProps: computed(() => page.value?.mergeProps),\n scrollRegions: computed(() => page.value?.scrollRegions),\n rememberedState: computed(() => page.value?.rememberedState),\n encryptHistory: computed(() => page.value?.encryptHistory),\n })\n}\n", "import { router } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport { ComponentOptions } from 'vue'\n\nconst remember: ComponentOptions = {\n created() {\n if (!this.$options.remember) {\n return\n }\n\n if (Array.isArray(this.$options.remember)) {\n this.$options.remember = { data: this.$options.remember }\n }\n\n if (typeof this.$options.remember === 'string') {\n this.$options.remember = { data: [this.$options.remember] }\n }\n\n if (typeof this.$options.remember.data === 'string') {\n this.$options.remember = { data: [this.$options.remember.data] }\n }\n\n const rememberKey =\n this.$options.remember.key instanceof Function\n ? this.$options.remember.key.call(this)\n : this.$options.remember.key\n\n const restored = router.restore(rememberKey)\n\n const rememberable = this.$options.remember.data.filter((key) => {\n return !(this[key] !== null && typeof this[key] === 'object' && this[key].__rememberable === false)\n })\n\n const hasCallbacks = (key) => {\n return (\n this[key] !== null &&\n typeof this[key] === 'object' &&\n typeof this[key].__remember === 'function' &&\n typeof this[key].__restore === 'function'\n )\n }\n\n rememberable.forEach((key) => {\n if (this[key] !== undefined && restored !== undefined && restored[key] !== undefined) {\n hasCallbacks(key) ? this[key].__restore(restored[key]) : (this[key] = restored[key])\n }\n\n this.$watch(\n key,\n () => {\n router.remember(\n rememberable.reduce(\n (data, key) => ({\n ...data,\n [key]: cloneDeep(hasCallbacks(key) ? this[key].__remember() : this[key]),\n }),\n {},\n ),\n rememberKey,\n )\n },\n { immediate: true, deep: true },\n )\n })\n },\n}\n\nexport default remember\n", "import { FormDataConvertible, Method, Progress, router, VisitOptions } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport isEqual from 'lodash.isequal'\nimport { reactive, watch } from 'vue'\n\ntype FormDataType = object\n\ninterface InertiaFormProps<TForm extends FormDataType> {\n isDirty: boolean\n errors: Partial<Record<keyof TForm, string>>\n hasErrors: boolean\n processing: boolean\n progress: Progress | null\n wasSuccessful: boolean\n recentlySuccessful: boolean\n data(): TForm\n transform(callback: (data: TForm) => object): this\n defaults(): this\n defaults(field: keyof TForm, value: FormDataConvertible): this\n defaults(fields: Partial<TForm>): this\n reset(...fields: (keyof TForm)[]): this\n clearErrors(...fields: (keyof TForm)[]): this\n setError(field: keyof TForm, value: string): this\n setError(errors: Record<keyof TForm, string>): this\n submit(method: Method, url: string, options?: Partial<VisitOptions>): void\n get(url: string, options?: Partial<VisitOptions>): void\n post(url: string, options?: Partial<VisitOptions>): void\n put(url: string, options?: Partial<VisitOptions>): void\n patch(url: string, options?: Partial<VisitOptions>): void\n delete(url: string, options?: Partial<VisitOptions>): void\n cancel(): void\n}\n\nexport type InertiaForm<TForm extends FormDataType> = TForm & InertiaFormProps<TForm>\n\nexport default function useForm<TForm extends FormDataType>(data: TForm | (() => TForm)): InertiaForm<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKey: string,\n data: TForm | (() => TForm),\n): InertiaForm<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKeyOrData: string | TForm | (() => TForm),\n maybeData?: TForm | (() => TForm),\n): InertiaForm<TForm> {\n const rememberKey = typeof rememberKeyOrData === 'string' ? rememberKeyOrData : null\n const data = typeof rememberKeyOrData === 'string' ? maybeData : rememberKeyOrData\n const restored = rememberKey\n ? (router.restore(rememberKey) as { data: TForm; errors: Record<keyof TForm, string> })\n : null\n let defaults = typeof data === 'object' ? cloneDeep(data) : cloneDeep(data())\n let cancelToken = null\n let recentlySuccessfulTimeoutId = null\n let transform = (data) => data\n\n const form = reactive({\n ...(restored ? restored.data : cloneDeep(defaults)),\n isDirty: false,\n errors: restored ? restored.errors : {},\n hasErrors: false,\n processing: false,\n progress: null,\n wasSuccessful: false,\n recentlySuccessful: false,\n data() {\n return (Object.keys(defaults) as Array<keyof TForm>).reduce((carry, key) => {\n carry[key] = this[key]\n return carry\n }, {} as Partial<TForm>) as TForm\n },\n transform(callback) {\n transform = callback\n\n return this\n },\n defaults(fieldOrFields?: keyof TForm | Partial<TForm>, maybeValue?: FormDataConvertible) {\n if (typeof data === 'function') {\n throw new Error('You cannot call `defaults()` when using a function to define your form data.')\n }\n\n if (typeof fieldOrFields === 'undefined') {\n defaults = this.data()\n } else {\n defaults = Object.assign(\n {},\n cloneDeep(defaults),\n typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : fieldOrFields,\n )\n }\n\n return this\n },\n reset(...fields) {\n const resolvedData = typeof data === 'object' ? cloneDeep(defaults) : cloneDeep(data())\n const clonedData = cloneDeep(resolvedData)\n if (fields.length === 0) {\n defaults = clonedData\n Object.assign(this, resolvedData)\n } else {\n Object.keys(resolvedData)\n .filter((key) => fields.includes(key))\n .forEach((key) => {\n defaults[key] = clonedData[key]\n this[key] = resolvedData[key]\n })\n }\n\n return this\n },\n setError(fieldOrFields: keyof TForm | Record<keyof TForm, string>, maybeValue?: string) {\n Object.assign(this.errors, typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : fieldOrFields)\n\n this.hasErrors = Object.keys(this.errors).length > 0\n\n return this\n },\n clearErrors(...fields) {\n this.errors = Object.keys(this.errors).reduce(\n (carry, field) => ({\n ...carry,\n ...(fields.length > 0 && !fields.includes(field) ? { [field]: this.errors[field] } : {}),\n }),\n {},\n )\n\n this.hasErrors = Object.keys(this.errors).length > 0\n\n return this\n },\n submit(method, url, options: VisitOptions = {}) {\n const data = transform(this.data())\n const _options = {\n ...options,\n onCancelToken: (token) => {\n cancelToken = token\n\n if (options.onCancelToken) {\n return options.onCancelToken(token)\n }\n },\n onBefore: (visit) => {\n this.wasSuccessful = false\n this.recentlySuccessful = false\n clearTimeout(recentlySuccessfulTimeoutId)\n\n if (options.onBefore) {\n return options.onBefore(visit)\n }\n },\n onStart: (visit) => {\n this.processing = true\n\n if (options.onStart) {\n return options.onStart(visit)\n }\n },\n onProgress: (event) => {\n this.progress = event\n\n if (options.onProgress) {\n return options.onProgress(event)\n }\n },\n onSuccess: async (page) => {\n this.processing = false\n this.progress = null\n this.clearErrors()\n this.wasSuccessful = true\n this.recentlySuccessful = true\n recentlySuccessfulTimeoutId = setTimeout(() => (this.recentlySuccessful = false), 2000)\n\n const onSuccess = options.onSuccess ? await options.onSuccess(page) : null\n defaults = cloneDeep(this.data())\n this.isDirty = false\n return onSuccess\n },\n onError: (errors) => {\n this.processing = false\n this.progress = null\n this.clearErrors().setError(errors)\n\n if (options.onError) {\n return options.onError(errors)\n }\n },\n onCancel: () => {\n this.processing = false\n this.progress = null\n\n if (options.onCancel) {\n return options.onCancel()\n }\n },\n onFinish: (visit) => {\n this.processing = false\n this.progress = null\n cancelToken = null\n\n if (options.onFinish) {\n return options.onFinish(visit)\n }\n },\n }\n\n if (method === 'delete') {\n router.delete(url, { ..._options, data })\n } else {\n router[method](url, data, _options)\n }\n },\n get(url, options) {\n this.submit('get', url, options)\n },\n post(url, options) {\n this.submit('post', url, options)\n },\n put(url, options) {\n this.submit('put', url, options)\n },\n patch(url, options) {\n this.submit('patch', url, options)\n },\n delete(url, options) {\n this.submit('delete', url, options)\n },\n cancel() {\n if (cancelToken) {\n cancelToken.cancel()\n }\n },\n __rememberable: rememberKey === null,\n __remember() {\n return { data: this.data(), errors: this.errors }\n },\n __restore(restored) {\n Object.assign(this, restored.data)\n this.setError(restored.errors)\n },\n })\n\n watch(\n form,\n (newValue) => {\n form.isDirty = !isEqual(form.data(), defaults)\n if (rememberKey) {\n router.remember(cloneDeep(newValue.__remember()), rememberKey)\n }\n },\n { immediate: true, deep: true },\n )\n\n return form\n}\n", "import { Page, router, setupProgress } from '@inertiajs/core'\nimport { DefineComponent, Plugin, App as VueApp, createSSRApp, h } from 'vue'\nimport App, { InertiaApp, InertiaAppProps, plugin } from './app'\n\ninterface CreateInertiaAppProps {\n id?: string\n resolve: (name: string) => DefineComponent | Promise<DefineComponent> | { default: DefineComponent }\n setup: (props: { el: Element; App: InertiaApp; props: InertiaAppProps; plugin: Plugin }) => void | VueApp\n title?: (title: string) => string\n progress?:\n | false\n | {\n delay?: number\n color?: string\n includeCSS?: boolean\n showSpinner?: boolean\n }\n page?: Page\n render?: (app: VueApp) => Promise<string>\n}\n\nexport default async function createInertiaApp({\n id = 'app',\n resolve,\n setup,\n title,\n progress = {},\n page,\n render,\n}: CreateInertiaAppProps): Promise<{ head: string[]; body: string }> {\n const isServer = typeof window === 'undefined'\n const el = isServer ? null : document.getElementById(id)\n const initialPage = page || JSON.parse(el.dataset.page)\n const resolveComponent = (name) => Promise.resolve(resolve(name)).then((module) => module.default || module)\n\n let head = []\n\n const vueApp = await Promise.all([\n resolveComponent(initialPage.component),\n router.decryptHistory().catch(() => {}),\n ]).then(([initialComponent]) => {\n return setup({\n el,\n App,\n props: {\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback: title,\n onHeadUpdate: isServer ? (elements) => (head = elements) : null,\n },\n plugin,\n })\n })\n\n if (!isServer && progress) {\n setupProgress(progress)\n }\n\n if (isServer) {\n const body = await render(\n createSSRApp({\n render: () =>\n h('div', {\n id,\n 'data-page': JSON.stringify(initialPage),\n innerHTML: vueApp ? render(vueApp) : '',\n }),\n }),\n )\n\n return { head, body }\n }\n}\n", "import { defineComponent } from 'vue'\n\nexport default defineComponent({\n name: 'Deferred',\n props: {\n data: {\n type: [String, Array<String>],\n required: true,\n },\n },\n render() {\n const keys = (Array.isArray(this.$props.data) ? this.$props.data : [this.$props.data]) as string[]\n\n if (!this.$slots.fallback) {\n throw new Error('`<Deferred>` requires a `<template #fallback>` slot')\n }\n\n return keys.every((key) => this.$page.props[key] !== undefined) ? this.$slots.default() : this.$slots.fallback()\n },\n})\n", "import { defineComponent, DefineComponent } from 'vue'\n\nexport type InertiaHead = DefineComponent<{\n title?: string\n}>\n\nconst Head: InertiaHead = defineComponent({\n props: {\n title: {\n type: String,\n required: false,\n },\n },\n data() {\n return {\n provider: this.$headManager.createProvider(),\n }\n },\n beforeUnmount() {\n this.provider.disconnect()\n },\n methods: {\n isUnaryTag(node) {\n return (\n [\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'keygen',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr',\n ].indexOf(node.type) > -1\n )\n },\n renderTagStart(node) {\n node.props = node.props || {}\n node.props.inertia = node.props['head-key'] !== undefined ? node.props['head-key'] : ''\n const attrs = Object.keys(node.props).reduce((carry, name) => {\n const value = node.props[name]\n if (['key', 'head-key'].includes(name)) {\n return carry\n } else if (value === '') {\n return carry + ` ${name}`\n } else {\n return carry + ` ${name}=\"${value}\"`\n }\n }, '')\n return `<${node.type}${attrs}>`\n },\n renderTagChildren(node) {\n return typeof node.children === 'string'\n ? node.children\n : node.children.reduce((html, child) => html + this.renderTag(child), '')\n },\n isFunctionNode(node) {\n return typeof node.type === 'function'\n },\n isComponentNode(node) {\n return typeof node.type === 'object'\n },\n isCommentNode(node) {\n return /(comment|cmt)/i.test(node.type.toString())\n },\n isFragmentNode(node) {\n return /(fragment|fgt|symbol\\(\\))/i.test(node.type.toString())\n },\n isTextNode(node) {\n return /(text|txt)/i.test(node.type.toString())\n },\n renderTag(node) {\n if (this.isTextNode(node)) {\n return node.children\n } else if (this.isFragmentNode(node)) {\n return ''\n } else if (this.isCommentNode(node)) {\n return ''\n }\n let html = this.renderTagStart(node)\n if (node.children) {\n html += this.renderTagChildren(node)\n }\n if (!this.isUnaryTag(node)) {\n html += `</${node.type}>`\n }\n return html\n },\n addTitleElement(elements) {\n if (this.title && !elements.find((tag) => tag.startsWith('<title'))) {\n elements.push(`<title inertia>${this.title}</title>`)\n }\n return elements\n },\n renderNodes(nodes) {\n return this.addTitleElement(\n nodes\n .flatMap((node) => this.resolveNode(node))\n .map((node) => this.renderTag(node))\n .filter((node) => node),\n )\n },\n resolveNode(node) {\n if (this.isFunctionNode(node)) {\n return this.resolveNode(node.type())\n } else if (this.isComponentNode(node)) {\n console.warn(`Using components in the <Head> component is not supported.`)\n return []\n } else if (this.isTextNode(node) && node.children) {\n return node\n } else if (this.isFragmentNode(node) && node.children) {\n return node.children.flatMap((child) => this.resolveNode(child))\n } else if (this.isCommentNode(node)) {\n return []\n } else {\n return node\n }\n },\n },\n render() {\n this.provider.update(this.renderNodes(this.$slots.default ? this.$slots.default() : []))\n },\n})\n\nexport default Head\n", "import {\n CacheForOption,\n FormDataConvertible,\n LinkPrefetchOption,\n mergeDataIntoQueryString,\n Method,\n PendingVisit,\n PreserveStateOption,\n Progress,\n router,\n shouldIntercept,\n} from '@inertiajs/core'\nimport { computed, defineComponent, DefineComponent, h, onMounted, onUnmounted, PropType, ref } from 'vue'\n\nexport interface InertiaLinkProps {\n as?: string\n data?: Record<string, FormDataConvertible>\n href: string\n method?: Method\n headers?: Record<string, string>\n onClick?: (event: MouseEvent) => void\n preserveScroll?: PreserveStateOption\n preserveState?: PreserveStateOption\n replace?: boolean\n only?: string[]\n except?: string[]\n onCancelToken?: (cancelToken: import('axios').CancelTokenSource) => void\n onBefore?: () => void\n onStart?: (visit: PendingVisit) => void\n onProgress?: (progress: Progress) => void\n onFinish?: (visit: PendingVisit) => void\n onCancel?: () => void\n onSuccess?: () => void\n onError?: () => void\n queryStringArrayFormat?: 'brackets' | 'indices'\n async?: boolean\n prefetch?: boolean | LinkPrefetchOption | LinkPrefetchOption[]\n cacheFor?: CacheForOption | CacheForOption[]\n}\n\ntype InertiaLink = DefineComponent<InertiaLinkProps>\n\n// @ts-ignore\nconst Link: InertiaLink = defineComponent({\n name: 'Link',\n props: {\n as: {\n type: String,\n default: 'a',\n },\n data: {\n type: Object,\n default: () => ({}),\n },\n href: {\n type: String,\n required: true,\n },\n method: {\n type: String as PropType<Method>,\n default: 'get',\n },\n replace: {\n type: Boolean,\n default: false,\n },\n preserveScroll: {\n type: Boolean,\n default: false,\n },\n preserveState: {\n type: Boolean,\n default: null,\n },\n only: {\n type: Array<string>,\n default: () => [],\n },\n except: {\n type: Array<string>,\n default: () => [],\n },\n headers: {\n type: Object,\n default: () => ({}),\n },\n queryStringArrayFormat: {\n type: String as PropType<'brackets' | 'indices'>,\n default: 'brackets',\n },\n async: {\n type: Boolean,\n default: false,\n },\n prefetch: {\n type: [Boolean, String, Array] as PropType<boolean | LinkPrefetchOption | LinkPrefetchOption[]>,\n default: false,\n },\n cacheFor: {\n type: [Number, String, Array] as PropType<CacheForOption | CacheForOption[]>,\n default: 0,\n },\n onStart: {\n type: Function as PropType<(visit: PendingVisit) => void>,\n default: (_visit: PendingVisit) => {},\n },\n onProgress: {\n type: Function as PropType<(progress: Progress) => void>,\n default: () => {},\n },\n onFinish: {\n type: Function as PropType<(visit: PendingVisit) => void>,\n default: () => {},\n },\n onBefore: {\n type: Function as PropType<() => void>,\n default: () => {},\n },\n onCancel: {\n type: Function as PropType<() => void>,\n default: () => {},\n },\n onSuccess: {\n type: Function as PropType<() => void>,\n default: () => {},\n },\n onError: {\n type: Function as PropType<() => void>,\n default: () => {},\n },\n onCancelToken: {\n type: Function as PropType<(cancelToken: import('axios').CancelTokenSource) => void>,\n default: () => {},\n },\n },\n setup(props, { slots, attrs }) {\n const inFlightCount = ref(0)\n const hoverTimeout = ref(null)\n\n const prefetchModes: LinkPrefetchOption[] = (() => {\n if (props.prefetch === true) {\n return ['hover']\n }\n\n if (props.prefetch === false) {\n return []\n }\n\n if (Array.isArray(props.prefetch)) {\n return props.prefetch\n }\n\n return [props.prefetch]\n })()\n\n const cacheForValue = (() => {\n if (props.cacheFor !== 0) {\n // If they've provided a value, respect it\n return props.cacheFor\n }\n\n if (prefetchModes.length === 1 && prefetchModes[0] === 'click') {\n // If they've only provided a prefetch mode of 'click',\n // we should only prefetch for the next request but not keep it around\n return 0\n }\n\n // Otherwise, default to 30 seconds\n return 30_000\n })()\n\n onMounted(() => {\n if (prefetchModes.includes('mount')) {\n prefetch()\n }\n })\n\n onUnmounted(() => {\n clearTimeout(hoverTimeout.value)\n })\n\n const method = props.method.toLowerCase() as Method\n const as = method !== 'get' ? 'button' : props.as.toLowerCase()\n const mergeDataArray = computed(() =>\n mergeDataIntoQueryString(method, props.href || '', props.data, props.queryStringArrayFormat),\n )\n const href = computed(() => mergeDataArray.value[0])\n const data = computed(() => mergeDataArray.value[1])\n\n const elProps = computed(() => ({\n a: { href: href.value },\n button: { type: 'button' },\n }))\n\n const baseParams = {\n data: data.value,\n method: method,\n replace: props.replace,\n preserveScroll: props.preserveScroll,\n preserveState: props.preserveState ?? method !== 'get',\n only: props.only,\n except: props.except,\n headers: props.headers,\n async: props.async,\n }\n\n const visitParams = {\n ...baseParams,\n onCancelToken: props.onCancelToken,\n onBefore: props.onBefore,\n onStart: (event) => {\n inFlightCount.value++\n props.onStart(event)\n },\n onProgress: props.onProgress,\n onFinish: (event) => {\n inFlightCount.value--\n props.onFinish(event)\n },\n onCancel: props.onCancel,\n onSuccess: props.onSuccess,\n onError: props.onError,\n }\n\n const prefetch = () => {\n router.prefetch(href.value, baseParams, { cacheFor: cacheForValue })\n }\n\n const regularEvents = {\n onClick: (event) => {\n if (shouldIntercept(event)) {\n event.preventDefault()\n router.visit(href.value, visitParams)\n }\n },\n }\n\n const prefetchHoverEvents = {\n onMouseenter: () => {\n hoverTimeout.value = setTimeout(() => {\n prefetch()\n }, 75)\n },\n onMouseleave: () => {\n clearTimeout(hoverTimeout.value)\n },\n onClick: regularEvents.onClick,\n }\n\n const prefetchClickEvents = {\n onMousedown: (event) => {\n if (shouldIntercept(event)) {\n event.preventDefault()\n prefetch()\n }\n },\n onMouseup: (event) => {\n event.preventDefault()\n router.visit(href.value, visitParams)\n },\n onClick: (event) => {\n if (shouldIntercept(event)) {\n // Let the mouseup event handle the visit\n event.preventDefault()\n }\n },\n }\n\n return () => {\n return h(\n as,\n {\n ...attrs,\n ...(elProps.value[as] || {}),\n 'data-loading': inFlightCount.value > 0 ? '' : undefined,\n ...(() => {\n if (prefetchModes.includes('hover')) {\n return prefetchHoverEvents\n }\n\n if (prefetchModes.includes('click')) {\n return prefetchClickEvents\n }\n\n return regularEvents\n })(),\n },\n slots,\n )\n }\n },\n})\n\nexport default Link\n", "import { PollOptions, ReloadOptions, router } from '@inertiajs/core'\nimport { onMounted, onUnmounted } from 'vue'\n\nexport default function usePoll(\n interval: number,\n requestOptions: ReloadOptions = {},\n options: PollOptions = {\n keepAlive: false,\n autoStart: true,\n },\n): {\n stop: VoidFunction\n start: VoidFunction\n} {\n const { stop, start } = router.poll(interval, requestOptions, {\n ...options,\n autoStart: false,\n })\n\n onMounted(() => {\n if (options.autoStart ?? true) {\n start()\n }\n })\n\n onUnmounted(() => {\n stop()\n })\n\n return {\n stop,\n start,\n }\n}\n", "import { router, VisitOptions } from '@inertiajs/core'\nimport { onMounted, onUnmounted, ref, Ref } from 'vue'\n\nexport default function usePrefetch(options: VisitOptions = {}): {\n lastUpdatedAt: Ref<number | null>\n isPrefetching: Ref<boolean>\n isPrefetched: Ref<boolean>\n flush: () => void\n} {\n const isPrefetching = ref(false)\n const lastUpdatedAt = ref<number | null>(null)\n const isPrefetched = ref(false)\n\n const cached = typeof window === 'undefined' ? null : router.getCached(window.location.pathname, options)\n const inFlight = typeof window === 'undefined' ? null : router.getPrefetching(window.location.pathname, options)\n\n lastUpdatedAt.value = cached?.staleTimestamp || null\n\n isPrefetching.value = inFlight !== null\n isPrefetched.value = cached !== null\n\n let onPrefetchedListener\n let onPrefetchingListener\n\n onMounted(() => {\n onPrefetchingListener = router.on('prefetching', (e) => {\n if (e.detail.visit.url.pathname === window.location.pathname) {\n isPrefetching.value = true\n }\n })\n\n onPrefetchedListener = router.on('prefetched', (e) => {\n if (e.detail.visit.url.pathname === window.location.pathname) {\n isPrefetching.value = false\n isPrefetched.value = true\n }\n })\n })\n\n onUnmounted(() => {\n onPrefetchedListener()\n onPrefetchingListener()\n })\n\n return {\n lastUpdatedAt,\n isPrefetching,\n isPrefetched,\n flush: () => router.flush(window.location.pathname, options),\n }\n}\n", "import { router } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport { isReactive, reactive, ref, Ref, watch } from 'vue'\n\nexport default function useRemember<T extends object>(\n data: T & { __rememberable?: boolean; __remember?: Function; __restore?: Function },\n key?: string,\n): Ref<T> | T {\n if (typeof data === 'object' && data !== null && data.__rememberable === false) {\n return data\n }\n\n const restored = router.restore(key)\n const type = isReactive(data) ? reactive : ref\n const hasCallbacks = typeof data.__remember === 'function' && typeof data.__restore === 'function'\n const remembered = type(restored === undefined ? data : hasCallbacks ? data.__restore(restored) : restored)\n\n watch(\n remembered,\n (newValue) => {\n router.remember(cloneDeep(hasCallbacks ? data.__remember() : newValue), key)\n },\n { immediate: true, deep: true },\n )\n\n return remembered\n}\n", "import { ReloadOptions, router } from '@inertiajs/core'\nimport { defineComponent, h, PropType } from 'vue'\n\nexport default defineComponent({\n name: 'WhenVisible',\n props: {\n data: {\n type: [String, Array<String>],\n },\n params: {\n type: Object as PropType<ReloadOptions>,\n },\n buffer: {\n type: Number,\n default: 0,\n },\n as: {\n type: String,\n default: 'div',\n },\n always: {\n type: Boolean,\n default: false,\n },\n },\n data() {\n return {\n loaded: false,\n fetching: false,\n observer: null,\n }\n },\n unmounted() {\n this.observer?.disconnect()\n },\n mounted() {\n this.observer = new IntersectionObserver(\n (entries) => {\n if (!entries[0].isIntersecting) {\n return\n }\n\n if (!this.$props.always) {\n this.observer.disconnect()\n }\n\n if (this.fetching) {\n return\n }\n\n this.fetching = true\n\n const reloadParams = this.getReloadParams()\n\n router.reload({\n ...reloadParams,\n onStart: (e) => {\n this.fetching = true\n reloadParams.onStart?.(e)\n },\n onFinish: (e) => {\n this.loaded = true\n this.fetching = false\n reloadParams.onFinish?.(e)\n },\n })\n },\n {\n rootMargin: `${this.$props.buffer}px`,\n },\n )\n\n this.observer.observe(this.$el.nextSibling)\n },\n methods: {\n getReloadParams(): Partial<ReloadOptions> {\n if (this.$props.data) {\n return {\n only: (Array.isArray(this.$props.data) ? this.$props.data : [this.$props.data]) as string[],\n }\n }\n\n if (!this.$props.params) {\n throw new Error('You must provide either a `data` or `params` prop.')\n }\n\n return this.$props.params\n },\n },\n render() {\n const els = []\n\n if (this.$props.always || !this.loaded) {\n els.push(h(this.$props.as))\n }\n\n if (!this.loaded) {\n els.push(this.$slots.fallback ? this.$slots.fallback() : null)\n } else if (this.$slots.default) {\n els.push(this.$slots.default())\n }\n\n return els\n },\n})\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["export { router } from '@inertiajs/core'\nexport { usePage } from './app'\nexport { default as createInertiaApp } from './createInertiaApp'\nexport { default as Deferred } from './deferred'\nexport { default as Head } from './head'\nexport { InertiaLinkProps, default as Link } from './link'\nexport * from './types'\nexport { InertiaForm, InertiaFormProps, default as useForm } from './useForm'\nexport { default as usePoll } from './usePoll'\nexport { default as usePrefetch } from './usePrefetch'\nexport { default as useRemember } from './useRemember'\nexport { default as WhenVisible } from './whenVisible'\n", "import { createHeadManager, Page, PageProps, router } from '@inertiajs/core'\nimport {\n computed,\n DefineComponent,\n defineComponent,\n h,\n markRaw,\n Plugin,\n PropType,\n reactive,\n ref,\n shallowRef,\n} from 'vue'\nimport remember from './remember'\nimport { VuePageHandlerArgs } from './types'\nimport useForm from './useForm'\n\nexport interface InertiaAppProps {\n initialPage: Page\n initialComponent?: object\n resolveComponent?: (name: string) => DefineComponent | Promise<DefineComponent>\n titleCallback?: (title: string) => string\n onHeadUpdate?: (elements: string[]) => void\n}\n\nexport type InertiaApp = DefineComponent<InertiaAppProps>\n\nconst component = ref(null)\nconst page = ref<Page<any>>(null)\nconst layout = shallowRef(null)\nconst key = ref(null)\nlet headManager = null\n\nconst App: InertiaApp = defineComponent({\n name: 'Inertia',\n props: {\n initialPage: {\n type: Object as PropType<Page>,\n required: true,\n },\n initialComponent: {\n type: Object,\n required: false,\n },\n resolveComponent: {\n type: Function as PropType<(name: string) => DefineComponent | Promise<DefineComponent>>,\n required: false,\n },\n titleCallback: {\n type: Function as PropType<(title: string) => string>,\n required: false,\n default: (title) => title,\n },\n onHeadUpdate: {\n type: Function as PropType<(elements: string[]) => void>,\n required: false,\n default: () => () => {},\n },\n },\n setup({ initialPage, initialComponent, resolveComponent, titleCallback, onHeadUpdate }) {\n component.value = initialComponent ? markRaw(initialComponent) : null\n page.value = initialPage\n key.value = null\n\n const isServer = typeof window === 'undefined'\n headManager = createHeadManager(isServer, titleCallback, onHeadUpdate)\n\n if (!isServer) {\n router.init({\n initialPage,\n resolveComponent,\n swapComponent: async (args: VuePageHandlerArgs) => {\n component.value = markRaw(args.component)\n page.value = args.page\n key.value = args.preserveState ? key.value : Date.now()\n },\n })\n\n router.on('navigate', () => headManager.forceUpdate())\n }\n\n return () => {\n if (component.value) {\n component.value.inheritAttrs = !!component.value.inheritAttrs\n\n const child = h(component.value, {\n ...page.value.props,\n key: key.value,\n })\n\n if (layout.value) {\n component.value.layout = layout.value\n layout.value = null\n }\n\n if (component.value.layout) {\n if (typeof component.value.layout === 'function') {\n return component.value.layout(h, child)\n }\n\n return (Array.isArray(component.value.layout) ? component.value.layout : [component.value.layout])\n .concat(child)\n .reverse()\n .reduce((child, layout) => {\n layout.inheritAttrs = !!layout.inheritAttrs\n return h(layout, { ...page.value.props }, () => child)\n })\n }\n\n return child\n }\n }\n },\n})\nexport default App\n\nexport const plugin: Plugin = {\n install(app) {\n router.form = useForm\n\n Object.defineProperty(app.config.globalProperties, '$inertia', { get: () => router })\n Object.defineProperty(app.config.globalProperties, '$page', { get: () => page.value })\n Object.defineProperty(app.config.globalProperties, '$headManager', { get: () => headManager })\n\n app.mixin(remember)\n },\n}\n\nexport function usePage<SharedProps extends PageProps>(): Page<SharedProps> {\n return reactive({\n props: computed(() => page.value?.props),\n url: computed(() => page.value?.url),\n component: computed(() => page.value?.component),\n version: computed(() => page.value?.version),\n clearHistory: computed(() => page.value?.clearHistory),\n deferredProps: computed(() => page.value?.deferredProps),\n mergeProps: computed(() => page.value?.mergeProps),\n rememberedState: computed(() => page.value?.rememberedState),\n encryptHistory: computed(() => page.value?.encryptHistory),\n })\n}\n", "import { router } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport { ComponentOptions } from 'vue'\n\nconst remember: ComponentOptions = {\n created() {\n if (!this.$options.remember) {\n return\n }\n\n if (Array.isArray(this.$options.remember)) {\n this.$options.remember = { data: this.$options.remember }\n }\n\n if (typeof this.$options.remember === 'string') {\n this.$options.remember = { data: [this.$options.remember] }\n }\n\n if (typeof this.$options.remember.data === 'string') {\n this.$options.remember = { data: [this.$options.remember.data] }\n }\n\n const rememberKey =\n this.$options.remember.key instanceof Function\n ? this.$options.remember.key.call(this)\n : this.$options.remember.key\n\n const restored = router.restore(rememberKey)\n\n const rememberable = this.$options.remember.data.filter((key) => {\n return !(this[key] !== null && typeof this[key] === 'object' && this[key].__rememberable === false)\n })\n\n const hasCallbacks = (key) => {\n return (\n this[key] !== null &&\n typeof this[key] === 'object' &&\n typeof this[key].__remember === 'function' &&\n typeof this[key].__restore === 'function'\n )\n }\n\n rememberable.forEach((key) => {\n if (this[key] !== undefined && restored !== undefined && restored[key] !== undefined) {\n hasCallbacks(key) ? this[key].__restore(restored[key]) : (this[key] = restored[key])\n }\n\n this.$watch(\n key,\n () => {\n router.remember(\n rememberable.reduce(\n (data, key) => ({\n ...data,\n [key]: cloneDeep(hasCallbacks(key) ? this[key].__remember() : this[key]),\n }),\n {},\n ),\n rememberKey,\n )\n },\n { immediate: true, deep: true },\n )\n })\n },\n}\n\nexport default remember\n", "import { FormDataConvertible, Method, Progress, router, VisitOptions } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport isEqual from 'lodash.isequal'\nimport { reactive, watch } from 'vue'\n\ntype FormDataType = Record<string, FormDataConvertible>\ntype FormOptions = Omit<VisitOptions, 'data'>\n\nexport interface InertiaFormProps<TForm extends FormDataType> {\n isDirty: boolean\n errors: Partial<Record<keyof TForm, string>>\n hasErrors: boolean\n processing: boolean\n progress: Progress | null\n wasSuccessful: boolean\n recentlySuccessful: boolean\n data(): TForm\n transform(callback: (data: TForm) => object): this\n defaults(): this\n defaults(field: keyof TForm, value: FormDataConvertible): this\n defaults(fields: Partial<TForm>): this\n reset(...fields: (keyof TForm)[]): this\n clearErrors(...fields: (keyof TForm)[]): this\n setError(field: keyof TForm, value: string): this\n setError(errors: Record<keyof TForm, string>): this\n submit(method: Method, url: string, options?: FormOptions): void\n get(url: string, options?: FormOptions): void\n post(url: string, options?: FormOptions): void\n put(url: string, options?: FormOptions): void\n patch(url: string, options?: FormOptions): void\n delete(url: string, options?: FormOptions): void\n cancel(): void\n}\n\nexport type InertiaForm<TForm extends FormDataType> = TForm & InertiaFormProps<TForm>\n\nexport default function useForm<TForm extends FormDataType>(data: TForm | (() => TForm)): InertiaForm<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKey: string,\n data: TForm | (() => TForm),\n): InertiaForm<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKeyOrData: string | TForm | (() => TForm),\n maybeData?: TForm | (() => TForm),\n): InertiaForm<TForm> {\n const rememberKey = typeof rememberKeyOrData === 'string' ? rememberKeyOrData : null\n const data = (typeof rememberKeyOrData === 'string' ? maybeData : rememberKeyOrData) ?? {}\n const restored = rememberKey\n ? (router.restore(rememberKey) as { data: TForm; errors: Record<keyof TForm, string> })\n : null\n let defaults = typeof data === 'function' ? cloneDeep(data()) : cloneDeep(data)\n let cancelToken = null\n let recentlySuccessfulTimeoutId = null\n let transform = (data) => data\n\n const form = reactive({\n ...(restored ? restored.data : cloneDeep(defaults)),\n isDirty: false,\n errors: restored ? restored.errors : {},\n hasErrors: false,\n processing: false,\n progress: null,\n wasSuccessful: false,\n recentlySuccessful: false,\n data() {\n return (Object.keys(defaults) as Array<keyof TForm>).reduce((carry, key) => {\n carry[key] = this[key]\n return carry\n }, {} as Partial<TForm>) as TForm\n },\n transform(callback) {\n transform = callback\n\n return this\n },\n defaults(fieldOrFields?: keyof TForm | Partial<TForm>, maybeValue?: FormDataConvertible) {\n if (typeof data === 'function') {\n throw new Error('You cannot call `defaults()` when using a function to define your form data.')\n }\n\n if (typeof fieldOrFields === 'undefined') {\n defaults = this.data()\n this.isDirty = false\n } else {\n defaults = Object.assign(\n {},\n cloneDeep(defaults),\n typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : fieldOrFields,\n )\n }\n\n return this\n },\n reset(...fields) {\n const resolvedData = typeof data === 'function' ? cloneDeep(data()) : cloneDeep(defaults)\n const clonedData = cloneDeep(resolvedData)\n if (fields.length === 0) {\n defaults = clonedData\n Object.assign(this, resolvedData)\n } else {\n Object.keys(resolvedData)\n .filter((key) => fields.includes(key))\n .forEach((key) => {\n defaults[key] = clonedData[key]\n this[key] = resolvedData[key]\n })\n }\n\n return this\n },\n setError(fieldOrFields: keyof TForm | Record<keyof TForm, string>, maybeValue?: string) {\n Object.assign(this.errors, typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : fieldOrFields)\n\n this.hasErrors = Object.keys(this.errors).length > 0\n\n return this\n },\n clearErrors(...fields) {\n this.errors = Object.keys(this.errors).reduce(\n (carry, field) => ({\n ...carry,\n ...(fields.length > 0 && !fields.includes(field) ? { [field]: this.errors[field] } : {}),\n }),\n {},\n )\n\n this.hasErrors = Object.keys(this.errors).length > 0\n\n return this\n },\n submit(method, url, options: FormOptions = {}) {\n const data = transform(this.data())\n const _options = {\n ...options,\n onCancelToken: (token) => {\n cancelToken = token\n\n if (options.onCancelToken) {\n return options.onCancelToken(token)\n }\n },\n onBefore: (visit) => {\n this.wasSuccessful = false\n this.recentlySuccessful = false\n clearTimeout(recentlySuccessfulTimeoutId)\n\n if (options.onBefore) {\n return options.onBefore(visit)\n }\n },\n onStart: (visit) => {\n this.processing = true\n\n if (options.onStart) {\n return options.onStart(visit)\n }\n },\n onProgress: (event) => {\n this.progress = event\n\n if (options.onProgress) {\n return options.onProgress(event)\n }\n },\n onSuccess: async (page) => {\n this.processing = false\n this.progress = null\n this.clearErrors()\n this.wasSuccessful = true\n this.recentlySuccessful = true\n recentlySuccessfulTimeoutId = setTimeout(() => (this.recentlySuccessful = false), 2000)\n\n const onSuccess = options.onSuccess ? await options.onSuccess(page) : null\n defaults = cloneDeep(this.data())\n this.isDirty = false\n return onSuccess\n },\n onError: (errors) => {\n this.processing = false\n this.progress = null\n this.clearErrors().setError(errors)\n\n if (options.onError) {\n return options.onError(errors)\n }\n },\n onCancel: () => {\n this.processing = false\n this.progress = null\n\n if (options.onCancel) {\n return options.onCancel()\n }\n },\n onFinish: (visit) => {\n this.processing = false\n this.progress = null\n cancelToken = null\n\n if (options.onFinish) {\n return options.onFinish(visit)\n }\n },\n }\n\n if (method === 'delete') {\n router.delete(url, { ..._options, data })\n } else {\n router[method](url, data, _options)\n }\n },\n get(url, options) {\n this.submit('get', url, options)\n },\n post(url, options) {\n this.submit('post', url, options)\n },\n put(url, options) {\n this.submit('put', url, options)\n },\n patch(url, options) {\n this.submit('patch', url, options)\n },\n delete(url, options) {\n this.submit('delete', url, options)\n },\n cancel() {\n if (cancelToken) {\n cancelToken.cancel()\n }\n },\n __rememberable: rememberKey === null,\n __remember() {\n return { data: this.data(), errors: this.errors }\n },\n __restore(restored) {\n Object.assign(this, restored.data)\n this.setError(restored.errors)\n },\n })\n\n watch(\n form,\n (newValue) => {\n form.isDirty = !isEqual(form.data(), defaults)\n if (rememberKey) {\n router.remember(cloneDeep(newValue.__remember()), rememberKey)\n }\n },\n { immediate: true, deep: true },\n )\n\n return form\n}\n", "import { Page, router, setupProgress } from '@inertiajs/core'\nimport { DefineComponent, Plugin, App as VueApp, createSSRApp, h } from 'vue'\nimport App, { InertiaApp, InertiaAppProps, plugin } from './app'\n\ninterface CreateInertiaAppProps {\n id?: string\n resolve: (name: string) => DefineComponent | Promise<DefineComponent> | { default: DefineComponent }\n setup: (props: { el: Element; App: InertiaApp; props: InertiaAppProps; plugin: Plugin }) => void | VueApp\n title?: (title: string) => string\n progress?:\n | false\n | {\n delay?: number\n color?: string\n includeCSS?: boolean\n showSpinner?: boolean\n }\n page?: Page\n render?: (app: VueApp) => Promise<string>\n}\n\nexport default async function createInertiaApp({\n id = 'app',\n resolve,\n setup,\n title,\n progress = {},\n page,\n render,\n}: CreateInertiaAppProps): Promise<{ head: string[]; body: string }> {\n const isServer = typeof window === 'undefined'\n const el = isServer ? null : document.getElementById(id)\n const initialPage = page || JSON.parse(el.dataset.page)\n const resolveComponent = (name) => Promise.resolve(resolve(name)).then((module) => module.default || module)\n\n let head = []\n\n const vueApp = await Promise.all([\n resolveComponent(initialPage.component),\n router.decryptHistory().catch(() => {}),\n ]).then(([initialComponent]) => {\n return setup({\n el,\n App,\n props: {\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback: title,\n onHeadUpdate: isServer ? (elements) => (head = elements) : null,\n },\n plugin,\n })\n })\n\n if (!isServer && progress) {\n setupProgress(progress)\n }\n\n if (isServer) {\n const body = await render(\n createSSRApp({\n render: () =>\n h('div', {\n id,\n 'data-page': JSON.stringify(initialPage),\n innerHTML: vueApp ? render(vueApp) : '',\n }),\n }),\n )\n\n return { head, body }\n }\n}\n", "import { defineComponent } from 'vue'\n\nexport default defineComponent({\n name: 'Deferred',\n props: {\n data: {\n type: [String, Array<String>],\n required: true,\n },\n },\n render() {\n const keys = (Array.isArray(this.$props.data) ? this.$props.data : [this.$props.data]) as string[]\n\n if (!this.$slots.fallback) {\n throw new Error('`<Deferred>` requires a `<template #fallback>` slot')\n }\n\n return keys.every((key) => this.$page.props[key] !== undefined) ? this.$slots.default() : this.$slots.fallback()\n },\n})\n", "import { defineComponent, DefineComponent } from 'vue'\n\nexport type InertiaHead = DefineComponent<{\n title?: string\n}>\n\nconst Head: InertiaHead = defineComponent({\n props: {\n title: {\n type: String,\n required: false,\n },\n },\n data() {\n return {\n provider: this.$headManager.createProvider(),\n }\n },\n beforeUnmount() {\n this.provider.disconnect()\n },\n methods: {\n isUnaryTag(node) {\n return (\n [\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'keygen',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr',\n ].indexOf(node.type) > -1\n )\n },\n renderTagStart(node) {\n node.props = node.props || {}\n node.props.inertia = node.props['head-key'] !== undefined ? node.props['head-key'] : ''\n const attrs = Object.keys(node.props).reduce((carry, name) => {\n const value = node.props[name]\n if (['key', 'head-key'].includes(name)) {\n return carry\n } else if (value === '') {\n return carry + ` ${name}`\n } else {\n return carry + ` ${name}=\"${value}\"`\n }\n }, '')\n return `<${node.type}${attrs}>`\n },\n renderTagChildren(node) {\n return typeof node.children === 'string'\n ? node.children\n : node.children.reduce((html, child) => html + this.renderTag(child), '')\n },\n isFunctionNode(node) {\n return typeof node.type === 'function'\n },\n isComponentNode(node) {\n return typeof node.type === 'object'\n },\n isCommentNode(node) {\n return /(comment|cmt)/i.test(node.type.toString())\n },\n isFragmentNode(node) {\n return /(fragment|fgt|symbol\\(\\))/i.test(node.type.toString())\n },\n isTextNode(node) {\n return /(text|txt)/i.test(node.type.toString())\n },\n renderTag(node) {\n if (this.isTextNode(node)) {\n return node.children\n } else if (this.isFragmentNode(node)) {\n return ''\n } else if (this.isCommentNode(node)) {\n return ''\n }\n let html = this.renderTagStart(node)\n if (node.children) {\n html += this.renderTagChildren(node)\n }\n if (!this.isUnaryTag(node)) {\n html += `</${node.type}>`\n }\n return html\n },\n addTitleElement(elements) {\n if (this.title && !elements.find((tag) => tag.startsWith('<title'))) {\n elements.push(`<title inertia>${this.title}</title>`)\n }\n return elements\n },\n renderNodes(nodes) {\n return this.addTitleElement(\n nodes\n .flatMap((node) => this.resolveNode(node))\n .map((node) => this.renderTag(node))\n .filter((node) => node),\n )\n },\n resolveNode(node) {\n if (this.isFunctionNode(node)) {\n return this.resolveNode(node.type())\n } else if (this.isComponentNode(node)) {\n console.warn(`Using components in the <Head> component is not supported.`)\n return []\n } else if (this.isTextNode(node) && node.children) {\n return node\n } else if (this.isFragmentNode(node) && node.children) {\n return node.children.flatMap((child) => this.resolveNode(child))\n } else if (this.isCommentNode(node)) {\n return []\n } else {\n return node\n }\n },\n },\n render() {\n this.provider.update(this.renderNodes(this.$slots.default ? this.$slots.default() : []))\n },\n})\n\nexport default Head\n", "import {\n CacheForOption,\n FormDataConvertible,\n LinkPrefetchOption,\n mergeDataIntoQueryString,\n Method,\n PendingVisit,\n PreserveStateOption,\n Progress,\n router,\n shouldIntercept,\n} from '@inertiajs/core'\nimport { computed, defineComponent, DefineComponent, h, onMounted, onUnmounted, PropType, ref } from 'vue'\n\nexport interface InertiaLinkProps {\n as?: string\n data?: Record<string, FormDataConvertible>\n href: string\n method?: Method\n headers?: Record<string, string>\n onClick?: (event: MouseEvent) => void\n preserveScroll?: PreserveStateOption\n preserveState?: PreserveStateOption\n replace?: boolean\n only?: string[]\n except?: string[]\n onCancelToken?: (cancelToken: import('axios').CancelTokenSource) => void\n onBefore?: () => void\n onStart?: (visit: PendingVisit) => void\n onProgress?: (progress: Progress) => void\n onFinish?: (visit: PendingVisit) => void\n onCancel?: () => void\n onSuccess?: () => void\n onError?: () => void\n queryStringArrayFormat?: 'brackets' | 'indices'\n async?: boolean\n prefetch?: boolean | LinkPrefetchOption | LinkPrefetchOption[]\n cacheFor?: CacheForOption | CacheForOption[]\n}\n\ntype InertiaLink = DefineComponent<InertiaLinkProps>\n\n// @ts-ignore\nconst Link: InertiaLink = defineComponent({\n name: 'Link',\n props: {\n as: {\n type: String,\n default: 'a',\n },\n data: {\n type: Object,\n default: () => ({}),\n },\n href: {\n type: String,\n required: true,\n },\n method: {\n type: String as PropType<Method>,\n default: 'get',\n },\n replace: {\n type: Boolean,\n default: false,\n },\n preserveScroll: {\n type: Boolean,\n default: false,\n },\n preserveState: {\n type: Boolean,\n default: null,\n },\n only: {\n type: Array<string>,\n default: () => [],\n },\n except: {\n type: Array<string>,\n default: () => [],\n },\n headers: {\n type: Object,\n default: () => ({}),\n },\n queryStringArrayFormat: {\n type: String as PropType<'brackets' | 'indices'>,\n default: 'brackets',\n },\n async: {\n type: Boolean,\n default: false,\n },\n prefetch: {\n type: [Boolean, String, Array] as PropType<boolean | LinkPrefetchOption | LinkPrefetchOption[]>,\n default: false,\n },\n cacheFor: {\n type: [Number, String, Array] as PropType<CacheForOption | CacheForOption[]>,\n default: 0,\n },\n onStart: {\n type: Function as PropType<(visit: PendingVisit) => void>,\n default: (_visit: PendingVisit) => {},\n },\n onProgress: {\n type: Function as PropType<(progress: Progress) => void>,\n default: () => {},\n },\n onFinish: {\n type: Function as PropType<(visit: PendingVisit) => void>,\n default: () => {},\n },\n onBefore: {\n type: Function as PropType<() => void>,\n default: () => {},\n },\n onCancel: {\n type: Function as PropType<() => void>,\n default: () => {},\n },\n onSuccess: {\n type: Function as PropType<() => void>,\n default: () => {},\n },\n onError: {\n type: Function as PropType<() => void>,\n default: () => {},\n },\n onCancelToken: {\n type: Function as PropType<(cancelToken: import('axios').CancelTokenSource) => void>,\n default: () => {},\n },\n },\n setup(props, { slots, attrs }) {\n const inFlightCount = ref(0)\n const hoverTimeout = ref(null)\n\n const prefetchModes: LinkPrefetchOption[] = (() => {\n if (props.prefetch === true) {\n return ['hover']\n }\n\n if (props.prefetch === false) {\n return []\n }\n\n if (Array.isArray(props.prefetch)) {\n return props.prefetch\n }\n\n return [props.prefetch]\n })()\n\n const cacheForValue = (() => {\n if (props.cacheFor !== 0) {\n // If they've provided a value, respect it\n return props.cacheFor\n }\n\n if (prefetchModes.length === 1 && prefetchModes[0] === 'click') {\n // If they've only provided a prefetch mode of 'click',\n // we should only prefetch for the next request but not keep it around\n return 0\n }\n\n // Otherwise, default to 30 seconds\n return 30_000\n })()\n\n onMounted(() => {\n if (prefetchModes.includes('mount')) {\n prefetch()\n }\n })\n\n onUnmounted(() => {\n clearTimeout(hoverTimeout.value)\n })\n\n const method = props.method.toLowerCase() as Method\n const as = method !== 'get' ? 'button' : props.as.toLowerCase()\n const mergeDataArray = computed(() =>\n mergeDataIntoQueryString(method, props.href || '', props.data, props.queryStringArrayFormat),\n )\n const href = computed(() => mergeDataArray.value[0])\n const data = computed(() => mergeDataArray.value[1])\n\n const elProps = computed(() => ({\n a: { href: href.value },\n button: { type: 'button' },\n }))\n\n const baseParams = {\n data: data.value,\n method: method,\n replace: props.replace,\n preserveScroll: props.preserveScroll,\n preserveState: props.preserveState ?? method !== 'get',\n only: props.only,\n except: props.except,\n headers: props.headers,\n async: props.async,\n }\n\n const visitParams = {\n ...baseParams,\n onCancelToken: props.onCancelToken,\n onBefore: props.onBefore,\n onStart: (event) => {\n inFlightCount.value++\n props.onStart(event)\n },\n onProgress: props.onProgress,\n onFinish: (event) => {\n inFlightCount.value--\n props.onFinish(event)\n },\n onCancel: props.onCancel,\n onSuccess: props.onSuccess,\n onError: props.onError,\n }\n\n const prefetch = () => {\n router.prefetch(href.value, baseParams, { cacheFor: cacheForValue })\n }\n\n const regularEvents = {\n onClick: (event) => {\n if (shouldIntercept(event)) {\n event.preventDefault()\n router.visit(href.value, visitParams)\n }\n },\n }\n\n const prefetchHoverEvents = {\n onMouseenter: () => {\n hoverTimeout.value = setTimeout(() => {\n prefetch()\n }, 75)\n },\n onMouseleave: () => {\n clearTimeout(hoverTimeout.value)\n },\n onClick: regularEvents.onClick,\n }\n\n const prefetchClickEvents = {\n onMousedown: (event) => {\n if (shouldIntercept(event)) {\n event.preventDefault()\n prefetch()\n }\n },\n onMouseup: (event) => {\n event.preventDefault()\n router.visit(href.value, visitParams)\n },\n onClick: (event) => {\n if (shouldIntercept(event)) {\n // Let the mouseup event handle the visit\n event.preventDefault()\n }\n },\n }\n\n return () => {\n return h(\n as,\n {\n ...attrs,\n ...(elProps.value[as] || {}),\n 'data-loading': inFlightCount.value > 0 ? '' : undefined,\n ...(() => {\n if (prefetchModes.includes('hover')) {\n return prefetchHoverEvents\n }\n\n if (prefetchModes.includes('click')) {\n return prefetchClickEvents\n }\n\n return regularEvents\n })(),\n },\n slots,\n )\n }\n },\n})\n\nexport default Link\n", "import { PollOptions, ReloadOptions, router } from '@inertiajs/core'\nimport { onMounted, onUnmounted } from 'vue'\n\nexport default function usePoll(\n interval: number,\n requestOptions: ReloadOptions = {},\n options: PollOptions = {\n keepAlive: false,\n autoStart: true,\n },\n): {\n stop: VoidFunction\n start: VoidFunction\n} {\n const { stop, start } = router.poll(interval, requestOptions, {\n ...options,\n autoStart: false,\n })\n\n onMounted(() => {\n if (options.autoStart ?? true) {\n start()\n }\n })\n\n onUnmounted(() => {\n stop()\n })\n\n return {\n stop,\n start,\n }\n}\n", "import { router, VisitOptions } from '@inertiajs/core'\nimport { onMounted, onUnmounted, ref, Ref } from 'vue'\n\nexport default function usePrefetch(options: VisitOptions = {}): {\n lastUpdatedAt: Ref<number | null>\n isPrefetching: Ref<boolean>\n isPrefetched: Ref<boolean>\n flush: () => void\n} {\n const isPrefetching = ref(false)\n const lastUpdatedAt = ref<number | null>(null)\n const isPrefetched = ref(false)\n\n const cached = typeof window === 'undefined' ? null : router.getCached(window.location.pathname, options)\n const inFlight = typeof window === 'undefined' ? null : router.getPrefetching(window.location.pathname, options)\n\n lastUpdatedAt.value = cached?.staleTimestamp || null\n\n isPrefetching.value = inFlight !== null\n isPrefetched.value = cached !== null\n\n let onPrefetchedListener\n let onPrefetchingListener\n\n onMounted(() => {\n onPrefetchingListener = router.on('prefetching', (e) => {\n if (e.detail.visit.url.pathname === window.location.pathname) {\n isPrefetching.value = true\n }\n })\n\n onPrefetchedListener = router.on('prefetched', (e) => {\n if (e.detail.visit.url.pathname === window.location.pathname) {\n isPrefetching.value = false\n isPrefetched.value = true\n }\n })\n })\n\n onUnmounted(() => {\n onPrefetchedListener()\n onPrefetchingListener()\n })\n\n return {\n lastUpdatedAt,\n isPrefetching,\n isPrefetched,\n flush: () => router.flush(window.location.pathname, options),\n }\n}\n", "import { router } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport { isReactive, reactive, ref, Ref, watch } from 'vue'\n\nexport default function useRemember<T extends object>(\n data: T & { __rememberable?: boolean; __remember?: Function; __restore?: Function },\n key?: string,\n): Ref<T> | T {\n if (typeof data === 'object' && data !== null && data.__rememberable === false) {\n return data\n }\n\n const restored = router.restore(key)\n const type = isReactive(data) ? reactive : ref\n const hasCallbacks = typeof data.__remember === 'function' && typeof data.__restore === 'function'\n const remembered = type(restored === undefined ? data : hasCallbacks ? data.__restore(restored) : restored)\n\n watch(\n remembered,\n (newValue) => {\n router.remember(cloneDeep(hasCallbacks ? data.__remember() : newValue), key)\n },\n { immediate: true, deep: true },\n )\n\n return remembered\n}\n", "import { ReloadOptions, router } from '@inertiajs/core'\nimport { defineComponent, h, PropType } from 'vue'\n\nexport default defineComponent({\n name: 'WhenVisible',\n props: {\n data: {\n type: [String, Array<String>],\n },\n params: {\n type: Object as PropType<ReloadOptions>,\n },\n buffer: {\n type: Number,\n default: 0,\n },\n as: {\n type: String,\n default: 'div',\n },\n always: {\n type: Boolean,\n default: false,\n },\n },\n data() {\n return {\n loaded: false,\n fetching: false,\n observer: null,\n }\n },\n unmounted() {\n this.observer?.disconnect()\n },\n mounted() {\n this.observer = new IntersectionObserver(\n (entries) => {\n if (!entries[0].isIntersecting) {\n return\n }\n\n if (!this.$props.always) {\n this.observer.disconnect()\n }\n\n if (this.fetching) {\n return\n }\n\n this.fetching = true\n\n const reloadParams = this.getReloadParams()\n\n router.reload({\n ...reloadParams,\n onStart: (e) => {\n this.fetching = true\n reloadParams.onStart?.(e)\n },\n onFinish: (e) => {\n this.loaded = true\n this.fetching = false\n reloadParams.onFinish?.(e)\n },\n })\n },\n {\n rootMargin: `${this.$props.buffer}px`,\n },\n )\n\n this.observer.observe(this.$el.nextSibling)\n },\n methods: {\n getReloadParams(): Partial<ReloadOptions> {\n if (this.$props.data) {\n return {\n only: (Array.isArray(this.$props.data) ? this.$props.data : [this.$props.data]) as string[],\n }\n }\n\n if (!this.$props.params) {\n throw new Error('You must provide either a `data` or `params` prop.')\n }\n\n return this.$props.params\n },\n },\n render() {\n const els = []\n\n if (this.$props.always || !this.loaded) {\n els.push(h(this.$props.as))\n }\n\n if (!this.loaded) {\n els.push(this.$slots.fallback ? this.$slots.fallback() : null)\n } else if (this.$slots.default) {\n els.push(this.$slots.default())\n }\n\n return els\n },\n})\n"],
5
+ "mappings": "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",
6
6
  "names": ["router", "createHeadManager", "router", "computed", "defineComponent", "h", "markRaw", "reactive", "ref", "shallowRef", "router", "cloneDeep", "remember", "rememberKey", "restored", "rememberable", "key", "hasCallbacks", "data", "remember_default", "router", "cloneDeep", "isEqual", "reactive", "watch", "useForm", "rememberKeyOrData", "maybeData", "rememberKey", "data", "restored", "defaults", "cancelToken", "recentlySuccessfulTimeoutId", "transform", "form", "carry", "key", "callback", "fieldOrFields", "maybeValue", "fields", "resolvedData", "clonedData", "field", "method", "url", "options", "_options", "token", "visit", "event", "page", "onSuccess", "errors", "newValue", "component", "ref", "page", "layout", "shallowRef", "key", "headManager", "App", "defineComponent", "title", "initialPage", "initialComponent", "resolveComponent", "titleCallback", "onHeadUpdate", "markRaw", "isServer", "createHeadManager", "router", "args", "child", "h", "app_default", "plugin", "app", "useForm", "remember_default", "usePage", "reactive", "computed", "router", "setupProgress", "createSSRApp", "h", "createInertiaApp", "id", "resolve", "setup", "title", "progress", "page", "render", "isServer", "el", "initialPage", "resolveComponent", "name", "module", "head", "vueApp", "router", "initialComponent", "app_default", "elements", "plugin", "setupProgress", "body", "createSSRApp", "h", "defineComponent", "deferred_default", "keys", "key", "defineComponent", "Head", "node", "attrs", "carry", "name", "value", "html", "child", "elements", "tag", "nodes", "head_default", "mergeDataIntoQueryString", "router", "shouldIntercept", "computed", "defineComponent", "h", "onMounted", "onUnmounted", "ref", "Link", "_visit", "props", "slots", "attrs", "inFlightCount", "hoverTimeout", "prefetchModes", "cacheForValue", "prefetch", "method", "as", "mergeDataArray", "href", "data", "elProps", "baseParams", "visitParams", "event", "regularEvents", "prefetchHoverEvents", "prefetchClickEvents", "link_default", "router", "onMounted", "onUnmounted", "usePoll", "interval", "requestOptions", "options", "stop", "start", "router", "onMounted", "onUnmounted", "ref", "usePrefetch", "options", "isPrefetching", "lastUpdatedAt", "isPrefetched", "cached", "inFlight", "onPrefetchedListener", "onPrefetchingListener", "e", "router", "cloneDeep", "isReactive", "reactive", "ref", "watch", "useRemember", "data", "key", "restored", "type", "hasCallbacks", "remembered", "newValue", "router", "defineComponent", "h", "whenVisible_default", "entries", "reloadParams", "e", "els"]
7
7
  }
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var ce=Object.create;var O=Object.defineProperty;var fe=Object.getOwnPropertyDescriptor;var de=Object.getOwnPropertyNames;var me=Object.getPrototypeOf,he=Object.prototype.hasOwnProperty;var ge=(e,t)=>{for(var n in t)O(e,n,{get:t[n],enumerable:!0})},J=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of de(t))!he.call(e,r)&&r!==n&&O(e,r,{get:()=>t[r],enumerable:!(s=fe(t,r))||s.enumerable});return e};var D=(e,t,n)=>(n=e!=null?ce(me(e)):{},J(t||!e||!e.__esModule?O(n,"default",{value:e,enumerable:!0}):n,e)),ye=e=>J(O({},"__esModule",{value:!0}),e);var Fe={};ge(Fe,{Deferred:()=>ee,Head:()=>re,Link:()=>oe,WhenVisible:()=>ae,createInertiaApp:()=>H,router:()=>le.router,useForm:()=>$,usePage:()=>X,usePoll:()=>B,usePrefetch:()=>q,useRemember:()=>W});module.exports=ye(Fe);var le=require("@inertiajs/core");var k=require("@inertiajs/core"),u=require("vue");var M=require("@inertiajs/core"),Y=D(require("lodash.clonedeep"),1),ve={created(){if(!this.$options.remember)return;Array.isArray(this.$options.remember)&&(this.$options.remember={data:this.$options.remember}),typeof this.$options.remember=="string"&&(this.$options.remember={data:[this.$options.remember]}),typeof this.$options.remember.data=="string"&&(this.$options.remember={data:[this.$options.remember.data]});let e=this.$options.remember.key instanceof Function?this.$options.remember.key.call(this):this.$options.remember.key,t=M.router.restore(e),n=this.$options.remember.data.filter(r=>!(this[r]!==null&&typeof this[r]=="object"&&this[r].__rememberable===!1)),s=r=>this[r]!==null&&typeof this[r]=="object"&&typeof this[r].__remember=="function"&&typeof this[r].__restore=="function";n.forEach(r=>{this[r]!==void 0&&t!==void 0&&t[r]!==void 0&&(s(r)?this[r].__restore(t[r]):this[r]=t[r]),this.$watch(r,()=>{M.router.remember(n.reduce((l,p)=>({...l,[p]:(0,Y.default)(s(p)?this[p].__remember():this[p])}),{}),e)},{immediate:!0,deep:!0})})}},Q=ve;var A=require("@inertiajs/core"),T=D(require("lodash.clonedeep"),1),z=D(require("lodash.isequal"),1),_=require("vue");function $(e,t){let n=typeof e=="string"?e:null,s=typeof e=="string"?t:e,r=n?A.router.restore(n):null,l=typeof s=="object"?(0,T.default)(s):(0,T.default)(s()),p=null,d=null,m=o=>o,b=(0,_.reactive)({...r?r.data:(0,T.default)(l),isDirty:!1,errors:r?r.errors:{},hasErrors:!1,processing:!1,progress:null,wasSuccessful:!1,recentlySuccessful:!1,data(){return Object.keys(l).reduce((o,i)=>(o[i]=this[i],o),{})},transform(o){return m=o,this},defaults(o,i){if(typeof s=="function")throw new Error("You cannot call `defaults()` when using a function to define your form data.");return typeof o>"u"?l=this.data():l=Object.assign({},(0,T.default)(l),typeof o=="string"?{[o]:i}:o),this},reset(...o){let i=typeof s=="object"?(0,T.default)(l):(0,T.default)(s()),a=(0,T.default)(i);return o.length===0?(l=a,Object.assign(this,i)):Object.keys(i).filter(f=>o.includes(f)).forEach(f=>{l[f]=a[f],this[f]=i[f]}),this},setError(o,i){return Object.assign(this.errors,typeof o=="string"?{[o]:i}:o),this.hasErrors=Object.keys(this.errors).length>0,this},clearErrors(...o){return this.errors=Object.keys(this.errors).reduce((i,a)=>({...i,...o.length>0&&!o.includes(a)?{[a]:this.errors[a]}:{}}),{}),this.hasErrors=Object.keys(this.errors).length>0,this},submit(o,i,a={}){let f=m(this.data()),P={...a,onCancelToken:c=>{if(p=c,a.onCancelToken)return a.onCancelToken(c)},onBefore:c=>{if(this.wasSuccessful=!1,this.recentlySuccessful=!1,clearTimeout(d),a.onBefore)return a.onBefore(c)},onStart:c=>{if(this.processing=!0,a.onStart)return a.onStart(c)},onProgress:c=>{if(this.progress=c,a.onProgress)return a.onProgress(c)},onSuccess:async c=>{this.processing=!1,this.progress=null,this.clearErrors(),this.wasSuccessful=!0,this.recentlySuccessful=!0,d=setTimeout(()=>this.recentlySuccessful=!1,2e3);let w=a.onSuccess?await a.onSuccess(c):null;return l=(0,T.default)(this.data()),this.isDirty=!1,w},onError:c=>{if(this.processing=!1,this.progress=null,this.clearErrors().setError(c),a.onError)return a.onError(c)},onCancel:()=>{if(this.processing=!1,this.progress=null,a.onCancel)return a.onCancel()},onFinish:c=>{if(this.processing=!1,this.progress=null,p=null,a.onFinish)return a.onFinish(c)}};o==="delete"?A.router.delete(i,{...P,data:f}):A.router[o](i,f,P)},get(o,i){this.submit("get",o,i)},post(o,i){this.submit("post",o,i)},put(o,i){this.submit("put",o,i)},patch(o,i){this.submit("patch",o,i)},delete(o,i){this.submit("delete",o,i)},cancel(){p&&p.cancel()},__rememberable:n===null,__remember(){return{data:this.data(),errors:this.errors}},__restore(o){Object.assign(this,o.data),this.setError(o.errors)}});return(0,_.watch)(b,o=>{b.isDirty=!(0,z.default)(b.data(),l),n&&A.router.remember((0,T.default)(o.__remember()),n)},{immediate:!0,deep:!0}),b}var v=(0,u.ref)(null),g=(0,u.ref)(null),N=(0,u.shallowRef)(null),E=(0,u.ref)(null),L=null,be=(0,u.defineComponent)({name:"Inertia",props:{initialPage:{type:Object,required:!0},initialComponent:{type:Object,required:!1},resolveComponent:{type:Function,required:!1},titleCallback:{type:Function,required:!1,default:e=>e},onHeadUpdate:{type:Function,required:!1,default:()=>()=>{}}},setup({initialPage:e,initialComponent:t,resolveComponent:n,titleCallback:s,onHeadUpdate:r}){v.value=t?(0,u.markRaw)(t):null,g.value=e,E.value=null;let l=typeof window>"u";return L=(0,k.createHeadManager)(l,s,r),l||(k.router.init({initialPage:e,resolveComponent:n,swapComponent:async p=>{v.value=(0,u.markRaw)(p.component),g.value=p.page,E.value=p.preserveState?E.value:Date.now()}}),k.router.on("navigate",()=>L.forceUpdate())),()=>{if(v.value){v.value.inheritAttrs=!!v.value.inheritAttrs;let p=(0,u.h)(v.value,{...g.value.props,key:E.value});return N.value&&(v.value.layout=N.value,N.value=null),v.value.layout?typeof v.value.layout=="function"?v.value.layout(u.h,p):(Array.isArray(v.value.layout)?v.value.layout:[v.value.layout]).concat(p).reverse().reduce((d,m)=>(m.inheritAttrs=!!m.inheritAttrs,(0,u.h)(m,{...g.value.props},()=>d))):p}}}}),G=be,K={install(e){k.router.form=$,Object.defineProperty(e.config.globalProperties,"$inertia",{get:()=>k.router}),Object.defineProperty(e.config.globalProperties,"$page",{get:()=>g.value}),Object.defineProperty(e.config.globalProperties,"$headManager",{get:()=>L}),e.mixin(Q)}};function X(){return(0,u.reactive)({props:(0,u.computed)(()=>g.value?.props),url:(0,u.computed)(()=>g.value?.url),component:(0,u.computed)(()=>g.value?.component),version:(0,u.computed)(()=>g.value?.version),clearHistory:(0,u.computed)(()=>g.value?.clearHistory),deferredProps:(0,u.computed)(()=>g.value?.deferredProps),mergeProps:(0,u.computed)(()=>g.value?.mergeProps),scrollRegions:(0,u.computed)(()=>g.value?.scrollRegions),rememberedState:(0,u.computed)(()=>g.value?.rememberedState),encryptHistory:(0,u.computed)(()=>g.value?.encryptHistory)})}var I=require("@inertiajs/core"),j=require("vue");async function H({id:e="app",resolve:t,setup:n,title:s,progress:r={},page:l,render:p}){let d=typeof window>"u",m=d?null:document.getElementById(e),b=l||JSON.parse(m.dataset.page),o=f=>Promise.resolve(t(f)).then(P=>P.default||P),i=[],a=await Promise.all([o(b.component),I.router.decryptHistory().catch(()=>{})]).then(([f])=>n({el:m,App:G,props:{initialPage:b,initialComponent:f,resolveComponent:o,titleCallback:s,onHeadUpdate:d?P=>i=P:null},plugin:K}));if(!d&&r&&(0,I.setupProgress)(r),d){let f=await p((0,j.createSSRApp)({render:()=>(0,j.h)("div",{id:e,"data-page":JSON.stringify(b),innerHTML:a?p(a):""})}));return{head:i,body:f}}}var Z=require("vue"),ee=(0,Z.defineComponent)({name:"Deferred",props:{data:{type:[String,Array],required:!0}},render(){let e=Array.isArray(this.$props.data)?this.$props.data:[this.$props.data];if(!this.$slots.fallback)throw new Error("`<Deferred>` requires a `<template #fallback>` slot");return e.every(t=>this.$page.props[t]!==void 0)?this.$slots.default():this.$slots.fallback()}});var te=require("vue"),Pe=(0,te.defineComponent)({props:{title:{type:String,required:!1}},data(){return{provider:this.$headManager.createProvider()}},beforeUnmount(){this.provider.disconnect()},methods:{isUnaryTag(e){return["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"].indexOf(e.type)>-1},renderTagStart(e){e.props=e.props||{},e.props.inertia=e.props["head-key"]!==void 0?e.props["head-key"]:"";let t=Object.keys(e.props).reduce((n,s)=>{let r=e.props[s];return["key","head-key"].includes(s)?n:r===""?n+` ${s}`:n+` ${s}="${r}"`},"");return`<${e.type}${t}>`},renderTagChildren(e){return typeof e.children=="string"?e.children:e.children.reduce((t,n)=>t+this.renderTag(n),"")},isFunctionNode(e){return typeof e.type=="function"},isComponentNode(e){return typeof e.type=="object"},isCommentNode(e){return/(comment|cmt)/i.test(e.type.toString())},isFragmentNode(e){return/(fragment|fgt|symbol\(\))/i.test(e.type.toString())},isTextNode(e){return/(text|txt)/i.test(e.type.toString())},renderTag(e){if(this.isTextNode(e))return e.children;if(this.isFragmentNode(e))return"";if(this.isCommentNode(e))return"";let t=this.renderTagStart(e);return e.children&&(t+=this.renderTagChildren(e)),this.isUnaryTag(e)||(t+=`</${e.type}>`),t},addTitleElement(e){return this.title&&!e.find(t=>t.startsWith("<title"))&&e.push(`<title inertia>${this.title}</title>`),e},renderNodes(e){return this.addTitleElement(e.flatMap(t=>this.resolveNode(t)).map(t=>this.renderTag(t)).filter(t=>t))},resolveNode(e){return this.isFunctionNode(e)?this.resolveNode(e.type()):this.isComponentNode(e)?(console.warn("Using components in the <Head> component is not supported."),[]):this.isTextNode(e)&&e.children?e:this.isFragmentNode(e)&&e.children?e.children.flatMap(t=>this.resolveNode(t)):this.isCommentNode(e)?[]:e}},render(){this.provider.update(this.renderNodes(this.$slots.default?this.$slots.default():[]))}}),re=Pe;var F=require("@inertiajs/core"),h=require("vue"),Te=(0,h.defineComponent)({name:"Link",props:{as:{type:String,default:"a"},data:{type:Object,default:()=>({})},href:{type:String,required:!0},method:{type:String,default:"get"},replace:{type:Boolean,default:!1},preserveScroll:{type:Boolean,default:!1},preserveState:{type:Boolean,default:null},only:{type:Array,default:()=>[]},except:{type:Array,default:()=>[]},headers:{type:Object,default:()=>({})},queryStringArrayFormat:{type:String,default:"brackets"},async:{type:Boolean,default:!1},prefetch:{type:[Boolean,String,Array],default:!1},cacheFor:{type:[Number,String,Array],default:0},onStart:{type:Function,default:e=>{}},onProgress:{type:Function,default:()=>{}},onFinish:{type:Function,default:()=>{}},onBefore:{type:Function,default:()=>{}},onCancel:{type:Function,default:()=>{}},onSuccess:{type:Function,default:()=>{}},onError:{type:Function,default:()=>{}},onCancelToken:{type:Function,default:()=>{}}},setup(e,{slots:t,attrs:n}){let s=(0,h.ref)(0),r=(0,h.ref)(null),l=(()=>e.prefetch===!0?["hover"]:e.prefetch===!1?[]:Array.isArray(e.prefetch)?e.prefetch:[e.prefetch])(),p=(()=>e.cacheFor!==0?e.cacheFor:l.length===1&&l[0]==="click"?0:3e4)();(0,h.onMounted)(()=>{l.includes("mount")&&c()}),(0,h.onUnmounted)(()=>{clearTimeout(r.value)});let d=e.method.toLowerCase(),m=d!=="get"?"button":e.as.toLowerCase(),b=(0,h.computed)(()=>(0,F.mergeDataIntoQueryString)(d,e.href||"",e.data,e.queryStringArrayFormat)),o=(0,h.computed)(()=>b.value[0]),i=(0,h.computed)(()=>b.value[1]),a=(0,h.computed)(()=>({a:{href:o.value},button:{type:"button"}})),f={data:i.value,method:d,replace:e.replace,preserveScroll:e.preserveScroll,preserveState:e.preserveState??d!=="get",only:e.only,except:e.except,headers:e.headers,async:e.async},P={...f,onCancelToken:e.onCancelToken,onBefore:e.onBefore,onStart:y=>{s.value++,e.onStart(y)},onProgress:e.onProgress,onFinish:y=>{s.value--,e.onFinish(y)},onCancel:e.onCancel,onSuccess:e.onSuccess,onError:e.onError},c=()=>{F.router.prefetch(o.value,f,{cacheFor:p})},w={onClick:y=>{(0,F.shouldIntercept)(y)&&(y.preventDefault(),F.router.visit(o.value,P))}},ue={onMouseenter:()=>{r.value=setTimeout(()=>{c()},75)},onMouseleave:()=>{clearTimeout(r.value)},onClick:w.onClick},pe={onMousedown:y=>{(0,F.shouldIntercept)(y)&&(y.preventDefault(),c())},onMouseup:y=>{y.preventDefault(),F.router.visit(o.value,P)},onClick:y=>{(0,F.shouldIntercept)(y)&&y.preventDefault()}};return()=>(0,h.h)(m,{...n,...a.value[m]||{},"data-loading":s.value>0?"":void 0,...(()=>l.includes("hover")?ue:l.includes("click")?pe:w)()},t)}}),oe=Te;var ne=require("@inertiajs/core"),R=require("vue");function B(e,t={},n={keepAlive:!1,autoStart:!0}){let{stop:s,start:r}=ne.router.poll(e,t,{...n,autoStart:!1});return(0,R.onMounted)(()=>{(n.autoStart??!0)&&r()}),(0,R.onUnmounted)(()=>{s()}),{stop:s,start:r}}var x=require("@inertiajs/core"),S=require("vue");function q(e={}){let t=(0,S.ref)(!1),n=(0,S.ref)(null),s=(0,S.ref)(!1),r=typeof window>"u"?null:x.router.getCached(window.location.pathname,e),l=typeof window>"u"?null:x.router.getPrefetching(window.location.pathname,e);n.value=r?.staleTimestamp||null,t.value=l!==null,s.value=r!==null;let p,d;return(0,S.onMounted)(()=>{d=x.router.on("prefetching",m=>{m.detail.visit.url.pathname===window.location.pathname&&(t.value=!0)}),p=x.router.on("prefetched",m=>{m.detail.visit.url.pathname===window.location.pathname&&(t.value=!1,s.value=!0)})}),(0,S.onUnmounted)(()=>{p(),d()}),{lastUpdatedAt:n,isPrefetching:t,isPrefetched:s,flush:()=>x.router.flush(window.location.pathname,e)}}var U=require("@inertiajs/core"),se=D(require("lodash.clonedeep"),1),C=require("vue");function W(e,t){if(typeof e=="object"&&e!==null&&e.__rememberable===!1)return e;let n=U.router.restore(t),s=(0,C.isReactive)(e)?C.reactive:C.ref,r=typeof e.__remember=="function"&&typeof e.__restore=="function",l=s(n===void 0?e:r?e.__restore(n):n);return(0,C.watch)(l,p=>{U.router.remember((0,se.default)(r?e.__remember():p),t)},{immediate:!0,deep:!0}),l}var ie=require("@inertiajs/core"),V=require("vue"),ae=(0,V.defineComponent)({name:"WhenVisible",props:{data:{type:[String,Array]},params:{type:Object},buffer:{type:Number,default:0},as:{type:String,default:"div"},always:{type:Boolean,default:!1}},data(){return{loaded:!1,fetching:!1,observer:null}},unmounted(){this.observer?.disconnect()},mounted(){this.observer=new IntersectionObserver(e=>{if(!e[0].isIntersecting||(this.$props.always||this.observer.disconnect(),this.fetching))return;this.fetching=!0;let t=this.getReloadParams();ie.router.reload({...t,onStart:n=>{this.fetching=!0,t.onStart?.(n)},onFinish:n=>{this.loaded=!0,this.fetching=!1,t.onFinish?.(n)}})},{rootMargin:`${this.$props.buffer}px`}),this.observer.observe(this.$el.nextSibling)},methods:{getReloadParams(){if(this.$props.data)return{only:Array.isArray(this.$props.data)?this.$props.data:[this.$props.data]};if(!this.$props.params)throw new Error("You must provide either a `data` or `params` prop.");return this.$props.params}},render(){let e=[];return(this.$props.always||!this.loaded)&&e.push((0,V.h)(this.$props.as)),this.loaded?this.$slots.default&&e.push(this.$slots.default()):e.push(this.$slots.fallback?this.$slots.fallback():null),e}});
1
+ var ce=Object.create;var w=Object.defineProperty;var fe=Object.getOwnPropertyDescriptor;var me=Object.getOwnPropertyNames;var de=Object.getPrototypeOf,he=Object.prototype.hasOwnProperty;var ge=(e,t)=>{for(var n in t)w(e,n,{get:t[n],enumerable:!0})},J=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of me(t))!he.call(e,r)&&r!==n&&w(e,r,{get:()=>t[r],enumerable:!(s=fe(t,r))||s.enumerable});return e};var D=(e,t,n)=>(n=e!=null?ce(de(e)):{},J(t||!e||!e.__esModule?w(n,"default",{value:e,enumerable:!0}):n,e)),ye=e=>J(w({},"__esModule",{value:!0}),e);var Te={};ge(Te,{Deferred:()=>ee,Head:()=>re,Link:()=>oe,WhenVisible:()=>ae,createInertiaApp:()=>H,router:()=>le.router,useForm:()=>$,usePage:()=>X,usePoll:()=>B,usePrefetch:()=>q,useRemember:()=>W});module.exports=ye(Te);var le=require("@inertiajs/core");var k=require("@inertiajs/core"),p=require("vue");var N=require("@inertiajs/core"),Y=D(require("lodash.clonedeep"),1),ve={created(){if(!this.$options.remember)return;Array.isArray(this.$options.remember)&&(this.$options.remember={data:this.$options.remember}),typeof this.$options.remember=="string"&&(this.$options.remember={data:[this.$options.remember]}),typeof this.$options.remember.data=="string"&&(this.$options.remember={data:[this.$options.remember.data]});let e=this.$options.remember.key instanceof Function?this.$options.remember.key.call(this):this.$options.remember.key,t=N.router.restore(e),n=this.$options.remember.data.filter(r=>!(this[r]!==null&&typeof this[r]=="object"&&this[r].__rememberable===!1)),s=r=>this[r]!==null&&typeof this[r]=="object"&&typeof this[r].__remember=="function"&&typeof this[r].__restore=="function";n.forEach(r=>{this[r]!==void 0&&t!==void 0&&t[r]!==void 0&&(s(r)?this[r].__restore(t[r]):this[r]=t[r]),this.$watch(r,()=>{N.router.remember(n.reduce((l,u)=>({...l,[u]:(0,Y.default)(s(u)?this[u].__remember():this[u])}),{}),e)},{immediate:!0,deep:!0})})}},Q=ve;var A=require("@inertiajs/core"),F=D(require("lodash.clonedeep"),1),z=D(require("lodash.isequal"),1),_=require("vue");function $(e,t){let n=typeof e=="string"?e:null,s=(typeof e=="string"?t:e)??{},r=n?A.router.restore(n):null,l=typeof s=="function"?(0,F.default)(s()):(0,F.default)(s),u=null,m=null,d=o=>o,b=(0,_.reactive)({...r?r.data:(0,F.default)(l),isDirty:!1,errors:r?r.errors:{},hasErrors:!1,processing:!1,progress:null,wasSuccessful:!1,recentlySuccessful:!1,data(){return Object.keys(l).reduce((o,i)=>(o[i]=this[i],o),{})},transform(o){return d=o,this},defaults(o,i){if(typeof s=="function")throw new Error("You cannot call `defaults()` when using a function to define your form data.");return typeof o>"u"?(l=this.data(),this.isDirty=!1):l=Object.assign({},(0,F.default)(l),typeof o=="string"?{[o]:i}:o),this},reset(...o){let i=typeof s=="function"?(0,F.default)(s()):(0,F.default)(l),a=(0,F.default)(i);return o.length===0?(l=a,Object.assign(this,i)):Object.keys(i).filter(f=>o.includes(f)).forEach(f=>{l[f]=a[f],this[f]=i[f]}),this},setError(o,i){return Object.assign(this.errors,typeof o=="string"?{[o]:i}:o),this.hasErrors=Object.keys(this.errors).length>0,this},clearErrors(...o){return this.errors=Object.keys(this.errors).reduce((i,a)=>({...i,...o.length>0&&!o.includes(a)?{[a]:this.errors[a]}:{}}),{}),this.hasErrors=Object.keys(this.errors).length>0,this},submit(o,i,a={}){let f=d(this.data()),P={...a,onCancelToken:c=>{if(u=c,a.onCancelToken)return a.onCancelToken(c)},onBefore:c=>{if(this.wasSuccessful=!1,this.recentlySuccessful=!1,clearTimeout(m),a.onBefore)return a.onBefore(c)},onStart:c=>{if(this.processing=!0,a.onStart)return a.onStart(c)},onProgress:c=>{if(this.progress=c,a.onProgress)return a.onProgress(c)},onSuccess:async c=>{this.processing=!1,this.progress=null,this.clearErrors(),this.wasSuccessful=!0,this.recentlySuccessful=!0,m=setTimeout(()=>this.recentlySuccessful=!1,2e3);let O=a.onSuccess?await a.onSuccess(c):null;return l=(0,F.default)(this.data()),this.isDirty=!1,O},onError:c=>{if(this.processing=!1,this.progress=null,this.clearErrors().setError(c),a.onError)return a.onError(c)},onCancel:()=>{if(this.processing=!1,this.progress=null,a.onCancel)return a.onCancel()},onFinish:c=>{if(this.processing=!1,this.progress=null,u=null,a.onFinish)return a.onFinish(c)}};o==="delete"?A.router.delete(i,{...P,data:f}):A.router[o](i,f,P)},get(o,i){this.submit("get",o,i)},post(o,i){this.submit("post",o,i)},put(o,i){this.submit("put",o,i)},patch(o,i){this.submit("patch",o,i)},delete(o,i){this.submit("delete",o,i)},cancel(){u&&u.cancel()},__rememberable:n===null,__remember(){return{data:this.data(),errors:this.errors}},__restore(o){Object.assign(this,o.data),this.setError(o.errors)}});return(0,_.watch)(b,o=>{b.isDirty=!(0,z.default)(b.data(),l),n&&A.router.remember((0,F.default)(o.__remember()),n)},{immediate:!0,deep:!0}),b}var v=(0,p.ref)(null),y=(0,p.ref)(null),V=(0,p.shallowRef)(null),E=(0,p.ref)(null),L=null,be=(0,p.defineComponent)({name:"Inertia",props:{initialPage:{type:Object,required:!0},initialComponent:{type:Object,required:!1},resolveComponent:{type:Function,required:!1},titleCallback:{type:Function,required:!1,default:e=>e},onHeadUpdate:{type:Function,required:!1,default:()=>()=>{}}},setup({initialPage:e,initialComponent:t,resolveComponent:n,titleCallback:s,onHeadUpdate:r}){v.value=t?(0,p.markRaw)(t):null,y.value=e,E.value=null;let l=typeof window>"u";return L=(0,k.createHeadManager)(l,s,r),l||(k.router.init({initialPage:e,resolveComponent:n,swapComponent:async u=>{v.value=(0,p.markRaw)(u.component),y.value=u.page,E.value=u.preserveState?E.value:Date.now()}}),k.router.on("navigate",()=>L.forceUpdate())),()=>{if(v.value){v.value.inheritAttrs=!!v.value.inheritAttrs;let u=(0,p.h)(v.value,{...y.value.props,key:E.value});return V.value&&(v.value.layout=V.value,V.value=null),v.value.layout?typeof v.value.layout=="function"?v.value.layout(p.h,u):(Array.isArray(v.value.layout)?v.value.layout:[v.value.layout]).concat(u).reverse().reduce((m,d)=>(d.inheritAttrs=!!d.inheritAttrs,(0,p.h)(d,{...y.value.props},()=>m))):u}}}}),G=be,K={install(e){k.router.form=$,Object.defineProperty(e.config.globalProperties,"$inertia",{get:()=>k.router}),Object.defineProperty(e.config.globalProperties,"$page",{get:()=>y.value}),Object.defineProperty(e.config.globalProperties,"$headManager",{get:()=>L}),e.mixin(Q)}};function X(){return(0,p.reactive)({props:(0,p.computed)(()=>y.value?.props),url:(0,p.computed)(()=>y.value?.url),component:(0,p.computed)(()=>y.value?.component),version:(0,p.computed)(()=>y.value?.version),clearHistory:(0,p.computed)(()=>y.value?.clearHistory),deferredProps:(0,p.computed)(()=>y.value?.deferredProps),mergeProps:(0,p.computed)(()=>y.value?.mergeProps),rememberedState:(0,p.computed)(()=>y.value?.rememberedState),encryptHistory:(0,p.computed)(()=>y.value?.encryptHistory)})}var I=require("@inertiajs/core"),R=require("vue");async function H({id:e="app",resolve:t,setup:n,title:s,progress:r={},page:l,render:u}){let m=typeof window>"u",d=m?null:document.getElementById(e),b=l||JSON.parse(d.dataset.page),o=f=>Promise.resolve(t(f)).then(P=>P.default||P),i=[],a=await Promise.all([o(b.component),I.router.decryptHistory().catch(()=>{})]).then(([f])=>n({el:d,App:G,props:{initialPage:b,initialComponent:f,resolveComponent:o,titleCallback:s,onHeadUpdate:m?P=>i=P:null},plugin:K}));if(!m&&r&&(0,I.setupProgress)(r),m){let f=await u((0,R.createSSRApp)({render:()=>(0,R.h)("div",{id:e,"data-page":JSON.stringify(b),innerHTML:a?u(a):""})}));return{head:i,body:f}}}var Z=require("vue"),ee=(0,Z.defineComponent)({name:"Deferred",props:{data:{type:[String,Array],required:!0}},render(){let e=Array.isArray(this.$props.data)?this.$props.data:[this.$props.data];if(!this.$slots.fallback)throw new Error("`<Deferred>` requires a `<template #fallback>` slot");return e.every(t=>this.$page.props[t]!==void 0)?this.$slots.default():this.$slots.fallback()}});var te=require("vue"),Pe=(0,te.defineComponent)({props:{title:{type:String,required:!1}},data(){return{provider:this.$headManager.createProvider()}},beforeUnmount(){this.provider.disconnect()},methods:{isUnaryTag(e){return["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"].indexOf(e.type)>-1},renderTagStart(e){e.props=e.props||{},e.props.inertia=e.props["head-key"]!==void 0?e.props["head-key"]:"";let t=Object.keys(e.props).reduce((n,s)=>{let r=e.props[s];return["key","head-key"].includes(s)?n:r===""?n+` ${s}`:n+` ${s}="${r}"`},"");return`<${e.type}${t}>`},renderTagChildren(e){return typeof e.children=="string"?e.children:e.children.reduce((t,n)=>t+this.renderTag(n),"")},isFunctionNode(e){return typeof e.type=="function"},isComponentNode(e){return typeof e.type=="object"},isCommentNode(e){return/(comment|cmt)/i.test(e.type.toString())},isFragmentNode(e){return/(fragment|fgt|symbol\(\))/i.test(e.type.toString())},isTextNode(e){return/(text|txt)/i.test(e.type.toString())},renderTag(e){if(this.isTextNode(e))return e.children;if(this.isFragmentNode(e))return"";if(this.isCommentNode(e))return"";let t=this.renderTagStart(e);return e.children&&(t+=this.renderTagChildren(e)),this.isUnaryTag(e)||(t+=`</${e.type}>`),t},addTitleElement(e){return this.title&&!e.find(t=>t.startsWith("<title"))&&e.push(`<title inertia>${this.title}</title>`),e},renderNodes(e){return this.addTitleElement(e.flatMap(t=>this.resolveNode(t)).map(t=>this.renderTag(t)).filter(t=>t))},resolveNode(e){return this.isFunctionNode(e)?this.resolveNode(e.type()):this.isComponentNode(e)?(console.warn("Using components in the <Head> component is not supported."),[]):this.isTextNode(e)&&e.children?e:this.isFragmentNode(e)&&e.children?e.children.flatMap(t=>this.resolveNode(t)):this.isCommentNode(e)?[]:e}},render(){this.provider.update(this.renderNodes(this.$slots.default?this.$slots.default():[]))}}),re=Pe;var T=require("@inertiajs/core"),h=require("vue"),Fe=(0,h.defineComponent)({name:"Link",props:{as:{type:String,default:"a"},data:{type:Object,default:()=>({})},href:{type:String,required:!0},method:{type:String,default:"get"},replace:{type:Boolean,default:!1},preserveScroll:{type:Boolean,default:!1},preserveState:{type:Boolean,default:null},only:{type:Array,default:()=>[]},except:{type:Array,default:()=>[]},headers:{type:Object,default:()=>({})},queryStringArrayFormat:{type:String,default:"brackets"},async:{type:Boolean,default:!1},prefetch:{type:[Boolean,String,Array],default:!1},cacheFor:{type:[Number,String,Array],default:0},onStart:{type:Function,default:e=>{}},onProgress:{type:Function,default:()=>{}},onFinish:{type:Function,default:()=>{}},onBefore:{type:Function,default:()=>{}},onCancel:{type:Function,default:()=>{}},onSuccess:{type:Function,default:()=>{}},onError:{type:Function,default:()=>{}},onCancelToken:{type:Function,default:()=>{}}},setup(e,{slots:t,attrs:n}){let s=(0,h.ref)(0),r=(0,h.ref)(null),l=(()=>e.prefetch===!0?["hover"]:e.prefetch===!1?[]:Array.isArray(e.prefetch)?e.prefetch:[e.prefetch])(),u=(()=>e.cacheFor!==0?e.cacheFor:l.length===1&&l[0]==="click"?0:3e4)();(0,h.onMounted)(()=>{l.includes("mount")&&c()}),(0,h.onUnmounted)(()=>{clearTimeout(r.value)});let m=e.method.toLowerCase(),d=m!=="get"?"button":e.as.toLowerCase(),b=(0,h.computed)(()=>(0,T.mergeDataIntoQueryString)(m,e.href||"",e.data,e.queryStringArrayFormat)),o=(0,h.computed)(()=>b.value[0]),i=(0,h.computed)(()=>b.value[1]),a=(0,h.computed)(()=>({a:{href:o.value},button:{type:"button"}})),f={data:i.value,method:m,replace:e.replace,preserveScroll:e.preserveScroll,preserveState:e.preserveState??m!=="get",only:e.only,except:e.except,headers:e.headers,async:e.async},P={...f,onCancelToken:e.onCancelToken,onBefore:e.onBefore,onStart:g=>{s.value++,e.onStart(g)},onProgress:e.onProgress,onFinish:g=>{s.value--,e.onFinish(g)},onCancel:e.onCancel,onSuccess:e.onSuccess,onError:e.onError},c=()=>{T.router.prefetch(o.value,f,{cacheFor:u})},O={onClick:g=>{(0,T.shouldIntercept)(g)&&(g.preventDefault(),T.router.visit(o.value,P))}},ue={onMouseenter:()=>{r.value=setTimeout(()=>{c()},75)},onMouseleave:()=>{clearTimeout(r.value)},onClick:O.onClick},pe={onMousedown:g=>{(0,T.shouldIntercept)(g)&&(g.preventDefault(),c())},onMouseup:g=>{g.preventDefault(),T.router.visit(o.value,P)},onClick:g=>{(0,T.shouldIntercept)(g)&&g.preventDefault()}};return()=>(0,h.h)(d,{...n,...a.value[d]||{},"data-loading":s.value>0?"":void 0,...(()=>l.includes("hover")?ue:l.includes("click")?pe:O)()},t)}}),oe=Fe;var ne=require("@inertiajs/core"),j=require("vue");function B(e,t={},n={keepAlive:!1,autoStart:!0}){let{stop:s,start:r}=ne.router.poll(e,t,{...n,autoStart:!1});return(0,j.onMounted)(()=>{(n.autoStart??!0)&&r()}),(0,j.onUnmounted)(()=>{s()}),{stop:s,start:r}}var x=require("@inertiajs/core"),S=require("vue");function q(e={}){let t=(0,S.ref)(!1),n=(0,S.ref)(null),s=(0,S.ref)(!1),r=typeof window>"u"?null:x.router.getCached(window.location.pathname,e),l=typeof window>"u"?null:x.router.getPrefetching(window.location.pathname,e);n.value=r?.staleTimestamp||null,t.value=l!==null,s.value=r!==null;let u,m;return(0,S.onMounted)(()=>{m=x.router.on("prefetching",d=>{d.detail.visit.url.pathname===window.location.pathname&&(t.value=!0)}),u=x.router.on("prefetched",d=>{d.detail.visit.url.pathname===window.location.pathname&&(t.value=!1,s.value=!0)})}),(0,S.onUnmounted)(()=>{u(),m()}),{lastUpdatedAt:n,isPrefetching:t,isPrefetched:s,flush:()=>x.router.flush(window.location.pathname,e)}}var U=require("@inertiajs/core"),se=D(require("lodash.clonedeep"),1),C=require("vue");function W(e,t){if(typeof e=="object"&&e!==null&&e.__rememberable===!1)return e;let n=U.router.restore(t),s=(0,C.isReactive)(e)?C.reactive:C.ref,r=typeof e.__remember=="function"&&typeof e.__restore=="function",l=s(n===void 0?e:r?e.__restore(n):n);return(0,C.watch)(l,u=>{U.router.remember((0,se.default)(r?e.__remember():u),t)},{immediate:!0,deep:!0}),l}var ie=require("@inertiajs/core"),M=require("vue"),ae=(0,M.defineComponent)({name:"WhenVisible",props:{data:{type:[String,Array]},params:{type:Object},buffer:{type:Number,default:0},as:{type:String,default:"div"},always:{type:Boolean,default:!1}},data(){return{loaded:!1,fetching:!1,observer:null}},unmounted(){this.observer?.disconnect()},mounted(){this.observer=new IntersectionObserver(e=>{if(!e[0].isIntersecting||(this.$props.always||this.observer.disconnect(),this.fetching))return;this.fetching=!0;let t=this.getReloadParams();ie.router.reload({...t,onStart:n=>{this.fetching=!0,t.onStart?.(n)},onFinish:n=>{this.loaded=!0,this.fetching=!1,t.onFinish?.(n)}})},{rootMargin:`${this.$props.buffer}px`}),this.observer.observe(this.$el.nextSibling)},methods:{getReloadParams(){if(this.$props.data)return{only:Array.isArray(this.$props.data)?this.$props.data:[this.$props.data]};if(!this.$props.params)throw new Error("You must provide either a `data` or `params` prop.");return this.$props.params}},render(){let e=[];return(this.$props.always||!this.loaded)&&e.push((0,M.h)(this.$props.as)),this.loaded?this.$slots.default&&e.push(this.$slots.default()):e.push(this.$slots.fallback?this.$slots.fallback():null),e}});
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts", "../src/app.ts", "../src/remember.ts", "../src/useForm.ts", "../src/createInertiaApp.ts", "../src/deferred.ts", "../src/head.ts", "../src/link.ts", "../src/usePoll.ts", "../src/usePrefetch.ts", "../src/useRemember.ts", "../src/whenVisible.ts"],
4
- "sourcesContent": ["export { router } from '@inertiajs/core'\nexport { usePage } from './app'\nexport { default as createInertiaApp } from './createInertiaApp'\nexport { default as Deferred } from './deferred'\nexport { default as Head } from './head'\nexport { InertiaLinkProps, default as Link } from './link'\nexport * from './types'\nexport { InertiaForm, default as useForm } from './useForm'\nexport { default as usePoll } from './usePoll'\nexport { default as usePrefetch } from './usePrefetch'\nexport { default as useRemember } from './useRemember'\nexport { default as WhenVisible } from './whenVisible'\n", "import { createHeadManager, Page, PageProps, router } from '@inertiajs/core'\nimport {\n computed,\n DefineComponent,\n defineComponent,\n h,\n markRaw,\n Plugin,\n PropType,\n reactive,\n ref,\n shallowRef,\n} from 'vue'\nimport remember from './remember'\nimport { VuePageHandlerArgs } from './types'\nimport useForm from './useForm'\n\nexport interface InertiaAppProps {\n initialPage: Page\n initialComponent?: object\n resolveComponent?: (name: string) => DefineComponent | Promise<DefineComponent>\n titleCallback?: (title: string) => string\n onHeadUpdate?: (elements: string[]) => void\n}\n\nexport type InertiaApp = DefineComponent<InertiaAppProps>\n\nconst component = ref(null)\nconst page = ref<Page<any>>(null)\nconst layout = shallowRef(null)\nconst key = ref(null)\nlet headManager = null\n\nconst App: InertiaApp = defineComponent({\n name: 'Inertia',\n props: {\n initialPage: {\n type: Object as PropType<Page>,\n required: true,\n },\n initialComponent: {\n type: Object,\n required: false,\n },\n resolveComponent: {\n type: Function as PropType<(name: string) => DefineComponent | Promise<DefineComponent>>,\n required: false,\n },\n titleCallback: {\n type: Function as PropType<(title: string) => string>,\n required: false,\n default: (title) => title,\n },\n onHeadUpdate: {\n type: Function as PropType<(elements: string[]) => void>,\n required: false,\n default: () => () => {},\n },\n },\n setup({ initialPage, initialComponent, resolveComponent, titleCallback, onHeadUpdate }) {\n component.value = initialComponent ? markRaw(initialComponent) : null\n page.value = initialPage\n key.value = null\n\n const isServer = typeof window === 'undefined'\n headManager = createHeadManager(isServer, titleCallback, onHeadUpdate)\n\n if (!isServer) {\n router.init({\n initialPage,\n resolveComponent,\n swapComponent: async (args: VuePageHandlerArgs) => {\n component.value = markRaw(args.component)\n page.value = args.page\n key.value = args.preserveState ? key.value : Date.now()\n },\n })\n\n router.on('navigate', () => headManager.forceUpdate())\n }\n\n return () => {\n if (component.value) {\n component.value.inheritAttrs = !!component.value.inheritAttrs\n\n const child = h(component.value, {\n ...page.value.props,\n key: key.value,\n })\n\n if (layout.value) {\n component.value.layout = layout.value\n layout.value = null\n }\n\n if (component.value.layout) {\n if (typeof component.value.layout === 'function') {\n return component.value.layout(h, child)\n }\n\n return (Array.isArray(component.value.layout) ? component.value.layout : [component.value.layout])\n .concat(child)\n .reverse()\n .reduce((child, layout) => {\n layout.inheritAttrs = !!layout.inheritAttrs\n return h(layout, { ...page.value.props }, () => child)\n })\n }\n\n return child\n }\n }\n },\n})\nexport default App\n\nexport const plugin: Plugin = {\n install(app) {\n router.form = useForm\n\n Object.defineProperty(app.config.globalProperties, '$inertia', { get: () => router })\n Object.defineProperty(app.config.globalProperties, '$page', { get: () => page.value })\n Object.defineProperty(app.config.globalProperties, '$headManager', { get: () => headManager })\n\n app.mixin(remember)\n },\n}\n\nexport function usePage<SharedProps extends PageProps>(): Page<SharedProps> {\n return reactive({\n props: computed(() => page.value?.props),\n url: computed(() => page.value?.url),\n component: computed(() => page.value?.component),\n version: computed(() => page.value?.version),\n clearHistory: computed(() => page.value?.clearHistory),\n deferredProps: computed(() => page.value?.deferredProps),\n mergeProps: computed(() => page.value?.mergeProps),\n scrollRegions: computed(() => page.value?.scrollRegions),\n rememberedState: computed(() => page.value?.rememberedState),\n encryptHistory: computed(() => page.value?.encryptHistory),\n })\n}\n", "import { router } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport { ComponentOptions } from 'vue'\n\nconst remember: ComponentOptions = {\n created() {\n if (!this.$options.remember) {\n return\n }\n\n if (Array.isArray(this.$options.remember)) {\n this.$options.remember = { data: this.$options.remember }\n }\n\n if (typeof this.$options.remember === 'string') {\n this.$options.remember = { data: [this.$options.remember] }\n }\n\n if (typeof this.$options.remember.data === 'string') {\n this.$options.remember = { data: [this.$options.remember.data] }\n }\n\n const rememberKey =\n this.$options.remember.key instanceof Function\n ? this.$options.remember.key.call(this)\n : this.$options.remember.key\n\n const restored = router.restore(rememberKey)\n\n const rememberable = this.$options.remember.data.filter((key) => {\n return !(this[key] !== null && typeof this[key] === 'object' && this[key].__rememberable === false)\n })\n\n const hasCallbacks = (key) => {\n return (\n this[key] !== null &&\n typeof this[key] === 'object' &&\n typeof this[key].__remember === 'function' &&\n typeof this[key].__restore === 'function'\n )\n }\n\n rememberable.forEach((key) => {\n if (this[key] !== undefined && restored !== undefined && restored[key] !== undefined) {\n hasCallbacks(key) ? this[key].__restore(restored[key]) : (this[key] = restored[key])\n }\n\n this.$watch(\n key,\n () => {\n router.remember(\n rememberable.reduce(\n (data, key) => ({\n ...data,\n [key]: cloneDeep(hasCallbacks(key) ? this[key].__remember() : this[key]),\n }),\n {},\n ),\n rememberKey,\n )\n },\n { immediate: true, deep: true },\n )\n })\n },\n}\n\nexport default remember\n", "import { FormDataConvertible, Method, Progress, router, VisitOptions } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport isEqual from 'lodash.isequal'\nimport { reactive, watch } from 'vue'\n\ntype FormDataType = object\n\ninterface InertiaFormProps<TForm extends FormDataType> {\n isDirty: boolean\n errors: Partial<Record<keyof TForm, string>>\n hasErrors: boolean\n processing: boolean\n progress: Progress | null\n wasSuccessful: boolean\n recentlySuccessful: boolean\n data(): TForm\n transform(callback: (data: TForm) => object): this\n defaults(): this\n defaults(field: keyof TForm, value: FormDataConvertible): this\n defaults(fields: Partial<TForm>): this\n reset(...fields: (keyof TForm)[]): this\n clearErrors(...fields: (keyof TForm)[]): this\n setError(field: keyof TForm, value: string): this\n setError(errors: Record<keyof TForm, string>): this\n submit(method: Method, url: string, options?: Partial<VisitOptions>): void\n get(url: string, options?: Partial<VisitOptions>): void\n post(url: string, options?: Partial<VisitOptions>): void\n put(url: string, options?: Partial<VisitOptions>): void\n patch(url: string, options?: Partial<VisitOptions>): void\n delete(url: string, options?: Partial<VisitOptions>): void\n cancel(): void\n}\n\nexport type InertiaForm<TForm extends FormDataType> = TForm & InertiaFormProps<TForm>\n\nexport default function useForm<TForm extends FormDataType>(data: TForm | (() => TForm)): InertiaForm<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKey: string,\n data: TForm | (() => TForm),\n): InertiaForm<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKeyOrData: string | TForm | (() => TForm),\n maybeData?: TForm | (() => TForm),\n): InertiaForm<TForm> {\n const rememberKey = typeof rememberKeyOrData === 'string' ? rememberKeyOrData : null\n const data = typeof rememberKeyOrData === 'string' ? maybeData : rememberKeyOrData\n const restored = rememberKey\n ? (router.restore(rememberKey) as { data: TForm; errors: Record<keyof TForm, string> })\n : null\n let defaults = typeof data === 'object' ? cloneDeep(data) : cloneDeep(data())\n let cancelToken = null\n let recentlySuccessfulTimeoutId = null\n let transform = (data) => data\n\n const form = reactive({\n ...(restored ? restored.data : cloneDeep(defaults)),\n isDirty: false,\n errors: restored ? restored.errors : {},\n hasErrors: false,\n processing: false,\n progress: null,\n wasSuccessful: false,\n recentlySuccessful: false,\n data() {\n return (Object.keys(defaults) as Array<keyof TForm>).reduce((carry, key) => {\n carry[key] = this[key]\n return carry\n }, {} as Partial<TForm>) as TForm\n },\n transform(callback) {\n transform = callback\n\n return this\n },\n defaults(fieldOrFields?: keyof TForm | Partial<TForm>, maybeValue?: FormDataConvertible) {\n if (typeof data === 'function') {\n throw new Error('You cannot call `defaults()` when using a function to define your form data.')\n }\n\n if (typeof fieldOrFields === 'undefined') {\n defaults = this.data()\n } else {\n defaults = Object.assign(\n {},\n cloneDeep(defaults),\n typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : fieldOrFields,\n )\n }\n\n return this\n },\n reset(...fields) {\n const resolvedData = typeof data === 'object' ? cloneDeep(defaults) : cloneDeep(data())\n const clonedData = cloneDeep(resolvedData)\n if (fields.length === 0) {\n defaults = clonedData\n Object.assign(this, resolvedData)\n } else {\n Object.keys(resolvedData)\n .filter((key) => fields.includes(key))\n .forEach((key) => {\n defaults[key] = clonedData[key]\n this[key] = resolvedData[key]\n })\n }\n\n return this\n },\n setError(fieldOrFields: keyof TForm | Record<keyof TForm, string>, maybeValue?: string) {\n Object.assign(this.errors, typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : fieldOrFields)\n\n this.hasErrors = Object.keys(this.errors).length > 0\n\n return this\n },\n clearErrors(...fields) {\n this.errors = Object.keys(this.errors).reduce(\n (carry, field) => ({\n ...carry,\n ...(fields.length > 0 && !fields.includes(field) ? { [field]: this.errors[field] } : {}),\n }),\n {},\n )\n\n this.hasErrors = Object.keys(this.errors).length > 0\n\n return this\n },\n submit(method, url, options: VisitOptions = {}) {\n const data = transform(this.data())\n const _options = {\n ...options,\n onCancelToken: (token) => {\n cancelToken = token\n\n if (options.onCancelToken) {\n return options.onCancelToken(token)\n }\n },\n onBefore: (visit) => {\n this.wasSuccessful = false\n this.recentlySuccessful = false\n clearTimeout(recentlySuccessfulTimeoutId)\n\n if (options.onBefore) {\n return options.onBefore(visit)\n }\n },\n onStart: (visit) => {\n this.processing = true\n\n if (options.onStart) {\n return options.onStart(visit)\n }\n },\n onProgress: (event) => {\n this.progress = event\n\n if (options.onProgress) {\n return options.onProgress(event)\n }\n },\n onSuccess: async (page) => {\n this.processing = false\n this.progress = null\n this.clearErrors()\n this.wasSuccessful = true\n this.recentlySuccessful = true\n recentlySuccessfulTimeoutId = setTimeout(() => (this.recentlySuccessful = false), 2000)\n\n const onSuccess = options.onSuccess ? await options.onSuccess(page) : null\n defaults = cloneDeep(this.data())\n this.isDirty = false\n return onSuccess\n },\n onError: (errors) => {\n this.processing = false\n this.progress = null\n this.clearErrors().setError(errors)\n\n if (options.onError) {\n return options.onError(errors)\n }\n },\n onCancel: () => {\n this.processing = false\n this.progress = null\n\n if (options.onCancel) {\n return options.onCancel()\n }\n },\n onFinish: (visit) => {\n this.processing = false\n this.progress = null\n cancelToken = null\n\n if (options.onFinish) {\n return options.onFinish(visit)\n }\n },\n }\n\n if (method === 'delete') {\n router.delete(url, { ..._options, data })\n } else {\n router[method](url, data, _options)\n }\n },\n get(url, options) {\n this.submit('get', url, options)\n },\n post(url, options) {\n this.submit('post', url, options)\n },\n put(url, options) {\n this.submit('put', url, options)\n },\n patch(url, options) {\n this.submit('patch', url, options)\n },\n delete(url, options) {\n this.submit('delete', url, options)\n },\n cancel() {\n if (cancelToken) {\n cancelToken.cancel()\n }\n },\n __rememberable: rememberKey === null,\n __remember() {\n return { data: this.data(), errors: this.errors }\n },\n __restore(restored) {\n Object.assign(this, restored.data)\n this.setError(restored.errors)\n },\n })\n\n watch(\n form,\n (newValue) => {\n form.isDirty = !isEqual(form.data(), defaults)\n if (rememberKey) {\n router.remember(cloneDeep(newValue.__remember()), rememberKey)\n }\n },\n { immediate: true, deep: true },\n )\n\n return form\n}\n", "import { Page, router, setupProgress } from '@inertiajs/core'\nimport { DefineComponent, Plugin, App as VueApp, createSSRApp, h } from 'vue'\nimport App, { InertiaApp, InertiaAppProps, plugin } from './app'\n\ninterface CreateInertiaAppProps {\n id?: string\n resolve: (name: string) => DefineComponent | Promise<DefineComponent> | { default: DefineComponent }\n setup: (props: { el: Element; App: InertiaApp; props: InertiaAppProps; plugin: Plugin }) => void | VueApp\n title?: (title: string) => string\n progress?:\n | false\n | {\n delay?: number\n color?: string\n includeCSS?: boolean\n showSpinner?: boolean\n }\n page?: Page\n render?: (app: VueApp) => Promise<string>\n}\n\nexport default async function createInertiaApp({\n id = 'app',\n resolve,\n setup,\n title,\n progress = {},\n page,\n render,\n}: CreateInertiaAppProps): Promise<{ head: string[]; body: string }> {\n const isServer = typeof window === 'undefined'\n const el = isServer ? null : document.getElementById(id)\n const initialPage = page || JSON.parse(el.dataset.page)\n const resolveComponent = (name) => Promise.resolve(resolve(name)).then((module) => module.default || module)\n\n let head = []\n\n const vueApp = await Promise.all([\n resolveComponent(initialPage.component),\n router.decryptHistory().catch(() => {}),\n ]).then(([initialComponent]) => {\n return setup({\n el,\n App,\n props: {\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback: title,\n onHeadUpdate: isServer ? (elements) => (head = elements) : null,\n },\n plugin,\n })\n })\n\n if (!isServer && progress) {\n setupProgress(progress)\n }\n\n if (isServer) {\n const body = await render(\n createSSRApp({\n render: () =>\n h('div', {\n id,\n 'data-page': JSON.stringify(initialPage),\n innerHTML: vueApp ? render(vueApp) : '',\n }),\n }),\n )\n\n return { head, body }\n }\n}\n", "import { defineComponent } from 'vue'\n\nexport default defineComponent({\n name: 'Deferred',\n props: {\n data: {\n type: [String, Array<String>],\n required: true,\n },\n },\n render() {\n const keys = (Array.isArray(this.$props.data) ? this.$props.data : [this.$props.data]) as string[]\n\n if (!this.$slots.fallback) {\n throw new Error('`<Deferred>` requires a `<template #fallback>` slot')\n }\n\n return keys.every((key) => this.$page.props[key] !== undefined) ? this.$slots.default() : this.$slots.fallback()\n },\n})\n", "import { defineComponent, DefineComponent } from 'vue'\n\nexport type InertiaHead = DefineComponent<{\n title?: string\n}>\n\nconst Head: InertiaHead = defineComponent({\n props: {\n title: {\n type: String,\n required: false,\n },\n },\n data() {\n return {\n provider: this.$headManager.createProvider(),\n }\n },\n beforeUnmount() {\n this.provider.disconnect()\n },\n methods: {\n isUnaryTag(node) {\n return (\n [\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'keygen',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr',\n ].indexOf(node.type) > -1\n )\n },\n renderTagStart(node) {\n node.props = node.props || {}\n node.props.inertia = node.props['head-key'] !== undefined ? node.props['head-key'] : ''\n const attrs = Object.keys(node.props).reduce((carry, name) => {\n const value = node.props[name]\n if (['key', 'head-key'].includes(name)) {\n return carry\n } else if (value === '') {\n return carry + ` ${name}`\n } else {\n return carry + ` ${name}=\"${value}\"`\n }\n }, '')\n return `<${node.type}${attrs}>`\n },\n renderTagChildren(node) {\n return typeof node.children === 'string'\n ? node.children\n : node.children.reduce((html, child) => html + this.renderTag(child), '')\n },\n isFunctionNode(node) {\n return typeof node.type === 'function'\n },\n isComponentNode(node) {\n return typeof node.type === 'object'\n },\n isCommentNode(node) {\n return /(comment|cmt)/i.test(node.type.toString())\n },\n isFragmentNode(node) {\n return /(fragment|fgt|symbol\\(\\))/i.test(node.type.toString())\n },\n isTextNode(node) {\n return /(text|txt)/i.test(node.type.toString())\n },\n renderTag(node) {\n if (this.isTextNode(node)) {\n return node.children\n } else if (this.isFragmentNode(node)) {\n return ''\n } else if (this.isCommentNode(node)) {\n return ''\n }\n let html = this.renderTagStart(node)\n if (node.children) {\n html += this.renderTagChildren(node)\n }\n if (!this.isUnaryTag(node)) {\n html += `</${node.type}>`\n }\n return html\n },\n addTitleElement(elements) {\n if (this.title && !elements.find((tag) => tag.startsWith('<title'))) {\n elements.push(`<title inertia>${this.title}</title>`)\n }\n return elements\n },\n renderNodes(nodes) {\n return this.addTitleElement(\n nodes\n .flatMap((node) => this.resolveNode(node))\n .map((node) => this.renderTag(node))\n .filter((node) => node),\n )\n },\n resolveNode(node) {\n if (this.isFunctionNode(node)) {\n return this.resolveNode(node.type())\n } else if (this.isComponentNode(node)) {\n console.warn(`Using components in the <Head> component is not supported.`)\n return []\n } else if (this.isTextNode(node) && node.children) {\n return node\n } else if (this.isFragmentNode(node) && node.children) {\n return node.children.flatMap((child) => this.resolveNode(child))\n } else if (this.isCommentNode(node)) {\n return []\n } else {\n return node\n }\n },\n },\n render() {\n this.provider.update(this.renderNodes(this.$slots.default ? this.$slots.default() : []))\n },\n})\n\nexport default Head\n", "import {\n CacheForOption,\n FormDataConvertible,\n LinkPrefetchOption,\n mergeDataIntoQueryString,\n Method,\n PendingVisit,\n PreserveStateOption,\n Progress,\n router,\n shouldIntercept,\n} from '@inertiajs/core'\nimport { computed, defineComponent, DefineComponent, h, onMounted, onUnmounted, PropType, ref } from 'vue'\n\nexport interface InertiaLinkProps {\n as?: string\n data?: Record<string, FormDataConvertible>\n href: string\n method?: Method\n headers?: Record<string, string>\n onClick?: (event: MouseEvent) => void\n preserveScroll?: PreserveStateOption\n preserveState?: PreserveStateOption\n replace?: boolean\n only?: string[]\n except?: string[]\n onCancelToken?: (cancelToken: import('axios').CancelTokenSource) => void\n onBefore?: () => void\n onStart?: (visit: PendingVisit) => void\n onProgress?: (progress: Progress) => void\n onFinish?: (visit: PendingVisit) => void\n onCancel?: () => void\n onSuccess?: () => void\n onError?: () => void\n queryStringArrayFormat?: 'brackets' | 'indices'\n async?: boolean\n prefetch?: boolean | LinkPrefetchOption | LinkPrefetchOption[]\n cacheFor?: CacheForOption | CacheForOption[]\n}\n\ntype InertiaLink = DefineComponent<InertiaLinkProps>\n\n// @ts-ignore\nconst Link: InertiaLink = defineComponent({\n name: 'Link',\n props: {\n as: {\n type: String,\n default: 'a',\n },\n data: {\n type: Object,\n default: () => ({}),\n },\n href: {\n type: String,\n required: true,\n },\n method: {\n type: String as PropType<Method>,\n default: 'get',\n },\n replace: {\n type: Boolean,\n default: false,\n },\n preserveScroll: {\n type: Boolean,\n default: false,\n },\n preserveState: {\n type: Boolean,\n default: null,\n },\n only: {\n type: Array<string>,\n default: () => [],\n },\n except: {\n type: Array<string>,\n default: () => [],\n },\n headers: {\n type: Object,\n default: () => ({}),\n },\n queryStringArrayFormat: {\n type: String as PropType<'brackets' | 'indices'>,\n default: 'brackets',\n },\n async: {\n type: Boolean,\n default: false,\n },\n prefetch: {\n type: [Boolean, String, Array] as PropType<boolean | LinkPrefetchOption | LinkPrefetchOption[]>,\n default: false,\n },\n cacheFor: {\n type: [Number, String, Array] as PropType<CacheForOption | CacheForOption[]>,\n default: 0,\n },\n onStart: {\n type: Function as PropType<(visit: PendingVisit) => void>,\n default: (_visit: PendingVisit) => {},\n },\n onProgress: {\n type: Function as PropType<(progress: Progress) => void>,\n default: () => {},\n },\n onFinish: {\n type: Function as PropType<(visit: PendingVisit) => void>,\n default: () => {},\n },\n onBefore: {\n type: Function as PropType<() => void>,\n default: () => {},\n },\n onCancel: {\n type: Function as PropType<() => void>,\n default: () => {},\n },\n onSuccess: {\n type: Function as PropType<() => void>,\n default: () => {},\n },\n onError: {\n type: Function as PropType<() => void>,\n default: () => {},\n },\n onCancelToken: {\n type: Function as PropType<(cancelToken: import('axios').CancelTokenSource) => void>,\n default: () => {},\n },\n },\n setup(props, { slots, attrs }) {\n const inFlightCount = ref(0)\n const hoverTimeout = ref(null)\n\n const prefetchModes: LinkPrefetchOption[] = (() => {\n if (props.prefetch === true) {\n return ['hover']\n }\n\n if (props.prefetch === false) {\n return []\n }\n\n if (Array.isArray(props.prefetch)) {\n return props.prefetch\n }\n\n return [props.prefetch]\n })()\n\n const cacheForValue = (() => {\n if (props.cacheFor !== 0) {\n // If they've provided a value, respect it\n return props.cacheFor\n }\n\n if (prefetchModes.length === 1 && prefetchModes[0] === 'click') {\n // If they've only provided a prefetch mode of 'click',\n // we should only prefetch for the next request but not keep it around\n return 0\n }\n\n // Otherwise, default to 30 seconds\n return 30_000\n })()\n\n onMounted(() => {\n if (prefetchModes.includes('mount')) {\n prefetch()\n }\n })\n\n onUnmounted(() => {\n clearTimeout(hoverTimeout.value)\n })\n\n const method = props.method.toLowerCase() as Method\n const as = method !== 'get' ? 'button' : props.as.toLowerCase()\n const mergeDataArray = computed(() =>\n mergeDataIntoQueryString(method, props.href || '', props.data, props.queryStringArrayFormat),\n )\n const href = computed(() => mergeDataArray.value[0])\n const data = computed(() => mergeDataArray.value[1])\n\n const elProps = computed(() => ({\n a: { href: href.value },\n button: { type: 'button' },\n }))\n\n const baseParams = {\n data: data.value,\n method: method,\n replace: props.replace,\n preserveScroll: props.preserveScroll,\n preserveState: props.preserveState ?? method !== 'get',\n only: props.only,\n except: props.except,\n headers: props.headers,\n async: props.async,\n }\n\n const visitParams = {\n ...baseParams,\n onCancelToken: props.onCancelToken,\n onBefore: props.onBefore,\n onStart: (event) => {\n inFlightCount.value++\n props.onStart(event)\n },\n onProgress: props.onProgress,\n onFinish: (event) => {\n inFlightCount.value--\n props.onFinish(event)\n },\n onCancel: props.onCancel,\n onSuccess: props.onSuccess,\n onError: props.onError,\n }\n\n const prefetch = () => {\n router.prefetch(href.value, baseParams, { cacheFor: cacheForValue })\n }\n\n const regularEvents = {\n onClick: (event) => {\n if (shouldIntercept(event)) {\n event.preventDefault()\n router.visit(href.value, visitParams)\n }\n },\n }\n\n const prefetchHoverEvents = {\n onMouseenter: () => {\n hoverTimeout.value = setTimeout(() => {\n prefetch()\n }, 75)\n },\n onMouseleave: () => {\n clearTimeout(hoverTimeout.value)\n },\n onClick: regularEvents.onClick,\n }\n\n const prefetchClickEvents = {\n onMousedown: (event) => {\n if (shouldIntercept(event)) {\n event.preventDefault()\n prefetch()\n }\n },\n onMouseup: (event) => {\n event.preventDefault()\n router.visit(href.value, visitParams)\n },\n onClick: (event) => {\n if (shouldIntercept(event)) {\n // Let the mouseup event handle the visit\n event.preventDefault()\n }\n },\n }\n\n return () => {\n return h(\n as,\n {\n ...attrs,\n ...(elProps.value[as] || {}),\n 'data-loading': inFlightCount.value > 0 ? '' : undefined,\n ...(() => {\n if (prefetchModes.includes('hover')) {\n return prefetchHoverEvents\n }\n\n if (prefetchModes.includes('click')) {\n return prefetchClickEvents\n }\n\n return regularEvents\n })(),\n },\n slots,\n )\n }\n },\n})\n\nexport default Link\n", "import { PollOptions, ReloadOptions, router } from '@inertiajs/core'\nimport { onMounted, onUnmounted } from 'vue'\n\nexport default function usePoll(\n interval: number,\n requestOptions: ReloadOptions = {},\n options: PollOptions = {\n keepAlive: false,\n autoStart: true,\n },\n): {\n stop: VoidFunction\n start: VoidFunction\n} {\n const { stop, start } = router.poll(interval, requestOptions, {\n ...options,\n autoStart: false,\n })\n\n onMounted(() => {\n if (options.autoStart ?? true) {\n start()\n }\n })\n\n onUnmounted(() => {\n stop()\n })\n\n return {\n stop,\n start,\n }\n}\n", "import { router, VisitOptions } from '@inertiajs/core'\nimport { onMounted, onUnmounted, ref, Ref } from 'vue'\n\nexport default function usePrefetch(options: VisitOptions = {}): {\n lastUpdatedAt: Ref<number | null>\n isPrefetching: Ref<boolean>\n isPrefetched: Ref<boolean>\n flush: () => void\n} {\n const isPrefetching = ref(false)\n const lastUpdatedAt = ref<number | null>(null)\n const isPrefetched = ref(false)\n\n const cached = typeof window === 'undefined' ? null : router.getCached(window.location.pathname, options)\n const inFlight = typeof window === 'undefined' ? null : router.getPrefetching(window.location.pathname, options)\n\n lastUpdatedAt.value = cached?.staleTimestamp || null\n\n isPrefetching.value = inFlight !== null\n isPrefetched.value = cached !== null\n\n let onPrefetchedListener\n let onPrefetchingListener\n\n onMounted(() => {\n onPrefetchingListener = router.on('prefetching', (e) => {\n if (e.detail.visit.url.pathname === window.location.pathname) {\n isPrefetching.value = true\n }\n })\n\n onPrefetchedListener = router.on('prefetched', (e) => {\n if (e.detail.visit.url.pathname === window.location.pathname) {\n isPrefetching.value = false\n isPrefetched.value = true\n }\n })\n })\n\n onUnmounted(() => {\n onPrefetchedListener()\n onPrefetchingListener()\n })\n\n return {\n lastUpdatedAt,\n isPrefetching,\n isPrefetched,\n flush: () => router.flush(window.location.pathname, options),\n }\n}\n", "import { router } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport { isReactive, reactive, ref, Ref, watch } from 'vue'\n\nexport default function useRemember<T extends object>(\n data: T & { __rememberable?: boolean; __remember?: Function; __restore?: Function },\n key?: string,\n): Ref<T> | T {\n if (typeof data === 'object' && data !== null && data.__rememberable === false) {\n return data\n }\n\n const restored = router.restore(key)\n const type = isReactive(data) ? reactive : ref\n const hasCallbacks = typeof data.__remember === 'function' && typeof data.__restore === 'function'\n const remembered = type(restored === undefined ? data : hasCallbacks ? data.__restore(restored) : restored)\n\n watch(\n remembered,\n (newValue) => {\n router.remember(cloneDeep(hasCallbacks ? data.__remember() : newValue), key)\n },\n { immediate: true, deep: true },\n )\n\n return remembered\n}\n", "import { ReloadOptions, router } from '@inertiajs/core'\nimport { defineComponent, h, PropType } from 'vue'\n\nexport default defineComponent({\n name: 'WhenVisible',\n props: {\n data: {\n type: [String, Array<String>],\n },\n params: {\n type: Object as PropType<ReloadOptions>,\n },\n buffer: {\n type: Number,\n default: 0,\n },\n as: {\n type: String,\n default: 'div',\n },\n always: {\n type: Boolean,\n default: false,\n },\n },\n data() {\n return {\n loaded: false,\n fetching: false,\n observer: null,\n }\n },\n unmounted() {\n this.observer?.disconnect()\n },\n mounted() {\n this.observer = new IntersectionObserver(\n (entries) => {\n if (!entries[0].isIntersecting) {\n return\n }\n\n if (!this.$props.always) {\n this.observer.disconnect()\n }\n\n if (this.fetching) {\n return\n }\n\n this.fetching = true\n\n const reloadParams = this.getReloadParams()\n\n router.reload({\n ...reloadParams,\n onStart: (e) => {\n this.fetching = true\n reloadParams.onStart?.(e)\n },\n onFinish: (e) => {\n this.loaded = true\n this.fetching = false\n reloadParams.onFinish?.(e)\n },\n })\n },\n {\n rootMargin: `${this.$props.buffer}px`,\n },\n )\n\n this.observer.observe(this.$el.nextSibling)\n },\n methods: {\n getReloadParams(): Partial<ReloadOptions> {\n if (this.$props.data) {\n return {\n only: (Array.isArray(this.$props.data) ? this.$props.data : [this.$props.data]) as string[],\n }\n }\n\n if (!this.$props.params) {\n throw new Error('You must provide either a `data` or `params` prop.')\n }\n\n return this.$props.params\n },\n },\n render() {\n const els = []\n\n if (this.$props.always || !this.loaded) {\n els.push(h(this.$props.as))\n }\n\n if (!this.loaded) {\n els.push(this.$slots.fallback ? this.$slots.fallback() : null)\n } else if (this.$slots.default) {\n els.push(this.$slots.default())\n }\n\n return els\n },\n})\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["export { router } from '@inertiajs/core'\nexport { usePage } from './app'\nexport { default as createInertiaApp } from './createInertiaApp'\nexport { default as Deferred } from './deferred'\nexport { default as Head } from './head'\nexport { InertiaLinkProps, default as Link } from './link'\nexport * from './types'\nexport { InertiaForm, InertiaFormProps, default as useForm } from './useForm'\nexport { default as usePoll } from './usePoll'\nexport { default as usePrefetch } from './usePrefetch'\nexport { default as useRemember } from './useRemember'\nexport { default as WhenVisible } from './whenVisible'\n", "import { createHeadManager, Page, PageProps, router } from '@inertiajs/core'\nimport {\n computed,\n DefineComponent,\n defineComponent,\n h,\n markRaw,\n Plugin,\n PropType,\n reactive,\n ref,\n shallowRef,\n} from 'vue'\nimport remember from './remember'\nimport { VuePageHandlerArgs } from './types'\nimport useForm from './useForm'\n\nexport interface InertiaAppProps {\n initialPage: Page\n initialComponent?: object\n resolveComponent?: (name: string) => DefineComponent | Promise<DefineComponent>\n titleCallback?: (title: string) => string\n onHeadUpdate?: (elements: string[]) => void\n}\n\nexport type InertiaApp = DefineComponent<InertiaAppProps>\n\nconst component = ref(null)\nconst page = ref<Page<any>>(null)\nconst layout = shallowRef(null)\nconst key = ref(null)\nlet headManager = null\n\nconst App: InertiaApp = defineComponent({\n name: 'Inertia',\n props: {\n initialPage: {\n type: Object as PropType<Page>,\n required: true,\n },\n initialComponent: {\n type: Object,\n required: false,\n },\n resolveComponent: {\n type: Function as PropType<(name: string) => DefineComponent | Promise<DefineComponent>>,\n required: false,\n },\n titleCallback: {\n type: Function as PropType<(title: string) => string>,\n required: false,\n default: (title) => title,\n },\n onHeadUpdate: {\n type: Function as PropType<(elements: string[]) => void>,\n required: false,\n default: () => () => {},\n },\n },\n setup({ initialPage, initialComponent, resolveComponent, titleCallback, onHeadUpdate }) {\n component.value = initialComponent ? markRaw(initialComponent) : null\n page.value = initialPage\n key.value = null\n\n const isServer = typeof window === 'undefined'\n headManager = createHeadManager(isServer, titleCallback, onHeadUpdate)\n\n if (!isServer) {\n router.init({\n initialPage,\n resolveComponent,\n swapComponent: async (args: VuePageHandlerArgs) => {\n component.value = markRaw(args.component)\n page.value = args.page\n key.value = args.preserveState ? key.value : Date.now()\n },\n })\n\n router.on('navigate', () => headManager.forceUpdate())\n }\n\n return () => {\n if (component.value) {\n component.value.inheritAttrs = !!component.value.inheritAttrs\n\n const child = h(component.value, {\n ...page.value.props,\n key: key.value,\n })\n\n if (layout.value) {\n component.value.layout = layout.value\n layout.value = null\n }\n\n if (component.value.layout) {\n if (typeof component.value.layout === 'function') {\n return component.value.layout(h, child)\n }\n\n return (Array.isArray(component.value.layout) ? component.value.layout : [component.value.layout])\n .concat(child)\n .reverse()\n .reduce((child, layout) => {\n layout.inheritAttrs = !!layout.inheritAttrs\n return h(layout, { ...page.value.props }, () => child)\n })\n }\n\n return child\n }\n }\n },\n})\nexport default App\n\nexport const plugin: Plugin = {\n install(app) {\n router.form = useForm\n\n Object.defineProperty(app.config.globalProperties, '$inertia', { get: () => router })\n Object.defineProperty(app.config.globalProperties, '$page', { get: () => page.value })\n Object.defineProperty(app.config.globalProperties, '$headManager', { get: () => headManager })\n\n app.mixin(remember)\n },\n}\n\nexport function usePage<SharedProps extends PageProps>(): Page<SharedProps> {\n return reactive({\n props: computed(() => page.value?.props),\n url: computed(() => page.value?.url),\n component: computed(() => page.value?.component),\n version: computed(() => page.value?.version),\n clearHistory: computed(() => page.value?.clearHistory),\n deferredProps: computed(() => page.value?.deferredProps),\n mergeProps: computed(() => page.value?.mergeProps),\n rememberedState: computed(() => page.value?.rememberedState),\n encryptHistory: computed(() => page.value?.encryptHistory),\n })\n}\n", "import { router } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport { ComponentOptions } from 'vue'\n\nconst remember: ComponentOptions = {\n created() {\n if (!this.$options.remember) {\n return\n }\n\n if (Array.isArray(this.$options.remember)) {\n this.$options.remember = { data: this.$options.remember }\n }\n\n if (typeof this.$options.remember === 'string') {\n this.$options.remember = { data: [this.$options.remember] }\n }\n\n if (typeof this.$options.remember.data === 'string') {\n this.$options.remember = { data: [this.$options.remember.data] }\n }\n\n const rememberKey =\n this.$options.remember.key instanceof Function\n ? this.$options.remember.key.call(this)\n : this.$options.remember.key\n\n const restored = router.restore(rememberKey)\n\n const rememberable = this.$options.remember.data.filter((key) => {\n return !(this[key] !== null && typeof this[key] === 'object' && this[key].__rememberable === false)\n })\n\n const hasCallbacks = (key) => {\n return (\n this[key] !== null &&\n typeof this[key] === 'object' &&\n typeof this[key].__remember === 'function' &&\n typeof this[key].__restore === 'function'\n )\n }\n\n rememberable.forEach((key) => {\n if (this[key] !== undefined && restored !== undefined && restored[key] !== undefined) {\n hasCallbacks(key) ? this[key].__restore(restored[key]) : (this[key] = restored[key])\n }\n\n this.$watch(\n key,\n () => {\n router.remember(\n rememberable.reduce(\n (data, key) => ({\n ...data,\n [key]: cloneDeep(hasCallbacks(key) ? this[key].__remember() : this[key]),\n }),\n {},\n ),\n rememberKey,\n )\n },\n { immediate: true, deep: true },\n )\n })\n },\n}\n\nexport default remember\n", "import { FormDataConvertible, Method, Progress, router, VisitOptions } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport isEqual from 'lodash.isequal'\nimport { reactive, watch } from 'vue'\n\ntype FormDataType = Record<string, FormDataConvertible>\ntype FormOptions = Omit<VisitOptions, 'data'>\n\nexport interface InertiaFormProps<TForm extends FormDataType> {\n isDirty: boolean\n errors: Partial<Record<keyof TForm, string>>\n hasErrors: boolean\n processing: boolean\n progress: Progress | null\n wasSuccessful: boolean\n recentlySuccessful: boolean\n data(): TForm\n transform(callback: (data: TForm) => object): this\n defaults(): this\n defaults(field: keyof TForm, value: FormDataConvertible): this\n defaults(fields: Partial<TForm>): this\n reset(...fields: (keyof TForm)[]): this\n clearErrors(...fields: (keyof TForm)[]): this\n setError(field: keyof TForm, value: string): this\n setError(errors: Record<keyof TForm, string>): this\n submit(method: Method, url: string, options?: FormOptions): void\n get(url: string, options?: FormOptions): void\n post(url: string, options?: FormOptions): void\n put(url: string, options?: FormOptions): void\n patch(url: string, options?: FormOptions): void\n delete(url: string, options?: FormOptions): void\n cancel(): void\n}\n\nexport type InertiaForm<TForm extends FormDataType> = TForm & InertiaFormProps<TForm>\n\nexport default function useForm<TForm extends FormDataType>(data: TForm | (() => TForm)): InertiaForm<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKey: string,\n data: TForm | (() => TForm),\n): InertiaForm<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKeyOrData: string | TForm | (() => TForm),\n maybeData?: TForm | (() => TForm),\n): InertiaForm<TForm> {\n const rememberKey = typeof rememberKeyOrData === 'string' ? rememberKeyOrData : null\n const data = (typeof rememberKeyOrData === 'string' ? maybeData : rememberKeyOrData) ?? {}\n const restored = rememberKey\n ? (router.restore(rememberKey) as { data: TForm; errors: Record<keyof TForm, string> })\n : null\n let defaults = typeof data === 'function' ? cloneDeep(data()) : cloneDeep(data)\n let cancelToken = null\n let recentlySuccessfulTimeoutId = null\n let transform = (data) => data\n\n const form = reactive({\n ...(restored ? restored.data : cloneDeep(defaults)),\n isDirty: false,\n errors: restored ? restored.errors : {},\n hasErrors: false,\n processing: false,\n progress: null,\n wasSuccessful: false,\n recentlySuccessful: false,\n data() {\n return (Object.keys(defaults) as Array<keyof TForm>).reduce((carry, key) => {\n carry[key] = this[key]\n return carry\n }, {} as Partial<TForm>) as TForm\n },\n transform(callback) {\n transform = callback\n\n return this\n },\n defaults(fieldOrFields?: keyof TForm | Partial<TForm>, maybeValue?: FormDataConvertible) {\n if (typeof data === 'function') {\n throw new Error('You cannot call `defaults()` when using a function to define your form data.')\n }\n\n if (typeof fieldOrFields === 'undefined') {\n defaults = this.data()\n this.isDirty = false\n } else {\n defaults = Object.assign(\n {},\n cloneDeep(defaults),\n typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : fieldOrFields,\n )\n }\n\n return this\n },\n reset(...fields) {\n const resolvedData = typeof data === 'function' ? cloneDeep(data()) : cloneDeep(defaults)\n const clonedData = cloneDeep(resolvedData)\n if (fields.length === 0) {\n defaults = clonedData\n Object.assign(this, resolvedData)\n } else {\n Object.keys(resolvedData)\n .filter((key) => fields.includes(key))\n .forEach((key) => {\n defaults[key] = clonedData[key]\n this[key] = resolvedData[key]\n })\n }\n\n return this\n },\n setError(fieldOrFields: keyof TForm | Record<keyof TForm, string>, maybeValue?: string) {\n Object.assign(this.errors, typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : fieldOrFields)\n\n this.hasErrors = Object.keys(this.errors).length > 0\n\n return this\n },\n clearErrors(...fields) {\n this.errors = Object.keys(this.errors).reduce(\n (carry, field) => ({\n ...carry,\n ...(fields.length > 0 && !fields.includes(field) ? { [field]: this.errors[field] } : {}),\n }),\n {},\n )\n\n this.hasErrors = Object.keys(this.errors).length > 0\n\n return this\n },\n submit(method, url, options: FormOptions = {}) {\n const data = transform(this.data())\n const _options = {\n ...options,\n onCancelToken: (token) => {\n cancelToken = token\n\n if (options.onCancelToken) {\n return options.onCancelToken(token)\n }\n },\n onBefore: (visit) => {\n this.wasSuccessful = false\n this.recentlySuccessful = false\n clearTimeout(recentlySuccessfulTimeoutId)\n\n if (options.onBefore) {\n return options.onBefore(visit)\n }\n },\n onStart: (visit) => {\n this.processing = true\n\n if (options.onStart) {\n return options.onStart(visit)\n }\n },\n onProgress: (event) => {\n this.progress = event\n\n if (options.onProgress) {\n return options.onProgress(event)\n }\n },\n onSuccess: async (page) => {\n this.processing = false\n this.progress = null\n this.clearErrors()\n this.wasSuccessful = true\n this.recentlySuccessful = true\n recentlySuccessfulTimeoutId = setTimeout(() => (this.recentlySuccessful = false), 2000)\n\n const onSuccess = options.onSuccess ? await options.onSuccess(page) : null\n defaults = cloneDeep(this.data())\n this.isDirty = false\n return onSuccess\n },\n onError: (errors) => {\n this.processing = false\n this.progress = null\n this.clearErrors().setError(errors)\n\n if (options.onError) {\n return options.onError(errors)\n }\n },\n onCancel: () => {\n this.processing = false\n this.progress = null\n\n if (options.onCancel) {\n return options.onCancel()\n }\n },\n onFinish: (visit) => {\n this.processing = false\n this.progress = null\n cancelToken = null\n\n if (options.onFinish) {\n return options.onFinish(visit)\n }\n },\n }\n\n if (method === 'delete') {\n router.delete(url, { ..._options, data })\n } else {\n router[method](url, data, _options)\n }\n },\n get(url, options) {\n this.submit('get', url, options)\n },\n post(url, options) {\n this.submit('post', url, options)\n },\n put(url, options) {\n this.submit('put', url, options)\n },\n patch(url, options) {\n this.submit('patch', url, options)\n },\n delete(url, options) {\n this.submit('delete', url, options)\n },\n cancel() {\n if (cancelToken) {\n cancelToken.cancel()\n }\n },\n __rememberable: rememberKey === null,\n __remember() {\n return { data: this.data(), errors: this.errors }\n },\n __restore(restored) {\n Object.assign(this, restored.data)\n this.setError(restored.errors)\n },\n })\n\n watch(\n form,\n (newValue) => {\n form.isDirty = !isEqual(form.data(), defaults)\n if (rememberKey) {\n router.remember(cloneDeep(newValue.__remember()), rememberKey)\n }\n },\n { immediate: true, deep: true },\n )\n\n return form\n}\n", "import { Page, router, setupProgress } from '@inertiajs/core'\nimport { DefineComponent, Plugin, App as VueApp, createSSRApp, h } from 'vue'\nimport App, { InertiaApp, InertiaAppProps, plugin } from './app'\n\ninterface CreateInertiaAppProps {\n id?: string\n resolve: (name: string) => DefineComponent | Promise<DefineComponent> | { default: DefineComponent }\n setup: (props: { el: Element; App: InertiaApp; props: InertiaAppProps; plugin: Plugin }) => void | VueApp\n title?: (title: string) => string\n progress?:\n | false\n | {\n delay?: number\n color?: string\n includeCSS?: boolean\n showSpinner?: boolean\n }\n page?: Page\n render?: (app: VueApp) => Promise<string>\n}\n\nexport default async function createInertiaApp({\n id = 'app',\n resolve,\n setup,\n title,\n progress = {},\n page,\n render,\n}: CreateInertiaAppProps): Promise<{ head: string[]; body: string }> {\n const isServer = typeof window === 'undefined'\n const el = isServer ? null : document.getElementById(id)\n const initialPage = page || JSON.parse(el.dataset.page)\n const resolveComponent = (name) => Promise.resolve(resolve(name)).then((module) => module.default || module)\n\n let head = []\n\n const vueApp = await Promise.all([\n resolveComponent(initialPage.component),\n router.decryptHistory().catch(() => {}),\n ]).then(([initialComponent]) => {\n return setup({\n el,\n App,\n props: {\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback: title,\n onHeadUpdate: isServer ? (elements) => (head = elements) : null,\n },\n plugin,\n })\n })\n\n if (!isServer && progress) {\n setupProgress(progress)\n }\n\n if (isServer) {\n const body = await render(\n createSSRApp({\n render: () =>\n h('div', {\n id,\n 'data-page': JSON.stringify(initialPage),\n innerHTML: vueApp ? render(vueApp) : '',\n }),\n }),\n )\n\n return { head, body }\n }\n}\n", "import { defineComponent } from 'vue'\n\nexport default defineComponent({\n name: 'Deferred',\n props: {\n data: {\n type: [String, Array<String>],\n required: true,\n },\n },\n render() {\n const keys = (Array.isArray(this.$props.data) ? this.$props.data : [this.$props.data]) as string[]\n\n if (!this.$slots.fallback) {\n throw new Error('`<Deferred>` requires a `<template #fallback>` slot')\n }\n\n return keys.every((key) => this.$page.props[key] !== undefined) ? this.$slots.default() : this.$slots.fallback()\n },\n})\n", "import { defineComponent, DefineComponent } from 'vue'\n\nexport type InertiaHead = DefineComponent<{\n title?: string\n}>\n\nconst Head: InertiaHead = defineComponent({\n props: {\n title: {\n type: String,\n required: false,\n },\n },\n data() {\n return {\n provider: this.$headManager.createProvider(),\n }\n },\n beforeUnmount() {\n this.provider.disconnect()\n },\n methods: {\n isUnaryTag(node) {\n return (\n [\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'keygen',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr',\n ].indexOf(node.type) > -1\n )\n },\n renderTagStart(node) {\n node.props = node.props || {}\n node.props.inertia = node.props['head-key'] !== undefined ? node.props['head-key'] : ''\n const attrs = Object.keys(node.props).reduce((carry, name) => {\n const value = node.props[name]\n if (['key', 'head-key'].includes(name)) {\n return carry\n } else if (value === '') {\n return carry + ` ${name}`\n } else {\n return carry + ` ${name}=\"${value}\"`\n }\n }, '')\n return `<${node.type}${attrs}>`\n },\n renderTagChildren(node) {\n return typeof node.children === 'string'\n ? node.children\n : node.children.reduce((html, child) => html + this.renderTag(child), '')\n },\n isFunctionNode(node) {\n return typeof node.type === 'function'\n },\n isComponentNode(node) {\n return typeof node.type === 'object'\n },\n isCommentNode(node) {\n return /(comment|cmt)/i.test(node.type.toString())\n },\n isFragmentNode(node) {\n return /(fragment|fgt|symbol\\(\\))/i.test(node.type.toString())\n },\n isTextNode(node) {\n return /(text|txt)/i.test(node.type.toString())\n },\n renderTag(node) {\n if (this.isTextNode(node)) {\n return node.children\n } else if (this.isFragmentNode(node)) {\n return ''\n } else if (this.isCommentNode(node)) {\n return ''\n }\n let html = this.renderTagStart(node)\n if (node.children) {\n html += this.renderTagChildren(node)\n }\n if (!this.isUnaryTag(node)) {\n html += `</${node.type}>`\n }\n return html\n },\n addTitleElement(elements) {\n if (this.title && !elements.find((tag) => tag.startsWith('<title'))) {\n elements.push(`<title inertia>${this.title}</title>`)\n }\n return elements\n },\n renderNodes(nodes) {\n return this.addTitleElement(\n nodes\n .flatMap((node) => this.resolveNode(node))\n .map((node) => this.renderTag(node))\n .filter((node) => node),\n )\n },\n resolveNode(node) {\n if (this.isFunctionNode(node)) {\n return this.resolveNode(node.type())\n } else if (this.isComponentNode(node)) {\n console.warn(`Using components in the <Head> component is not supported.`)\n return []\n } else if (this.isTextNode(node) && node.children) {\n return node\n } else if (this.isFragmentNode(node) && node.children) {\n return node.children.flatMap((child) => this.resolveNode(child))\n } else if (this.isCommentNode(node)) {\n return []\n } else {\n return node\n }\n },\n },\n render() {\n this.provider.update(this.renderNodes(this.$slots.default ? this.$slots.default() : []))\n },\n})\n\nexport default Head\n", "import {\n CacheForOption,\n FormDataConvertible,\n LinkPrefetchOption,\n mergeDataIntoQueryString,\n Method,\n PendingVisit,\n PreserveStateOption,\n Progress,\n router,\n shouldIntercept,\n} from '@inertiajs/core'\nimport { computed, defineComponent, DefineComponent, h, onMounted, onUnmounted, PropType, ref } from 'vue'\n\nexport interface InertiaLinkProps {\n as?: string\n data?: Record<string, FormDataConvertible>\n href: string\n method?: Method\n headers?: Record<string, string>\n onClick?: (event: MouseEvent) => void\n preserveScroll?: PreserveStateOption\n preserveState?: PreserveStateOption\n replace?: boolean\n only?: string[]\n except?: string[]\n onCancelToken?: (cancelToken: import('axios').CancelTokenSource) => void\n onBefore?: () => void\n onStart?: (visit: PendingVisit) => void\n onProgress?: (progress: Progress) => void\n onFinish?: (visit: PendingVisit) => void\n onCancel?: () => void\n onSuccess?: () => void\n onError?: () => void\n queryStringArrayFormat?: 'brackets' | 'indices'\n async?: boolean\n prefetch?: boolean | LinkPrefetchOption | LinkPrefetchOption[]\n cacheFor?: CacheForOption | CacheForOption[]\n}\n\ntype InertiaLink = DefineComponent<InertiaLinkProps>\n\n// @ts-ignore\nconst Link: InertiaLink = defineComponent({\n name: 'Link',\n props: {\n as: {\n type: String,\n default: 'a',\n },\n data: {\n type: Object,\n default: () => ({}),\n },\n href: {\n type: String,\n required: true,\n },\n method: {\n type: String as PropType<Method>,\n default: 'get',\n },\n replace: {\n type: Boolean,\n default: false,\n },\n preserveScroll: {\n type: Boolean,\n default: false,\n },\n preserveState: {\n type: Boolean,\n default: null,\n },\n only: {\n type: Array<string>,\n default: () => [],\n },\n except: {\n type: Array<string>,\n default: () => [],\n },\n headers: {\n type: Object,\n default: () => ({}),\n },\n queryStringArrayFormat: {\n type: String as PropType<'brackets' | 'indices'>,\n default: 'brackets',\n },\n async: {\n type: Boolean,\n default: false,\n },\n prefetch: {\n type: [Boolean, String, Array] as PropType<boolean | LinkPrefetchOption | LinkPrefetchOption[]>,\n default: false,\n },\n cacheFor: {\n type: [Number, String, Array] as PropType<CacheForOption | CacheForOption[]>,\n default: 0,\n },\n onStart: {\n type: Function as PropType<(visit: PendingVisit) => void>,\n default: (_visit: PendingVisit) => {},\n },\n onProgress: {\n type: Function as PropType<(progress: Progress) => void>,\n default: () => {},\n },\n onFinish: {\n type: Function as PropType<(visit: PendingVisit) => void>,\n default: () => {},\n },\n onBefore: {\n type: Function as PropType<() => void>,\n default: () => {},\n },\n onCancel: {\n type: Function as PropType<() => void>,\n default: () => {},\n },\n onSuccess: {\n type: Function as PropType<() => void>,\n default: () => {},\n },\n onError: {\n type: Function as PropType<() => void>,\n default: () => {},\n },\n onCancelToken: {\n type: Function as PropType<(cancelToken: import('axios').CancelTokenSource) => void>,\n default: () => {},\n },\n },\n setup(props, { slots, attrs }) {\n const inFlightCount = ref(0)\n const hoverTimeout = ref(null)\n\n const prefetchModes: LinkPrefetchOption[] = (() => {\n if (props.prefetch === true) {\n return ['hover']\n }\n\n if (props.prefetch === false) {\n return []\n }\n\n if (Array.isArray(props.prefetch)) {\n return props.prefetch\n }\n\n return [props.prefetch]\n })()\n\n const cacheForValue = (() => {\n if (props.cacheFor !== 0) {\n // If they've provided a value, respect it\n return props.cacheFor\n }\n\n if (prefetchModes.length === 1 && prefetchModes[0] === 'click') {\n // If they've only provided a prefetch mode of 'click',\n // we should only prefetch for the next request but not keep it around\n return 0\n }\n\n // Otherwise, default to 30 seconds\n return 30_000\n })()\n\n onMounted(() => {\n if (prefetchModes.includes('mount')) {\n prefetch()\n }\n })\n\n onUnmounted(() => {\n clearTimeout(hoverTimeout.value)\n })\n\n const method = props.method.toLowerCase() as Method\n const as = method !== 'get' ? 'button' : props.as.toLowerCase()\n const mergeDataArray = computed(() =>\n mergeDataIntoQueryString(method, props.href || '', props.data, props.queryStringArrayFormat),\n )\n const href = computed(() => mergeDataArray.value[0])\n const data = computed(() => mergeDataArray.value[1])\n\n const elProps = computed(() => ({\n a: { href: href.value },\n button: { type: 'button' },\n }))\n\n const baseParams = {\n data: data.value,\n method: method,\n replace: props.replace,\n preserveScroll: props.preserveScroll,\n preserveState: props.preserveState ?? method !== 'get',\n only: props.only,\n except: props.except,\n headers: props.headers,\n async: props.async,\n }\n\n const visitParams = {\n ...baseParams,\n onCancelToken: props.onCancelToken,\n onBefore: props.onBefore,\n onStart: (event) => {\n inFlightCount.value++\n props.onStart(event)\n },\n onProgress: props.onProgress,\n onFinish: (event) => {\n inFlightCount.value--\n props.onFinish(event)\n },\n onCancel: props.onCancel,\n onSuccess: props.onSuccess,\n onError: props.onError,\n }\n\n const prefetch = () => {\n router.prefetch(href.value, baseParams, { cacheFor: cacheForValue })\n }\n\n const regularEvents = {\n onClick: (event) => {\n if (shouldIntercept(event)) {\n event.preventDefault()\n router.visit(href.value, visitParams)\n }\n },\n }\n\n const prefetchHoverEvents = {\n onMouseenter: () => {\n hoverTimeout.value = setTimeout(() => {\n prefetch()\n }, 75)\n },\n onMouseleave: () => {\n clearTimeout(hoverTimeout.value)\n },\n onClick: regularEvents.onClick,\n }\n\n const prefetchClickEvents = {\n onMousedown: (event) => {\n if (shouldIntercept(event)) {\n event.preventDefault()\n prefetch()\n }\n },\n onMouseup: (event) => {\n event.preventDefault()\n router.visit(href.value, visitParams)\n },\n onClick: (event) => {\n if (shouldIntercept(event)) {\n // Let the mouseup event handle the visit\n event.preventDefault()\n }\n },\n }\n\n return () => {\n return h(\n as,\n {\n ...attrs,\n ...(elProps.value[as] || {}),\n 'data-loading': inFlightCount.value > 0 ? '' : undefined,\n ...(() => {\n if (prefetchModes.includes('hover')) {\n return prefetchHoverEvents\n }\n\n if (prefetchModes.includes('click')) {\n return prefetchClickEvents\n }\n\n return regularEvents\n })(),\n },\n slots,\n )\n }\n },\n})\n\nexport default Link\n", "import { PollOptions, ReloadOptions, router } from '@inertiajs/core'\nimport { onMounted, onUnmounted } from 'vue'\n\nexport default function usePoll(\n interval: number,\n requestOptions: ReloadOptions = {},\n options: PollOptions = {\n keepAlive: false,\n autoStart: true,\n },\n): {\n stop: VoidFunction\n start: VoidFunction\n} {\n const { stop, start } = router.poll(interval, requestOptions, {\n ...options,\n autoStart: false,\n })\n\n onMounted(() => {\n if (options.autoStart ?? true) {\n start()\n }\n })\n\n onUnmounted(() => {\n stop()\n })\n\n return {\n stop,\n start,\n }\n}\n", "import { router, VisitOptions } from '@inertiajs/core'\nimport { onMounted, onUnmounted, ref, Ref } from 'vue'\n\nexport default function usePrefetch(options: VisitOptions = {}): {\n lastUpdatedAt: Ref<number | null>\n isPrefetching: Ref<boolean>\n isPrefetched: Ref<boolean>\n flush: () => void\n} {\n const isPrefetching = ref(false)\n const lastUpdatedAt = ref<number | null>(null)\n const isPrefetched = ref(false)\n\n const cached = typeof window === 'undefined' ? null : router.getCached(window.location.pathname, options)\n const inFlight = typeof window === 'undefined' ? null : router.getPrefetching(window.location.pathname, options)\n\n lastUpdatedAt.value = cached?.staleTimestamp || null\n\n isPrefetching.value = inFlight !== null\n isPrefetched.value = cached !== null\n\n let onPrefetchedListener\n let onPrefetchingListener\n\n onMounted(() => {\n onPrefetchingListener = router.on('prefetching', (e) => {\n if (e.detail.visit.url.pathname === window.location.pathname) {\n isPrefetching.value = true\n }\n })\n\n onPrefetchedListener = router.on('prefetched', (e) => {\n if (e.detail.visit.url.pathname === window.location.pathname) {\n isPrefetching.value = false\n isPrefetched.value = true\n }\n })\n })\n\n onUnmounted(() => {\n onPrefetchedListener()\n onPrefetchingListener()\n })\n\n return {\n lastUpdatedAt,\n isPrefetching,\n isPrefetched,\n flush: () => router.flush(window.location.pathname, options),\n }\n}\n", "import { router } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport { isReactive, reactive, ref, Ref, watch } from 'vue'\n\nexport default function useRemember<T extends object>(\n data: T & { __rememberable?: boolean; __remember?: Function; __restore?: Function },\n key?: string,\n): Ref<T> | T {\n if (typeof data === 'object' && data !== null && data.__rememberable === false) {\n return data\n }\n\n const restored = router.restore(key)\n const type = isReactive(data) ? reactive : ref\n const hasCallbacks = typeof data.__remember === 'function' && typeof data.__restore === 'function'\n const remembered = type(restored === undefined ? data : hasCallbacks ? data.__restore(restored) : restored)\n\n watch(\n remembered,\n (newValue) => {\n router.remember(cloneDeep(hasCallbacks ? data.__remember() : newValue), key)\n },\n { immediate: true, deep: true },\n )\n\n return remembered\n}\n", "import { ReloadOptions, router } from '@inertiajs/core'\nimport { defineComponent, h, PropType } from 'vue'\n\nexport default defineComponent({\n name: 'WhenVisible',\n props: {\n data: {\n type: [String, Array<String>],\n },\n params: {\n type: Object as PropType<ReloadOptions>,\n },\n buffer: {\n type: Number,\n default: 0,\n },\n as: {\n type: String,\n default: 'div',\n },\n always: {\n type: Boolean,\n default: false,\n },\n },\n data() {\n return {\n loaded: false,\n fetching: false,\n observer: null,\n }\n },\n unmounted() {\n this.observer?.disconnect()\n },\n mounted() {\n this.observer = new IntersectionObserver(\n (entries) => {\n if (!entries[0].isIntersecting) {\n return\n }\n\n if (!this.$props.always) {\n this.observer.disconnect()\n }\n\n if (this.fetching) {\n return\n }\n\n this.fetching = true\n\n const reloadParams = this.getReloadParams()\n\n router.reload({\n ...reloadParams,\n onStart: (e) => {\n this.fetching = true\n reloadParams.onStart?.(e)\n },\n onFinish: (e) => {\n this.loaded = true\n this.fetching = false\n reloadParams.onFinish?.(e)\n },\n })\n },\n {\n rootMargin: `${this.$props.buffer}px`,\n },\n )\n\n this.observer.observe(this.$el.nextSibling)\n },\n methods: {\n getReloadParams(): Partial<ReloadOptions> {\n if (this.$props.data) {\n return {\n only: (Array.isArray(this.$props.data) ? this.$props.data : [this.$props.data]) as string[],\n }\n }\n\n if (!this.$props.params) {\n throw new Error('You must provide either a `data` or `params` prop.')\n }\n\n return this.$props.params\n },\n },\n render() {\n const els = []\n\n if (this.$props.always || !this.loaded) {\n els.push(h(this.$props.as))\n }\n\n if (!this.loaded) {\n els.push(this.$slots.fallback ? this.$slots.fallback() : null)\n } else if (this.$slots.default) {\n els.push(this.$slots.default())\n }\n\n return els\n },\n})\n"],
5
+ "mappings": "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",
6
6
  "names": ["src_exports", "__export", "deferred_default", "head_default", "link_default", "whenVisible_default", "createInertiaApp", "useForm", "usePage", "usePoll", "usePrefetch", "useRemember", "__toCommonJS", "import_core", "import_core", "import_vue", "import_core", "import_lodash", "remember", "rememberKey", "restored", "rememberable", "key", "hasCallbacks", "data", "cloneDeep", "remember_default", "import_core", "import_lodash", "import_vue", "useForm", "rememberKeyOrData", "maybeData", "rememberKey", "data", "restored", "defaults", "cloneDeep", "cancelToken", "recentlySuccessfulTimeoutId", "transform", "form", "carry", "key", "callback", "fieldOrFields", "maybeValue", "fields", "resolvedData", "clonedData", "field", "method", "url", "options", "_options", "token", "visit", "event", "page", "onSuccess", "errors", "newValue", "isEqual", "component", "page", "layout", "key", "headManager", "App", "title", "initialPage", "initialComponent", "resolveComponent", "titleCallback", "onHeadUpdate", "isServer", "args", "child", "app_default", "plugin", "app", "useForm", "remember_default", "usePage", "import_core", "import_vue", "createInertiaApp", "id", "resolve", "setup", "title", "progress", "page", "render", "isServer", "el", "initialPage", "resolveComponent", "name", "module", "head", "vueApp", "initialComponent", "app_default", "elements", "plugin", "body", "import_vue", "deferred_default", "keys", "key", "import_vue", "Head", "node", "attrs", "carry", "name", "value", "html", "child", "elements", "tag", "nodes", "head_default", "import_core", "import_vue", "Link", "_visit", "props", "slots", "attrs", "inFlightCount", "hoverTimeout", "prefetchModes", "cacheForValue", "prefetch", "method", "as", "mergeDataArray", "href", "data", "elProps", "baseParams", "visitParams", "event", "regularEvents", "prefetchHoverEvents", "prefetchClickEvents", "link_default", "import_core", "import_vue", "usePoll", "interval", "requestOptions", "options", "stop", "start", "import_core", "import_vue", "usePrefetch", "options", "isPrefetching", "lastUpdatedAt", "isPrefetched", "cached", "inFlight", "onPrefetchedListener", "onPrefetchingListener", "e", "import_core", "import_lodash", "import_vue", "useRemember", "data", "key", "restored", "type", "hasCallbacks", "remembered", "newValue", "cloneDeep", "import_core", "import_vue", "whenVisible_default", "entries", "reloadParams", "e", "els"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inertiajs/vue3",
3
- "version": "2.0.0",
3
+ "version": "2.0.2",
4
4
  "license": "MIT",
5
5
  "description": "The Vue 3 adapter for Inertia.js",
6
6
  "contributors": [
@@ -58,7 +58,7 @@
58
58
  "vue": "^3.0.0"
59
59
  },
60
60
  "dependencies": {
61
- "@inertiajs/core": "2.0.0",
61
+ "@inertiajs/core": "2.0.2",
62
62
  "lodash.clonedeep": "^4.5.0",
63
63
  "lodash.isequal": "^4.5.0"
64
64
  }
package/types/index.d.ts CHANGED
@@ -5,7 +5,7 @@ export { default as Deferred } from './deferred';
5
5
  export { default as Head } from './head';
6
6
  export { InertiaLinkProps, default as Link } from './link';
7
7
  export * from './types';
8
- export { InertiaForm, default as useForm } from './useForm';
8
+ export { InertiaForm, InertiaFormProps, default as useForm } from './useForm';
9
9
  export { default as usePoll } from './usePoll';
10
10
  export { default as usePrefetch } from './usePrefetch';
11
11
  export { default as useRemember } from './useRemember';
package/types/types.d.ts CHANGED
@@ -9,7 +9,7 @@ declare module '@inertiajs/core' {
9
9
  form: typeof useForm;
10
10
  }
11
11
  }
12
- declare module '@vue/runtime-core' {
12
+ declare module 'vue' {
13
13
  interface ComponentCustomProperties {
14
14
  $inertia: typeof router;
15
15
  $page: Page;
@@ -1,6 +1,7 @@
1
1
  import { FormDataConvertible, Method, Progress, VisitOptions } from '@inertiajs/core';
2
- type FormDataType = object;
3
- interface InertiaFormProps<TForm extends FormDataType> {
2
+ type FormDataType = Record<string, FormDataConvertible>;
3
+ type FormOptions = Omit<VisitOptions, 'data'>;
4
+ export interface InertiaFormProps<TForm extends FormDataType> {
4
5
  isDirty: boolean;
5
6
  errors: Partial<Record<keyof TForm, string>>;
6
7
  hasErrors: boolean;
@@ -17,12 +18,12 @@ interface InertiaFormProps<TForm extends FormDataType> {
17
18
  clearErrors(...fields: (keyof TForm)[]): this;
18
19
  setError(field: keyof TForm, value: string): this;
19
20
  setError(errors: Record<keyof TForm, string>): this;
20
- submit(method: Method, url: string, options?: Partial<VisitOptions>): void;
21
- get(url: string, options?: Partial<VisitOptions>): void;
22
- post(url: string, options?: Partial<VisitOptions>): void;
23
- put(url: string, options?: Partial<VisitOptions>): void;
24
- patch(url: string, options?: Partial<VisitOptions>): void;
25
- delete(url: string, options?: Partial<VisitOptions>): void;
21
+ submit(method: Method, url: string, options?: FormOptions): void;
22
+ get(url: string, options?: FormOptions): void;
23
+ post(url: string, options?: FormOptions): void;
24
+ put(url: string, options?: FormOptions): void;
25
+ patch(url: string, options?: FormOptions): void;
26
+ delete(url: string, options?: FormOptions): void;
26
27
  cancel(): void;
27
28
  }
28
29
  export type InertiaForm<TForm extends FormDataType> = TForm & InertiaFormProps<TForm>;