@inertiajs/react 2.0.4 → 2.0.6

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 rt}from"@inertiajs/core";import{router as Ce,setupProgress as ke}from"@inertiajs/core";import{createElement as Re}from"react";import{createHeadManager as Te,router as se}from"@inertiajs/core";import{createElement as A,useEffect as Fe,useMemo as ve,useState as be}from"react";import{createContext as he}from"react";var oe=he(void 0);oe.displayName="InertiaHeadContext";var M=oe;import{createContext as Se}from"react";var ne=Se(void 0);ne.displayName="InertiaPageContext";var L=ne;function W({children:u,initialPage:o,initialComponent:n,resolveComponent:s,titleCallback:a,onHeadUpdate:m}){let[p,g]=be({component:n||null,page:o,key:null}),P=ve(()=>Te(typeof window>"u",a||(l=>l),m||(()=>{})),[]);if(Fe(()=>{se.init({initialPage:o,resolveComponent:s,swapComponent:async({component:l,page:e,preserveState:f})=>{g(t=>({component:l,page:e,key:f?t.key:Date.now()}))}}),se.on("navigate",()=>P.forceUpdate())},[]),!p.component)return A(M.Provider,{value:P},A(L.Provider,{value:p.page},null));let y=u||(({Component:l,props:e,key:f})=>{let t=A(l,{key:f,...e});return typeof l.layout=="function"?l.layout(t):Array.isArray(l.layout)?l.layout.concat(t).reverse().reduce((h,T)=>A(T,{children:h,...e})):t});return A(M.Provider,{value:P},A(L.Provider,{value:p.page},y({Component:p.component,key:p.key,props:p.page.props})))}W.displayName="Inertia";async function ae({id:u="app",resolve:o,setup:n,title:s,progress:a={},page:m,render:p}){let g=typeof window>"u",P=g?null:document.getElementById(u),y=m||JSON.parse(P.dataset.page),l=t=>Promise.resolve(o(t)).then(h=>h.default||h),e=[],f=await Promise.all([l(y.component),Ce.decryptHistory().catch(()=>{})]).then(([t])=>n({el:P,App:W,props:{initialPage:y,initialComponent:t,resolveComponent:l,titleCallback:s,onHeadUpdate:g?h=>e=h:null}}));if(!g&&a&&ke(a),g){let t=await p(Re("div",{id:u,"data-page":JSON.stringify(y)},f));return{head:e,body:t}}}import{useEffect as Ie,useState as Ee}from"react";import{useContext as xe}from"react";function K(){let u=xe(L);if(!u)throw new Error("usePage must be used within the Inertia component");return u}var ie=({children:u,data:o,fallback:n})=>{if(!o)throw new Error("`<Deferred>` requires a `data` prop");let[s,a]=Ee(!1),m=K().props,p=Array.isArray(o)?o:[o];return Ie(()=>{a(p.every(g=>m[g]!==void 0))},[m,p]),s?u:n};ie.displayName="InertiaDeferred";var Ae=ie;import ue,{useContext as Oe,useEffect as De,useMemo as we}from"react";var Me=function({children:u,title:o}){let n=Oe(M),s=we(()=>n.createProvider(),[n]);De(()=>()=>{s.disconnect()},[s]);function a(e){return["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"].indexOf(e.type)>-1}function m(e){let f=Object.keys(e.props).reduce((t,h)=>{if(["head-key","children","dangerouslySetInnerHTML"].includes(h))return t;let T=e.props[h];return T===""?t+` ${h}`:t+` ${h}="${T}"`},"");return`<${e.type}${f}>`}function p(e){return typeof e.props.children=="string"?e.props.children:e.props.children.reduce((f,t)=>f+g(t),"")}function g(e){let f=m(e);return e.props.children&&(f+=p(e)),e.props.dangerouslySetInnerHTML&&(f+=e.props.dangerouslySetInnerHTML.__html),a(e)||(f+=`</${e.type}>`),f}function P(e){return ue.cloneElement(e,{inertia:e.props["head-key"]!==void 0?e.props["head-key"]:""})}function y(e){return g(P(e))}function l(e){let f=ue.Children.toArray(e).filter(t=>t).map(t=>y(t));return o&&!f.find(t=>t.startsWith("<title"))&&f.push(`<title inertia>${o}</title>`),f}return s.update(l(u)),null},Le=Me;import{mergeDataIntoQueryString as He,router as Z,shouldIntercept as ee}from"@inertiajs/core";import{createElement as Be,forwardRef as Ne,useEffect as pe,useMemo as ce,useRef as Ve,useState as Ue}from"react";var k=()=>{},le=Ne(({children:u,as:o="a",data:n={},href:s,method:a="get",preserveScroll:m=!1,preserveState:p=null,replace:g=!1,only:P=[],except:y=[],headers:l={},queryStringArrayFormat:e="brackets",async:f=!1,onClick:t=k,onCancelToken:h=k,onBefore:T=k,onStart:x=k,onProgress:I=k,onFinish:q=k,onCancel:N=k,onSuccess:J=k,onError:O=k,prefetch:F=!1,cacheFor:b=0,...Q},Y)=>{let[z,V]=Ue(0),D=Ve(null);o=o.toLowerCase(),a=a.toLowerCase();let[E,G]=He(a,s||"",n,e);s=E,n=G;let U={data:n,method:a,preserveScroll:m,preserveState:p??a!=="get",replace:g,only:P,except:y,headers:l,async:f},$={...U,onCancelToken:h,onBefore:T,onStart(c){V(d=>d+1),x(c)},onProgress:I,onFinish(c){V(d=>d-1),q(c)},onCancel:N,onSuccess:J,onError:O},w=()=>{Z.prefetch(s,U,{cacheFor:X})},C=ce(()=>F===!0?["hover"]:F===!1?[]:Array.isArray(F)?F:[F],Array.isArray(F)?F:[F]),X=ce(()=>b!==0?b:C.length===1&&C[0]==="click"?0:3e4,[b,C]);pe(()=>()=>{clearTimeout(D.current)},[]),pe(()=>{C.includes("mount")&&setTimeout(()=>w())},C);let j={onClick:c=>{t(c),ee(c)&&(c.preventDefault(),Z.visit(s,$))}},i={onMouseEnter:()=>{D.current=window.setTimeout(()=>{w()},75)},onMouseLeave:()=>{clearTimeout(D.current)},onClick:j.onClick},S={onMouseDown:c=>{ee(c)&&(c.preventDefault(),w())},onMouseUp:c=>{c.preventDefault(),Z.visit(s,$)},onClick:c=>{t(c),ee(c)&&c.preventDefault()}};return a!=="get"&&(o="button"),Be(o,{...Q,...{a:{href:s},button:{type:"button"}}[o]||{},ref:Y,...(()=>C.includes("hover")?i:C.includes("click")?S:j)(),"data-loading":z>0?"":void 0},u)});le.displayName="InertiaLink";var $e=le;import{router as de}from"@inertiajs/core";import Ke from"lodash.isequal";import{useCallback as v,useEffect as _e,useRef as _,useState as R}from"react";import{router as fe}from"@inertiajs/core";import{useEffect as je,useState as We}from"react";function H(u,o){let[n,s]=We(()=>{let a=fe.restore(o);return a!==void 0?a:u});return je(()=>{fe.remember(n,o)},[n,o]),[n,s]}function me(u,o){let n=_(null),s=typeof u=="string"?u:null,[a,m]=R((typeof u=="string"?o:u)||{}),p=_(null),g=_(null),[P,y]=s?H(a,`${s}:data`):R(a),[l,e]=s?H({},`${s}:errors`):R({}),[f,t]=R(!1),[h,T]=R(!1),[x,I]=R(null),[q,N]=R(!1),[J,O]=R(!1),F=_(i=>i);_e(()=>(n.current=!0,()=>{n.current=!1}),[]);let b=v((i,S,r={})=>{let c={...r,onCancelToken:d=>{if(p.current=d,r.onCancelToken)return r.onCancelToken(d)},onBefore:d=>{if(N(!1),O(!1),clearTimeout(g.current),r.onBefore)return r.onBefore(d)},onStart:d=>{if(T(!0),r.onStart)return r.onStart(d)},onProgress:d=>{if(I(d),r.onProgress)return r.onProgress(d)},onSuccess:d=>{if(n.current&&(T(!1),I(null),e({}),t(!1),N(!0),O(!0),g.current=setTimeout(()=>{n.current&&O(!1)},2e3)),r.onSuccess)return r.onSuccess(d)},onError:d=>{if(n.current&&(T(!1),I(null),e(d),t(!0)),r.onError)return r.onError(d)},onCancel:()=>{if(n.current&&(T(!1),I(null)),r.onCancel)return r.onCancel()},onFinish:d=>{if(n.current&&(T(!1),I(null)),p.current=null,r.onFinish)return r.onFinish(d)}};i==="delete"?de.delete(S,{...c,data:F.current(P)}):de[i](S,F.current(P),c)},[P,e,F]),Q=v((i,S)=>{y(typeof i=="string"?r=>({...r,[i]:S}):typeof i=="function"?r=>i(r):i)},[y]),Y=v((i,S)=>{m(typeof i>"u"?()=>P:r=>({...r,...typeof i=="string"?{[i]:S}:i}))},[P,m]),z=v((...i)=>{i.length===0?y(a):y(S=>Object.keys(a).filter(r=>i.includes(r)).reduce((r,c)=>(r[c]=a[c],r),{...S}))},[y,a]),V=v((i,S)=>{e(r=>{let c={...r,...typeof i=="string"?{[i]:S}:i};return t(Object.keys(c).length>0),c})},[e,t]),D=v((...i)=>{e(S=>{let r=Object.keys(S).reduce((c,d)=>({...c,...i.length>0&&!i.includes(d)?{[d]:S[d]}:{}}),{});return t(Object.keys(r).length>0),r})},[e,t]),E=i=>(S,r)=>{b(i,S,r)},G=v(E("get"),[b]),U=v(E("post"),[b]),$=v(E("put"),[b]),w=v(E("patch"),[b]),C=v(E("delete"),[b]),X=v(()=>{p.current&&p.current.cancel()},[]),j=v(i=>{F.current=i},[]);return{data:P,setData:Q,isDirty:!Ke(P,a),errors:l,hasErrors:f,processing:h,progress:x,wasSuccessful:q,recentlySuccessful:J,transform:j,setDefaults:Y,reset:z,setError:V,clearErrors:D,submit:b,get:G,post:U,put:$,patch:w,delete:C,cancel:X}}import{router as qe}from"@inertiajs/core";import{useEffect as Je,useRef as Qe}from"react";function ge(u,o={},n={keepAlive:!1,autoStart:!0}){let s=Qe(qe.poll(u,o,{...n,autoStart:!1}));return Je(()=>((n.autoStart??!0)&&s.current.start(),()=>s.current.stop()),[]),{stop:s.current.stop,start:s.current.start}}import{router as B}from"@inertiajs/core";import{useEffect as Ye,useState as te}from"react";function Pe(u={}){let o=typeof window>"u"?null:B.getCached(window.location.pathname,u),n=typeof window>"u"?null:B.getPrefetching(window.location.pathname,u),[s,a]=te(o?.staleTimestamp||null),[m,p]=te(n!==null),[g,P]=te(o!==null);return Ye(()=>{let y=B.on("prefetching",e=>{e.detail.visit.url.pathname===window.location.pathname&&p(!0)}),l=B.on("prefetched",e=>{e.detail.visit.url.pathname===window.location.pathname&&(p(!1),P(!0),a(e.detail.fetchedAt))});return()=>{l(),y()}},[]),{lastUpdatedAt:s,isPrefetching:m,isPrefetched:g,flush:()=>B.flush(window.location.pathname,u)}}import{router as ze}from"@inertiajs/core";import{createElement as Ge,useCallback as Xe,useEffect as Ze,useRef as re,useState as et}from"react";var ye=({children:u,data:o,params:n,buffer:s,as:a,always:m,fallback:p})=>{m=m??!1,a=a??"div",p=p??null;let[g,P]=et(!1),y=re(!1),l=re(!1),e=re(null),f=Xe(()=>{if(o)return{only:Array.isArray(o)?o:[o]};if(!n)throw new Error("You must provide either a `data` or `params` prop.");return n},[n,o]);return Ze(()=>{if(!e.current)return;let t=new IntersectionObserver(h=>{if(!h[0].isIntersecting||(!m&&y.current&&t.disconnect(),l.current))return;y.current=!0,l.current=!0;let T=f();ze.reload({...T,onStart:x=>{l.current=!0,T.onStart?.(x)},onFinish:x=>{P(!0),l.current=!1,T.onFinish?.(x),m||t.disconnect()}})},{rootMargin:`${s||0}px`});return t.observe(e.current),()=>{t.disconnect()}},[e,f,s]),m||!g?Ge(a,{props:null,ref:e},g?u:p):g?u:null};ye.displayName="InertiaWhenVisible";var tt=ye;var Sr=rt;export{Ae as Deferred,Le as Head,$e as Link,tt as WhenVisible,ae as createInertiaApp,Sr as router,me as useForm,K as usePage,ge as usePoll,Pe as usePrefetch,H as useRemember};
1
+ import{router as st}from"@inertiajs/core";import{router as Re,setupProgress as xe}from"@inertiajs/core";import{createElement as Ie}from"react";import{createHeadManager as ve,router as ie}from"@inertiajs/core";import{createElement as w,useEffect as be,useMemo as Ce,useState as ke}from"react";import{createContext as Te}from"react";var se=Te(void 0);se.displayName="InertiaHeadContext";var B=se;import{createContext as Fe}from"react";var ae=Fe(void 0);ae.displayName="InertiaPageContext";var N=ae;function _({children:p,initialPage:n,initialComponent:s,resolveComponent:a,titleCallback:i,onHeadUpdate:f}){let[u,m]=ke({component:s||null,page:n,key:null}),d=Ce(()=>ve(typeof window>"u",i||(c=>c),f||(()=>{})),[]);if(be(()=>{ie.init({initialPage:n,resolveComponent:a,swapComponent:async({component:c,page:e,preserveState:l})=>{m(t=>({component:c,page:e,key:l?t.key:Date.now()}))}}),ie.on("navigate",()=>d.forceUpdate())},[]),!u.component)return w(B.Provider,{value:d},w(N.Provider,{value:u.page},null));let g=p||(({Component:c,props:e,key:l})=>{let t=w(c,{key:l,...e});return typeof c.layout=="function"?c.layout(t):Array.isArray(c.layout)?c.layout.concat(t).reverse().reduce((h,S)=>w(S,{children:h,...e})):t});return w(B.Provider,{value:d},w(N.Provider,{value:u.page},g({Component:u.component,key:u.key,props:u.page.props})))}_.displayName="Inertia";async function pe({id:p="app",resolve:n,setup:s,title:a,progress:i={},page:f,render:u}){let m=typeof window>"u",d=m?null:document.getElementById(p),g=f||JSON.parse(d.dataset.page),c=t=>Promise.resolve(n(t)).then(h=>h.default||h),e=[],l=await Promise.all([c(g.component),Re.decryptHistory().catch(()=>{})]).then(([t])=>s({el:d,App:_,props:{initialPage:g,initialComponent:t,resolveComponent:c,titleCallback:a,onHeadUpdate:m?h=>e=h:null}}));if(!m&&i&&xe(i),m){let t=await u(Ie("div",{id:p,"data-page":JSON.stringify(g)},l));return{head:e,body:t}}}import{useEffect as Ae,useState as De}from"react";import{useContext as Ee}from"react";function q(){let p=Ee(N);if(!p)throw new Error("usePage must be used within the Inertia component");return p}var ue=({children:p,data:n,fallback:s})=>{if(!n)throw new Error("`<Deferred>` requires a `data` prop to be a string or array of strings");let[a,i]=De(!1),f=q().props,u=Array.isArray(n)?n:[n];return Ae(()=>{i(u.every(m=>f[m]!==void 0))},[f,u]),a?p:s};ue.displayName="InertiaDeferred";var Oe=ue;import ce,{useContext as we,useEffect as Me,useMemo as Le}from"react";var He=function({children:p,title:n}){let s=we(B),a=Le(()=>s.createProvider(),[s]);Me(()=>()=>{a.disconnect()},[a]);function i(e){return["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"].indexOf(e.type)>-1}function f(e){let l=Object.keys(e.props).reduce((t,h)=>{if(["head-key","children","dangerouslySetInnerHTML"].includes(h))return t;let S=e.props[h];return S===""?t+` ${h}`:t+` ${h}="${S}"`},"");return`<${e.type}${l}>`}function u(e){return typeof e.props.children=="string"?e.props.children:e.props.children.reduce((l,t)=>l+m(t),"")}function m(e){let l=f(e);return e.props.children&&(l+=u(e)),e.props.dangerouslySetInnerHTML&&(l+=e.props.dangerouslySetInnerHTML.__html),i(e)||(l+=`</${e.type}>`),l}function d(e){return ce.cloneElement(e,{inertia:e.props["head-key"]!==void 0?e.props["head-key"]:""})}function g(e){return m(d(e))}function c(e){let l=ce.Children.toArray(e).filter(t=>t).map(t=>g(t));return n&&!l.find(t=>t.startsWith("<title"))&&l.push(`<title inertia>${n}</title>`),l}return a.update(c(p)),null},Be=He;import{mergeDataIntoQueryString as Ne,router as te,shouldIntercept as re}from"@inertiajs/core";import{createElement as Ve,forwardRef as je,useEffect as le,useMemo as fe,useRef as Ue,useState as $e}from"react";var R=()=>{},de=je(({children:p,as:n="a",data:s={},href:a,method:i="get",preserveScroll:f=!1,preserveState:u=null,replace:m=!1,only:d=[],except:g=[],headers:c={},queryStringArrayFormat:e="brackets",async:l=!1,onClick:t=R,onCancelToken:h=R,onBefore:S=R,onStart:I=R,onProgress:E=R,onFinish:Q=R,onCancel:U=R,onSuccess:Y=R,onError:M=R,prefetch:F=!1,cacheFor:b=0,...z},G)=>{let[X,$]=$e(0),L=Ue(null);n=n.toLowerCase(),i=typeof a=="object"?a.method:i.toLowerCase();let[A,Z]=Ne(i,typeof a=="object"?a.url:a||"",s,e),D=A;s=Z;let W={data:s,method:i,preserveScroll:f,preserveState:u??i!=="get",replace:m,only:d,except:g,headers:c,async:l},K={...W,onCancelToken:h,onBefore:S,onStart(r){$(O=>O+1),I(r)},onProgress:E,onFinish(r){$(O=>O-1),Q(r)},onCancel:U,onSuccess:Y,onError:M},H=()=>{te.prefetch(D,W,{cacheFor:ee})},k=fe(()=>F===!0?["hover"]:F===!1?[]:Array.isArray(F)?F:[F],Array.isArray(F)?F:[F]),ee=fe(()=>b!==0?b:k.length===1&&k[0]==="click"?0:3e4,[b,k]);le(()=>()=>{clearTimeout(L.current)},[]),le(()=>{k.includes("mount")&&setTimeout(()=>H())},k);let o={onClick:r=>{t(r),re(r)&&(r.preventDefault(),te.visit(D,K))}},y={onMouseEnter:()=>{L.current=window.setTimeout(()=>{H()},75)},onMouseLeave:()=>{clearTimeout(L.current)},onClick:o.onClick},P={onMouseDown:r=>{re(r)&&(r.preventDefault(),H())},onMouseUp:r=>{r.preventDefault(),te.visit(D,K)},onClick:r=>{t(r),re(r)&&r.preventDefault()}};return i!=="get"&&(n="button"),Ve(n,{...z,...{a:{href:D},button:{type:"button"}}[n]||{},ref:G,...k.includes("hover")?y:k.includes("click")?P:o,"data-loading":X>0?"":void 0},p)});de.displayName="InertiaLink";var We=de;import{router as ge}from"@inertiajs/core";import qe from"lodash.clonedeep";import Je from"lodash.isequal";import{useCallback as v,useEffect as Qe,useRef as J,useState as x}from"react";import{router as me}from"@inertiajs/core";import{useEffect as Ke,useState as _e}from"react";function V(p,n){let[s,a]=_e(()=>{let i=me.restore(n);return i!==void 0?i:p});return Ke(()=>{me.remember(s,n)},[s,n]),[s,a]}function Pe(p,n){let s=J(null),a=typeof p=="string"?p:null,[i,f]=x((typeof p=="string"?n:p)||{}),u=J(null),m=J(null),[d,g]=a?V(i,`${a}:data`):x(i),[c,e]=a?V({},`${a}:errors`):x({}),[l,t]=x(!1),[h,S]=x(!1),[I,E]=x(null),[Q,U]=x(!1),[Y,M]=x(!1),F=J(o=>o);Qe(()=>(s.current=!0,()=>{s.current=!1}),[]);let b=v((...o)=>{let y=typeof o[0]=="object",P=y?o[0].method:o[0],C=y?o[0].url:o[1],r=(y?o[1]:o[2])??{},O={...r,onCancelToken:T=>{if(u.current=T,r.onCancelToken)return r.onCancelToken(T)},onBefore:T=>{if(U(!1),M(!1),clearTimeout(m.current),r.onBefore)return r.onBefore(T)},onStart:T=>{if(S(!0),r.onStart)return r.onStart(T)},onProgress:T=>{if(E(T),r.onProgress)return r.onProgress(T)},onSuccess:T=>{if(s.current&&(S(!1),E(null),e({}),t(!1),U(!0),M(!0),f(qe(d)),m.current=setTimeout(()=>{s.current&&M(!1)},2e3)),r.onSuccess)return r.onSuccess(T)},onError:T=>{if(s.current&&(S(!1),E(null),e(T),t(!0)),r.onError)return r.onError(T)},onCancel:()=>{if(s.current&&(S(!1),E(null)),r.onCancel)return r.onCancel()},onFinish:T=>{if(s.current&&(S(!1),E(null)),u.current=null,r.onFinish)return r.onFinish(T)}};P==="delete"?ge.delete(C,{...O,data:F.current(d)}):ge[P](C,F.current(d),O)},[d,e,F]),z=v((o,y)=>{g(typeof o=="string"?P=>({...P,[o]:y}):typeof o=="function"?P=>o(P):o)},[g]),G=v((o,y)=>{f(typeof o>"u"?()=>d:P=>({...P,...typeof o=="string"?{[o]:y}:o}))},[d,f]),X=v((...o)=>{o.length===0?g(i):g(y=>Object.keys(i).filter(P=>o.includes(P)).reduce((P,C)=>(P[C]=i[C],P),{...y}))},[g,i]),$=v((o,y)=>{e(P=>{let C={...P,...typeof o=="string"?{[o]:y}:o};return t(Object.keys(C).length>0),C})},[e,t]),L=v((...o)=>{e(y=>{let P=Object.keys(y).reduce((C,r)=>({...C,...o.length>0&&!o.includes(r)?{[r]:y[r]}:{}}),{});return t(Object.keys(P).length>0),P})},[e,t]),A=o=>(y,P)=>{b(o,y,P)},Z=v(A("get"),[b]),D=v(A("post"),[b]),W=v(A("put"),[b]),K=v(A("patch"),[b]),H=v(A("delete"),[b]),k=v(()=>{u.current&&u.current.cancel()},[]),ee=v(o=>{F.current=o},[]);return{data:d,setData:z,isDirty:!Je(d,i),errors:c,hasErrors:l,processing:h,progress:I,wasSuccessful:Q,recentlySuccessful:Y,transform:ee,setDefaults:G,reset:X,setError:$,clearErrors:L,submit:b,get:Z,post:D,put:W,patch:K,delete:H,cancel:k}}import{router as Ye}from"@inertiajs/core";import{useEffect as ze,useRef as Ge}from"react";function ye(p,n={},s={keepAlive:!1,autoStart:!0}){let a=Ge(Ye.poll(p,n,{...s,autoStart:!1}));return ze(()=>((s.autoStart??!0)&&a.current.start(),()=>a.current.stop()),[]),{stop:a.current.stop,start:a.current.start}}import{router as j}from"@inertiajs/core";import{useEffect as Xe,useState as oe}from"react";function he(p={}){let n=typeof window>"u"?null:j.getCached(window.location.pathname,p),s=typeof window>"u"?null:j.getPrefetching(window.location.pathname,p),[a,i]=oe(n?.staleTimestamp||null),[f,u]=oe(s!==null),[m,d]=oe(n!==null);return Xe(()=>{let g=j.on("prefetching",e=>{e.detail.visit.url.pathname===window.location.pathname&&u(!0)}),c=j.on("prefetched",e=>{e.detail.visit.url.pathname===window.location.pathname&&(u(!1),d(!0),i(e.detail.fetchedAt))});return()=>{c(),g()}},[]),{lastUpdatedAt:a,isPrefetching:f,isPrefetched:m,flush:()=>j.flush(window.location.pathname,p)}}import{router as Ze}from"@inertiajs/core";import{createElement as et,useCallback as tt,useEffect as rt,useRef as ne,useState as ot}from"react";var Se=({children:p,data:n,params:s,buffer:a,as:i,always:f,fallback:u})=>{f=f??!1,i=i??"div",u=u??null;let[m,d]=ot(!1),g=ne(!1),c=ne(!1),e=ne(null),l=tt(()=>{if(n)return{only:Array.isArray(n)?n:[n]};if(!s)throw new Error("You must provide either a `data` or `params` prop.");return s},[s,n]);return rt(()=>{if(!e.current)return;let t=new IntersectionObserver(h=>{if(!h[0].isIntersecting||(!f&&g.current&&t.disconnect(),c.current))return;g.current=!0,c.current=!0;let S=l();Ze.reload({...S,onStart:I=>{c.current=!0,S.onStart?.(I)},onFinish:I=>{d(!0),c.current=!1,S.onFinish?.(I),f||t.disconnect()}})},{rootMargin:`${a||0}px`});return t.observe(e.current),()=>{t.disconnect()}},[e,l,a]),f||!m?et(i,{props:null,ref:e},m?p:u):m?p:null};Se.displayName="InertiaWhenVisible";var nt=Se;var br=st;export{Oe as Deferred,Be as Head,We as Link,nt as WhenVisible,pe as createInertiaApp,br as router,Pe as useForm,q as usePage,ye as usePoll,he as usePrefetch,V 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/createInertiaApp.ts", "../src/App.ts", "../src/HeadContext.ts", "../src/PageContext.ts", "../src/Deferred.ts", "../src/usePage.ts", "../src/Head.ts", "../src/Link.ts", "../src/useForm.ts", "../src/useRemember.ts", "../src/usePoll.ts", "../src/usePrefetch.ts", "../src/WhenVisible.ts"],
4
- "sourcesContent": ["import { router as Router } from '@inertiajs/core'\n\nexport const router = Router\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 { InertiaFormProps, default as useForm } from './useForm'\nexport { default as usePage } from './usePage'\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 { Page, PageProps, PageResolver, router, setupProgress } from '@inertiajs/core'\nimport { ComponentType, FunctionComponent, Key, ReactElement, ReactNode, createElement } from 'react'\nimport { renderToString } from 'react-dom/server'\nimport App from './App'\n\ntype ReactInstance = ReactElement\ntype ReactComponent = ReactNode\n\ntype HeadManagerOnUpdate = (elements: string[]) => void // TODO: When shipped, replace with: Inertia.HeadManagerOnUpdate\ntype HeadManagerTitleCallback = (title: string) => string // TODO: When shipped, replace with: Inertia.HeadManagerTitleCallback\n\ntype AppType<SharedProps extends PageProps = PageProps> = FunctionComponent<\n {\n children?: (props: { Component: ComponentType; key: Key; props: Page<SharedProps>['props'] }) => ReactNode\n } & SetupOptions<unknown, SharedProps>['props']\n>\n\nexport type SetupOptions<ElementType, SharedProps extends PageProps> = {\n el: ElementType\n App: AppType\n props: {\n initialPage: Page<SharedProps>\n initialComponent: ReactComponent\n resolveComponent: PageResolver\n titleCallback?: HeadManagerTitleCallback\n onHeadUpdate?: HeadManagerOnUpdate\n }\n}\n\ntype BaseInertiaAppOptions = {\n title?: HeadManagerTitleCallback\n resolve: PageResolver\n}\n\ntype CreateInertiaAppSetupReturnType = ReactInstance | void\ntype InertiaAppOptionsForCSR<SharedProps extends PageProps> = BaseInertiaAppOptions & {\n id?: string\n page?: Page | string\n render?: undefined\n progress?:\n | false\n | {\n delay?: number\n color?: string\n includeCSS?: boolean\n showSpinner?: boolean\n }\n setup(options: SetupOptions<HTMLElement, SharedProps>): CreateInertiaAppSetupReturnType\n}\n\ntype CreateInertiaAppSSRContent = { head: string[]; body: string }\ntype InertiaAppOptionsForSSR<SharedProps extends PageProps> = BaseInertiaAppOptions & {\n id?: undefined\n page: Page | string\n render: typeof renderToString\n progress?: undefined\n setup(options: SetupOptions<null, SharedProps>): ReactInstance\n}\n\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>(\n options: InertiaAppOptionsForCSR<SharedProps>,\n): Promise<CreateInertiaAppSetupReturnType>\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>(\n options: InertiaAppOptionsForSSR<SharedProps>,\n): Promise<CreateInertiaAppSSRContent>\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>({\n id = 'app',\n resolve,\n setup,\n title,\n progress = {},\n page,\n render,\n}: InertiaAppOptionsForCSR<SharedProps> | InertiaAppOptionsForSSR<SharedProps>): Promise<\n CreateInertiaAppSetupReturnType | CreateInertiaAppSSRContent\n> {\n const isServer = typeof window === 'undefined'\n const el = isServer ? null : document.getElementById(id)\n const initialPage = page || JSON.parse(el.dataset.page)\n // @ts-expect-error\n const resolveComponent = (name) => Promise.resolve(resolve(name)).then((module) => module.default || module)\n\n let head = []\n\n const reactApp = await Promise.all([\n resolveComponent(initialPage.component),\n router.decryptHistory().catch(() => {}),\n ]).then(([initialComponent]) => {\n return setup({\n // @ts-expect-error\n el,\n App,\n props: {\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback: title,\n onHeadUpdate: isServer ? (elements) => (head = elements) : null,\n },\n })\n })\n\n if (!isServer && progress) {\n setupProgress(progress)\n }\n\n if (isServer) {\n const body = await render(\n createElement(\n 'div',\n {\n id,\n 'data-page': JSON.stringify(initialPage),\n },\n // @ts-expect-error\n reactApp,\n ),\n )\n\n return { head, body }\n }\n}\n", "import { createHeadManager, router } from '@inertiajs/core'\nimport { createElement, useEffect, useMemo, useState } from 'react'\nimport HeadContext from './HeadContext'\nimport PageContext from './PageContext'\n\nexport default function App({\n children,\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback,\n onHeadUpdate,\n}) {\n const [current, setCurrent] = useState({\n component: initialComponent || null,\n page: initialPage,\n key: null,\n })\n\n const headManager = useMemo(() => {\n return createHeadManager(\n typeof window === 'undefined',\n titleCallback || ((title) => title),\n onHeadUpdate || (() => {}),\n )\n }, [])\n\n useEffect(() => {\n router.init({\n initialPage,\n resolveComponent,\n swapComponent: async ({ component, page, preserveState }) => {\n setCurrent((current) => ({\n component,\n page,\n key: preserveState ? current.key : Date.now(),\n }))\n },\n })\n\n router.on('navigate', () => headManager.forceUpdate())\n }, [])\n\n if (!current.component) {\n return createElement(\n HeadContext.Provider,\n { value: headManager },\n createElement(PageContext.Provider, { value: current.page }, null),\n )\n }\n\n const renderChildren =\n children ||\n (({ Component, props, key }) => {\n const child = createElement(Component, { key, ...props })\n\n if (typeof Component.layout === 'function') {\n return Component.layout(child)\n }\n\n if (Array.isArray(Component.layout)) {\n return Component.layout\n .concat(child)\n .reverse()\n .reduce((children, Layout) => createElement(Layout, { children, ...props }))\n }\n\n return child\n })\n\n return createElement(\n HeadContext.Provider,\n { value: headManager },\n createElement(\n PageContext.Provider,\n { value: current.page },\n renderChildren({\n Component: current.component,\n key: current.key,\n props: current.page.props,\n }),\n ),\n )\n}\n\nApp.displayName = 'Inertia'\n", "import { createContext } from 'react'\n\nconst headContext = createContext(undefined)\nheadContext.displayName = 'InertiaHeadContext'\n\nexport default headContext\n", "import { createContext } from 'react'\n\nconst pageContext = createContext(undefined)\npageContext.displayName = 'InertiaPageContext'\n\nexport default pageContext\n", "import { ReactElement, useEffect, useState } from 'react'\nimport usePage from './usePage'\n\ninterface DeferredProps {\n children: ReactElement | number | string\n fallback: ReactElement | number | string\n data: string | string[]\n}\n\nconst Deferred = ({ children, data, fallback }: DeferredProps) => {\n if (!data) {\n throw new Error('`<Deferred>` requires a `data` prop')\n }\n\n const [loaded, setLoaded] = useState(false)\n const pageProps = usePage().props\n const keys = Array.isArray(data) ? data : [data]\n\n useEffect(() => {\n setLoaded(keys.every((key) => pageProps[key] !== undefined))\n }, [pageProps, keys])\n\n return loaded ? children : fallback\n}\n\nDeferred.displayName = 'InertiaDeferred'\n\nexport default Deferred\n", "import { Page, PageProps } from '@inertiajs/core'\nimport { useContext } from 'react'\nimport PageContext from './PageContext'\n\nexport default function usePage<TPageProps extends PageProps = PageProps>(): Page<TPageProps> {\n const page = useContext(PageContext)\n\n if (!page) {\n throw new Error('usePage must be used within the Inertia component')\n }\n\n return page\n}\n", "import React, { FunctionComponent, useContext, useEffect, useMemo } from 'react'\nimport HeadContext from './HeadContext'\n\ntype InertiaHeadProps = {\n title?: string\n children?: React.ReactNode\n}\n\ntype InertiaHead = FunctionComponent<InertiaHeadProps>\n\nconst Head: InertiaHead = function ({ children, title }) {\n const headManager = useContext(HeadContext)\n const provider = useMemo(() => headManager.createProvider(), [headManager])\n\n useEffect(() => {\n return () => {\n provider.disconnect()\n }\n }, [provider])\n\n function 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\n function renderTagStart(node) {\n const attrs = Object.keys(node.props).reduce((carry, name) => {\n if (['head-key', 'children', 'dangerouslySetInnerHTML'].includes(name)) {\n return carry\n }\n const value = node.props[name]\n if (value === '') {\n return carry + ` ${name}`\n } else {\n return carry + ` ${name}=\"${value}\"`\n }\n }, '')\n return `<${node.type}${attrs}>`\n }\n\n function renderTagChildren(node) {\n return typeof node.props.children === 'string'\n ? node.props.children\n : node.props.children.reduce((html, child) => html + renderTag(child), '')\n }\n\n function renderTag(node) {\n let html = renderTagStart(node)\n if (node.props.children) {\n html += renderTagChildren(node)\n }\n if (node.props.dangerouslySetInnerHTML) {\n html += node.props.dangerouslySetInnerHTML.__html\n }\n if (!isUnaryTag(node)) {\n html += `</${node.type}>`\n }\n return html\n }\n\n function ensureNodeHasInertiaProp(node) {\n return React.cloneElement(node, {\n inertia: node.props['head-key'] !== undefined ? node.props['head-key'] : '',\n })\n }\n\n function renderNode(node) {\n return renderTag(ensureNodeHasInertiaProp(node))\n }\n\n function renderNodes(nodes) {\n const computed = React.Children.toArray(nodes)\n .filter((node) => node)\n .map((node) => renderNode(node))\n if (title && !computed.find((tag) => tag.startsWith('<title'))) {\n computed.push(`<title inertia>${title}</title>`)\n }\n return computed\n }\n\n provider.update(renderNodes(children))\n\n return null\n}\nexport default Head\n", "import {\n FormDataConvertible,\n LinkPrefetchOption,\n mergeDataIntoQueryString,\n Method,\n PendingVisit,\n PreserveStateOption,\n Progress,\n router,\n shouldIntercept,\n} from '@inertiajs/core'\nimport { createElement, forwardRef, useEffect, useMemo, useRef, useState } from 'react'\n\nconst noop = () => undefined\n\ninterface BaseInertiaLinkProps {\n as?: string\n data?: Record<string, FormDataConvertible>\n href: string\n method?: Method\n headers?: Record<string, string>\n onClick?: (event: React.MouseEvent<Element>) => 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?: (event: PendingVisit) => void\n onProgress?: (progress: Progress) => void\n onFinish?: (event: PendingVisit) => void\n onCancel?: () => void\n onSuccess?: () => void\n onError?: () => void\n queryStringArrayFormat?: 'indices' | 'brackets'\n async?: boolean\n cacheFor?: number | string\n prefetch?: boolean | LinkPrefetchOption | LinkPrefetchOption[]\n}\n\nexport type InertiaLinkProps = BaseInertiaLinkProps &\n Omit<React.HTMLAttributes<HTMLElement>, keyof BaseInertiaLinkProps> &\n Omit<React.AllHTMLAttributes<HTMLElement>, keyof BaseInertiaLinkProps>\n\nconst Link = forwardRef<unknown, InertiaLinkProps>(\n (\n {\n children,\n as = 'a',\n data = {},\n href,\n method = 'get',\n preserveScroll = false,\n preserveState = null,\n replace = false,\n only = [],\n except = [],\n headers = {},\n queryStringArrayFormat = 'brackets',\n async = false,\n onClick = noop,\n onCancelToken = noop,\n onBefore = noop,\n onStart = noop,\n onProgress = noop,\n onFinish = noop,\n onCancel = noop,\n onSuccess = noop,\n onError = noop,\n prefetch = false,\n cacheFor = 0,\n ...props\n },\n ref,\n ) => {\n const [inFlightCount, setInFlightCount] = useState(0)\n const hoverTimeout = useRef<number>(null)\n\n as = as.toLowerCase()\n method = method.toLowerCase() as Method\n const [_href, _data] = mergeDataIntoQueryString(method, href || '', data, queryStringArrayFormat)\n href = _href\n data = _data\n\n const baseParams = {\n data,\n method,\n preserveScroll,\n preserveState: preserveState ?? method !== 'get',\n replace,\n only,\n except,\n headers,\n async,\n }\n\n const visitParams = {\n ...baseParams,\n onCancelToken,\n onBefore,\n onStart(event) {\n setInFlightCount((count) => count + 1)\n onStart(event)\n },\n onProgress,\n onFinish(event) {\n setInFlightCount((count) => count - 1)\n onFinish(event)\n },\n onCancel,\n onSuccess,\n onError,\n }\n\n const doPrefetch = () => {\n router.prefetch(href, baseParams, { cacheFor: cacheForValue })\n }\n\n const prefetchModes: LinkPrefetchOption[] = useMemo(\n () => {\n if (prefetch === true) {\n return ['hover']\n }\n\n if (prefetch === false) {\n return []\n }\n\n if (Array.isArray(prefetch)) {\n return prefetch\n }\n\n return [prefetch]\n },\n Array.isArray(prefetch) ? prefetch : [prefetch],\n )\n\n const cacheForValue = useMemo(() => {\n if (cacheFor !== 0) {\n // If they've provided a value, respect it\n return 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 }, [cacheFor, prefetchModes])\n\n useEffect(() => {\n return () => {\n clearTimeout(hoverTimeout.current)\n }\n }, [])\n\n useEffect(() => {\n if (prefetchModes.includes('mount')) {\n setTimeout(() => doPrefetch())\n }\n }, prefetchModes)\n\n const regularEvents = {\n onClick: (event) => {\n onClick(event)\n\n if (shouldIntercept(event)) {\n event.preventDefault()\n\n router.visit(href, visitParams)\n }\n },\n }\n\n const prefetchHoverEvents = {\n onMouseEnter: () => {\n hoverTimeout.current = window.setTimeout(() => {\n doPrefetch()\n }, 75)\n },\n onMouseLeave: () => {\n clearTimeout(hoverTimeout.current)\n },\n onClick: regularEvents.onClick,\n }\n\n const prefetchClickEvents = {\n onMouseDown: (event) => {\n if (shouldIntercept(event)) {\n event.preventDefault()\n doPrefetch()\n }\n },\n onMouseUp: (event) => {\n event.preventDefault()\n router.visit(href, visitParams)\n },\n onClick: (event) => {\n onClick(event)\n\n if (shouldIntercept(event)) {\n // Let the mouseup event handle the visit\n event.preventDefault()\n }\n },\n }\n\n if (method !== 'get') {\n as = 'button'\n }\n\n const elProps = {\n a: { href },\n button: { type: 'button' },\n }\n\n return createElement(\n as,\n {\n ...props,\n ...(elProps[as] || {}),\n ref,\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 'data-loading': inFlightCount > 0 ? '' : undefined,\n },\n children,\n )\n },\n)\nLink.displayName = 'InertiaLink'\n\nexport default Link\n", "import { FormDataConvertible, Method, Progress, router, VisitOptions } from '@inertiajs/core'\nimport isEqual from 'lodash.isequal'\nimport { useCallback, useEffect, useRef, useState } from 'react'\nimport useRemember from './useRemember'\n\ntype setDataByObject<TForm> = (data: TForm) => void\ntype setDataByMethod<TForm> = (data: (previousData: TForm) => TForm) => void\ntype setDataByKeyValuePair<TForm> = <K extends keyof TForm>(key: K, value: TForm[K]) => void\ntype FormDataType = Record<string, FormDataConvertible>\ntype FormOptions = Omit<VisitOptions, 'data'>\n\nexport interface InertiaFormProps<TForm extends FormDataType> {\n data: TForm\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 setData: setDataByObject<TForm> & setDataByMethod<TForm> & setDataByKeyValuePair<TForm>\n transform: (callback: (data: TForm) => object) => void\n setDefaults(): void\n setDefaults(field: keyof TForm, value: FormDataConvertible): void\n setDefaults(fields: Partial<TForm>): void\n reset: (...fields: (keyof TForm)[]) => void\n clearErrors: (...fields: (keyof TForm)[]) => void\n setError(field: keyof TForm, value: string): void\n setError(errors: Record<keyof TForm, string>): void\n submit: (method: Method, url: string, options?: FormOptions) => void\n get: (url: string, options?: FormOptions) => void\n patch: (url: string, options?: FormOptions) => void\n post: (url: string, options?: FormOptions) => void\n put: (url: string, options?: FormOptions) => void\n delete: (url: string, options?: FormOptions) => void\n cancel: () => void\n}\nexport default function useForm<TForm extends FormDataType>(initialValues?: TForm): InertiaFormProps<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKey: string,\n initialValues?: TForm,\n): InertiaFormProps<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKeyOrInitialValues?: string | TForm,\n maybeInitialValues?: TForm,\n): InertiaFormProps<TForm> {\n const isMounted = useRef(null)\n const rememberKey = typeof rememberKeyOrInitialValues === 'string' ? rememberKeyOrInitialValues : null\n const [defaults, setDefaults] = useState(\n (typeof rememberKeyOrInitialValues === 'string' ? maybeInitialValues : rememberKeyOrInitialValues) || ({} as TForm),\n )\n const cancelToken = useRef(null)\n const recentlySuccessfulTimeoutId = useRef(null)\n const [data, setData] = rememberKey ? useRemember(defaults, `${rememberKey}:data`) : useState(defaults)\n const [errors, setErrors] = rememberKey\n ? useRemember({} as Partial<Record<keyof TForm, string>>, `${rememberKey}:errors`)\n : useState({} as Partial<Record<keyof TForm, string>>)\n const [hasErrors, setHasErrors] = useState(false)\n const [processing, setProcessing] = useState(false)\n const [progress, setProgress] = useState(null)\n const [wasSuccessful, setWasSuccessful] = useState(false)\n const [recentlySuccessful, setRecentlySuccessful] = useState(false)\n const transform = useRef((data) => data)\n\n useEffect(() => {\n isMounted.current = true\n return () => {\n isMounted.current = false\n }\n }, [])\n\n const submit = useCallback(\n (method, url, options: VisitOptions = {}) => {\n const _options = {\n ...options,\n onCancelToken: (token) => {\n cancelToken.current = token\n\n if (options.onCancelToken) {\n return options.onCancelToken(token)\n }\n },\n onBefore: (visit) => {\n setWasSuccessful(false)\n setRecentlySuccessful(false)\n clearTimeout(recentlySuccessfulTimeoutId.current)\n\n if (options.onBefore) {\n return options.onBefore(visit)\n }\n },\n onStart: (visit) => {\n setProcessing(true)\n\n if (options.onStart) {\n return options.onStart(visit)\n }\n },\n onProgress: (event) => {\n setProgress(event)\n\n if (options.onProgress) {\n return options.onProgress(event)\n }\n },\n onSuccess: (page) => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n setErrors({})\n setHasErrors(false)\n setWasSuccessful(true)\n setRecentlySuccessful(true)\n recentlySuccessfulTimeoutId.current = setTimeout(() => {\n if (isMounted.current) {\n setRecentlySuccessful(false)\n }\n }, 2000)\n }\n\n if (options.onSuccess) {\n return options.onSuccess(page)\n }\n },\n onError: (errors) => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n setErrors(errors)\n setHasErrors(true)\n }\n\n if (options.onError) {\n return options.onError(errors)\n }\n },\n onCancel: () => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n }\n\n if (options.onCancel) {\n return options.onCancel()\n }\n },\n onFinish: (visit) => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n }\n\n cancelToken.current = 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: transform.current(data) })\n } else {\n router[method](url, transform.current(data), _options)\n }\n },\n [data, setErrors, transform],\n )\n\n const setDataFunction = useCallback(\n (keyOrData: keyof TForm | Function | TForm, maybeValue?: TForm[keyof TForm]) => {\n if (typeof keyOrData === 'string') {\n setData((data) => ({ ...data, [keyOrData]: maybeValue }))\n } else if (typeof keyOrData === 'function') {\n setData((data) => keyOrData(data))\n } else {\n setData(keyOrData as TForm)\n }\n },\n [setData],\n )\n\n const setDefaultsFunction = useCallback(\n (fieldOrFields?: keyof TForm | Partial<TForm>, maybeValue?: FormDataConvertible) => {\n if (typeof fieldOrFields === 'undefined') {\n setDefaults(() => data)\n } else {\n setDefaults((defaults) => ({\n ...defaults,\n ...(typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : (fieldOrFields as TForm)),\n }))\n }\n },\n [data, setDefaults],\n )\n\n const reset = useCallback(\n (...fields) => {\n if (fields.length === 0) {\n setData(defaults)\n } else {\n setData((data) =>\n (Object.keys(defaults) as Array<keyof TForm>)\n .filter((key) => fields.includes(key))\n .reduce(\n (carry, key) => {\n carry[key] = defaults[key]\n return carry\n },\n { ...data },\n ),\n )\n }\n },\n [setData, defaults],\n )\n\n const setError = useCallback(\n (fieldOrFields: keyof TForm | Record<keyof TForm, string>, maybeValue?: string) => {\n setErrors((errors) => {\n const newErrors = {\n ...errors,\n ...(typeof fieldOrFields === 'string'\n ? { [fieldOrFields]: maybeValue }\n : (fieldOrFields as Record<keyof TForm, string>)),\n }\n setHasErrors(Object.keys(newErrors).length > 0)\n return newErrors\n })\n },\n [setErrors, setHasErrors],\n )\n\n const clearErrors = useCallback(\n (...fields) => {\n setErrors((errors) => {\n const newErrors = (Object.keys(errors) as Array<keyof TForm>).reduce(\n (carry, field) => ({\n ...carry,\n ...(fields.length > 0 && !fields.includes(field) ? { [field]: errors[field] } : {}),\n }),\n {},\n )\n setHasErrors(Object.keys(newErrors).length > 0)\n return newErrors\n })\n },\n [setErrors, setHasErrors],\n )\n\n const createSubmitMethod = (method) => (url, options) => {\n submit(method, url, options)\n }\n const get = useCallback(createSubmitMethod('get'), [submit])\n const post = useCallback(createSubmitMethod('post'), [submit])\n const put = useCallback(createSubmitMethod('put'), [submit])\n const patch = useCallback(createSubmitMethod('patch'), [submit])\n const deleteMethod = useCallback(createSubmitMethod('delete'), [submit])\n\n const cancel = useCallback(() => {\n if (cancelToken.current) {\n cancelToken.current.cancel()\n }\n }, [])\n\n const transformFunction = useCallback((callback) => {\n transform.current = callback\n }, [])\n\n return {\n data,\n setData: setDataFunction,\n isDirty: !isEqual(data, defaults),\n errors,\n hasErrors,\n processing,\n progress,\n wasSuccessful,\n recentlySuccessful,\n transform: transformFunction,\n setDefaults: setDefaultsFunction,\n reset,\n setError,\n clearErrors,\n submit,\n get,\n post,\n put,\n patch,\n delete: deleteMethod,\n cancel,\n }\n}\n", "import { router } from '@inertiajs/core'\nimport { Dispatch, SetStateAction, useEffect, useState } from 'react'\n\nexport default function useRemember<State>(\n initialState: State,\n key?: string,\n): [State, Dispatch<SetStateAction<State>>] {\n const [state, setState] = useState(() => {\n const restored = router.restore(key) as State\n\n return restored !== undefined ? restored : initialState\n })\n\n useEffect(() => {\n router.remember(state, key)\n }, [state, key])\n\n return [state, setState]\n}\n", "import { PollOptions, ReloadOptions, router } from '@inertiajs/core'\nimport { useEffect, useRef } from 'react'\n\nexport default function usePoll(\n interval: number,\n requestOptions: ReloadOptions = {},\n options: PollOptions = {\n keepAlive: false,\n autoStart: true,\n },\n) {\n const pollRef = useRef(\n router.poll(interval, requestOptions, {\n ...options,\n autoStart: false,\n }),\n )\n\n useEffect(() => {\n if (options.autoStart ?? true) {\n pollRef.current.start()\n }\n\n return () => pollRef.current.stop()\n }, [])\n\n return {\n stop: pollRef.current.stop,\n start: pollRef.current.start,\n }\n}\n", "import { router, VisitOptions } from '@inertiajs/core'\nimport { useEffect, useState } from 'react'\n\nexport default function usePrefetch(options: VisitOptions = {}): {\n lastUpdatedAt: number | null\n isPrefetching: boolean\n isPrefetched: boolean\n flush: () => void\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 const [lastUpdatedAt, setLastUpdatedAt] = useState<number | null>(cached?.staleTimestamp || null)\n const [isPrefetching, setIsPrefetching] = useState(inFlight !== null)\n const [isPrefetched, setIsPrefetched] = useState(cached !== null)\n\n useEffect(() => {\n const onPrefetchingListener = router.on('prefetching', (e) => {\n if (e.detail.visit.url.pathname === window.location.pathname) {\n setIsPrefetching(true)\n }\n })\n\n const onPrefetchedListener = router.on('prefetched', (e) => {\n if (e.detail.visit.url.pathname === window.location.pathname) {\n setIsPrefetching(false)\n setIsPrefetched(true)\n setLastUpdatedAt(e.detail.fetchedAt)\n }\n })\n\n return () => {\n onPrefetchedListener()\n onPrefetchingListener()\n }\n }, [])\n\n return {\n lastUpdatedAt,\n isPrefetching,\n isPrefetched,\n flush: () => router.flush(window.location.pathname, options),\n }\n}\n", "import { ReloadOptions, router } from '@inertiajs/core'\nimport { createElement, ReactElement, useCallback, useEffect, useRef, useState } from 'react'\n\ninterface WhenVisibleProps {\n children: ReactElement | number | string\n fallback: ReactElement | number | string\n data?: string | string[]\n params?: ReloadOptions\n buffer?: number\n as?: string\n always?: boolean\n}\n\nconst WhenVisible = ({ children, data, params, buffer, as, always, fallback }: WhenVisibleProps) => {\n always = always ?? false\n as = as ?? 'div'\n fallback = fallback ?? null\n\n const [loaded, setLoaded] = useState(false)\n const hasFetched = useRef<boolean>(false)\n const fetching = useRef<boolean>(false)\n const ref = useRef<HTMLDivElement>(null)\n\n const getReloadParams = useCallback<() => Partial<ReloadOptions>>(() => {\n if (data) {\n return {\n only: (Array.isArray(data) ? data : [data]) as string[],\n }\n }\n\n if (!params) {\n throw new Error('You must provide either a `data` or `params` prop.')\n }\n\n return params\n }, [params, data])\n\n useEffect(() => {\n if (!ref.current) {\n return\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n if (!entries[0].isIntersecting) {\n return\n }\n\n if (!always && hasFetched.current) {\n observer.disconnect()\n }\n\n if (fetching.current) {\n return\n }\n\n hasFetched.current = true\n fetching.current = true\n\n const reloadParams = getReloadParams()\n\n router.reload({\n ...reloadParams,\n onStart: (e) => {\n fetching.current = true\n reloadParams.onStart?.(e)\n },\n onFinish: (e) => {\n setLoaded(true)\n fetching.current = false\n reloadParams.onFinish?.(e)\n\n if (!always) {\n observer.disconnect()\n }\n },\n })\n },\n {\n rootMargin: `${buffer || 0}px`,\n },\n )\n\n observer.observe(ref.current)\n\n return () => {\n observer.disconnect()\n }\n }, [ref, getReloadParams, buffer])\n\n if (always || !loaded) {\n return createElement(\n as,\n {\n props: null,\n ref,\n },\n loaded ? children : fallback,\n )\n }\n\n return loaded ? children : null\n}\n\nWhenVisible.displayName = 'InertiaWhenVisible'\n\nexport default WhenVisible\n"],
5
- "mappings": "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",
6
- "names": ["Router", "router", "setupProgress", "createElement", "createHeadManager", "router", "createElement", "useEffect", "useMemo", "useState", "createContext", "headContext", "HeadContext_default", "createContext", "pageContext", "PageContext_default", "App", "children", "initialPage", "initialComponent", "resolveComponent", "titleCallback", "onHeadUpdate", "current", "setCurrent", "useState", "headManager", "useMemo", "createHeadManager", "title", "useEffect", "router", "component", "page", "preserveState", "createElement", "HeadContext_default", "PageContext_default", "renderChildren", "Component", "props", "key", "child", "Layout", "createInertiaApp", "id", "resolve", "setup", "title", "progress", "page", "render", "isServer", "el", "initialPage", "resolveComponent", "name", "module", "head", "reactApp", "router", "initialComponent", "App", "elements", "setupProgress", "body", "createElement", "useEffect", "useState", "useContext", "usePage", "page", "useContext", "PageContext_default", "Deferred", "children", "data", "fallback", "loaded", "setLoaded", "useState", "pageProps", "usePage", "keys", "useEffect", "key", "Deferred_default", "React", "useContext", "useEffect", "useMemo", "Head", "children", "title", "headManager", "useContext", "HeadContext_default", "provider", "useMemo", "useEffect", "isUnaryTag", "node", "renderTagStart", "attrs", "carry", "name", "value", "renderTagChildren", "html", "child", "renderTag", "ensureNodeHasInertiaProp", "React", "renderNode", "renderNodes", "nodes", "computed", "tag", "Head_default", "mergeDataIntoQueryString", "router", "shouldIntercept", "createElement", "forwardRef", "useEffect", "useMemo", "useRef", "useState", "noop", "Link", "children", "as", "data", "href", "method", "preserveScroll", "preserveState", "replace", "only", "except", "headers", "queryStringArrayFormat", "async", "onClick", "onCancelToken", "onBefore", "onStart", "onProgress", "onFinish", "onCancel", "onSuccess", "onError", "prefetch", "cacheFor", "props", "ref", "inFlightCount", "setInFlightCount", "hoverTimeout", "_href", "_data", "baseParams", "visitParams", "event", "count", "doPrefetch", "cacheForValue", "prefetchModes", "regularEvents", "prefetchHoverEvents", "prefetchClickEvents", "Link_default", "router", "isEqual", "useCallback", "useEffect", "useRef", "useState", "router", "useEffect", "useState", "useRemember", "initialState", "key", "state", "setState", "restored", "useForm", "rememberKeyOrInitialValues", "maybeInitialValues", "isMounted", "useRef", "rememberKey", "defaults", "setDefaults", "useState", "cancelToken", "recentlySuccessfulTimeoutId", "data", "setData", "useRemember", "errors", "setErrors", "hasErrors", "setHasErrors", "processing", "setProcessing", "progress", "setProgress", "wasSuccessful", "setWasSuccessful", "recentlySuccessful", "setRecentlySuccessful", "transform", "useEffect", "submit", "useCallback", "method", "url", "options", "_options", "token", "visit", "event", "page", "router", "setDataFunction", "keyOrData", "maybeValue", "setDefaultsFunction", "fieldOrFields", "reset", "fields", "key", "carry", "setError", "newErrors", "clearErrors", "field", "createSubmitMethod", "get", "post", "put", "patch", "deleteMethod", "cancel", "transformFunction", "callback", "isEqual", "router", "useEffect", "useRef", "usePoll", "interval", "requestOptions", "options", "pollRef", "router", "useEffect", "useState", "usePrefetch", "options", "cached", "inFlight", "lastUpdatedAt", "setLastUpdatedAt", "isPrefetching", "setIsPrefetching", "isPrefetched", "setIsPrefetched", "onPrefetchingListener", "onPrefetchedListener", "router", "createElement", "useCallback", "useEffect", "useRef", "useState", "WhenVisible", "children", "data", "params", "buffer", "as", "always", "fallback", "loaded", "setLoaded", "hasFetched", "fetching", "ref", "getReloadParams", "observer", "entries", "reloadParams", "e", "WhenVisible_default", "router", "Router"]
4
+ "sourcesContent": ["import { router as Router } from '@inertiajs/core'\n\nexport const router = Router\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 { InertiaFormProps, default as useForm } from './useForm'\nexport { default as usePage } from './usePage'\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 { Page, PageProps, PageResolver, router, setupProgress } from '@inertiajs/core'\nimport { ComponentType, FunctionComponent, Key, ReactElement, ReactNode, createElement } from 'react'\nimport { renderToString } from 'react-dom/server'\nimport App from './App'\n\ntype ReactInstance = ReactElement\ntype ReactComponent = ReactNode\n\ntype HeadManagerOnUpdate = (elements: string[]) => void // TODO: When shipped, replace with: Inertia.HeadManagerOnUpdate\ntype HeadManagerTitleCallback = (title: string) => string // TODO: When shipped, replace with: Inertia.HeadManagerTitleCallback\n\ntype AppType<SharedProps extends PageProps = PageProps> = FunctionComponent<\n {\n children?: (props: { Component: ComponentType; key: Key; props: Page<SharedProps>['props'] }) => ReactNode\n } & SetupOptions<unknown, SharedProps>['props']\n>\n\nexport type SetupOptions<ElementType, SharedProps extends PageProps> = {\n el: ElementType\n App: AppType\n props: {\n initialPage: Page<SharedProps>\n initialComponent: ReactComponent\n resolveComponent: PageResolver\n titleCallback?: HeadManagerTitleCallback\n onHeadUpdate?: HeadManagerOnUpdate\n }\n}\n\ntype BaseInertiaAppOptions = {\n title?: HeadManagerTitleCallback\n resolve: PageResolver\n}\n\ntype CreateInertiaAppSetupReturnType = ReactInstance | void\ntype InertiaAppOptionsForCSR<SharedProps extends PageProps> = BaseInertiaAppOptions & {\n id?: string\n page?: Page | string\n render?: undefined\n progress?:\n | false\n | {\n delay?: number\n color?: string\n includeCSS?: boolean\n showSpinner?: boolean\n }\n setup(options: SetupOptions<HTMLElement, SharedProps>): CreateInertiaAppSetupReturnType\n}\n\ntype CreateInertiaAppSSRContent = { head: string[]; body: string }\ntype InertiaAppOptionsForSSR<SharedProps extends PageProps> = BaseInertiaAppOptions & {\n id?: undefined\n page: Page | string\n render: typeof renderToString\n progress?: undefined\n setup(options: SetupOptions<null, SharedProps>): ReactInstance\n}\n\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>(\n options: InertiaAppOptionsForCSR<SharedProps>,\n): Promise<CreateInertiaAppSetupReturnType>\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>(\n options: InertiaAppOptionsForSSR<SharedProps>,\n): Promise<CreateInertiaAppSSRContent>\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>({\n id = 'app',\n resolve,\n setup,\n title,\n progress = {},\n page,\n render,\n}: InertiaAppOptionsForCSR<SharedProps> | InertiaAppOptionsForSSR<SharedProps>): Promise<\n CreateInertiaAppSetupReturnType | CreateInertiaAppSSRContent\n> {\n const isServer = typeof window === 'undefined'\n const el = isServer ? null : document.getElementById(id)\n const initialPage = page || JSON.parse(el.dataset.page)\n // @ts-expect-error\n const resolveComponent = (name) => Promise.resolve(resolve(name)).then((module) => module.default || module)\n\n let head = []\n\n const reactApp = await Promise.all([\n resolveComponent(initialPage.component),\n router.decryptHistory().catch(() => {}),\n ]).then(([initialComponent]) => {\n return setup({\n // @ts-expect-error\n el,\n App,\n props: {\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback: title,\n onHeadUpdate: isServer ? (elements) => (head = elements) : null,\n },\n })\n })\n\n if (!isServer && progress) {\n setupProgress(progress)\n }\n\n if (isServer) {\n const body = await render(\n createElement(\n 'div',\n {\n id,\n 'data-page': JSON.stringify(initialPage),\n },\n // @ts-expect-error\n reactApp,\n ),\n )\n\n return { head, body }\n }\n}\n", "import { createHeadManager, router } from '@inertiajs/core'\nimport { createElement, useEffect, useMemo, useState } from 'react'\nimport HeadContext from './HeadContext'\nimport PageContext from './PageContext'\n\nexport default function App({\n children,\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback,\n onHeadUpdate,\n}) {\n const [current, setCurrent] = useState({\n component: initialComponent || null,\n page: initialPage,\n key: null,\n })\n\n const headManager = useMemo(() => {\n return createHeadManager(\n typeof window === 'undefined',\n titleCallback || ((title) => title),\n onHeadUpdate || (() => {}),\n )\n }, [])\n\n useEffect(() => {\n router.init({\n initialPage,\n resolveComponent,\n swapComponent: async ({ component, page, preserveState }) => {\n setCurrent((current) => ({\n component,\n page,\n key: preserveState ? current.key : Date.now(),\n }))\n },\n })\n\n router.on('navigate', () => headManager.forceUpdate())\n }, [])\n\n if (!current.component) {\n return createElement(\n HeadContext.Provider,\n { value: headManager },\n createElement(PageContext.Provider, { value: current.page }, null),\n )\n }\n\n const renderChildren =\n children ||\n (({ Component, props, key }) => {\n const child = createElement(Component, { key, ...props })\n\n if (typeof Component.layout === 'function') {\n return Component.layout(child)\n }\n\n if (Array.isArray(Component.layout)) {\n return Component.layout\n .concat(child)\n .reverse()\n .reduce((children, Layout) => createElement(Layout, { children, ...props }))\n }\n\n return child\n })\n\n return createElement(\n HeadContext.Provider,\n { value: headManager },\n createElement(\n PageContext.Provider,\n { value: current.page },\n renderChildren({\n Component: current.component,\n key: current.key,\n props: current.page.props,\n }),\n ),\n )\n}\n\nApp.displayName = 'Inertia'\n", "import { createContext } from 'react'\n\nconst headContext = createContext(undefined)\nheadContext.displayName = 'InertiaHeadContext'\n\nexport default headContext\n", "import { createContext } from 'react'\n\nconst pageContext = createContext(undefined)\npageContext.displayName = 'InertiaPageContext'\n\nexport default pageContext\n", "import { ReactElement, useEffect, useState } from 'react'\nimport usePage from './usePage'\n\ninterface DeferredProps {\n children: ReactElement | number | string\n fallback: ReactElement | number | string\n data: string | string[]\n}\n\nconst Deferred = ({ children, data, fallback }: DeferredProps) => {\n if (!data) {\n throw new Error('`<Deferred>` requires a `data` prop to be a string or array of strings')\n }\n\n const [loaded, setLoaded] = useState(false)\n const pageProps = usePage().props\n const keys = Array.isArray(data) ? data : [data]\n\n useEffect(() => {\n setLoaded(keys.every((key) => pageProps[key] !== undefined))\n }, [pageProps, keys])\n\n return loaded ? children : fallback\n}\n\nDeferred.displayName = 'InertiaDeferred'\n\nexport default Deferred\n", "import { Page, PageProps } from '@inertiajs/core'\nimport { useContext } from 'react'\nimport PageContext from './PageContext'\n\nexport default function usePage<TPageProps extends PageProps = PageProps>(): Page<TPageProps> {\n const page = useContext(PageContext)\n\n if (!page) {\n throw new Error('usePage must be used within the Inertia component')\n }\n\n return page\n}\n", "import React, { FunctionComponent, useContext, useEffect, useMemo } from 'react'\nimport HeadContext from './HeadContext'\n\ntype InertiaHeadProps = {\n title?: string\n children?: React.ReactNode\n}\n\ntype InertiaHead = FunctionComponent<InertiaHeadProps>\n\nconst Head: InertiaHead = function ({ children, title }) {\n const headManager = useContext(HeadContext)\n const provider = useMemo(() => headManager.createProvider(), [headManager])\n\n useEffect(() => {\n return () => {\n provider.disconnect()\n }\n }, [provider])\n\n function 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\n function renderTagStart(node) {\n const attrs = Object.keys(node.props).reduce((carry, name) => {\n if (['head-key', 'children', 'dangerouslySetInnerHTML'].includes(name)) {\n return carry\n }\n const value = node.props[name]\n if (value === '') {\n return carry + ` ${name}`\n } else {\n return carry + ` ${name}=\"${value}\"`\n }\n }, '')\n return `<${node.type}${attrs}>`\n }\n\n function renderTagChildren(node) {\n return typeof node.props.children === 'string'\n ? node.props.children\n : node.props.children.reduce((html, child) => html + renderTag(child), '')\n }\n\n function renderTag(node) {\n let html = renderTagStart(node)\n if (node.props.children) {\n html += renderTagChildren(node)\n }\n if (node.props.dangerouslySetInnerHTML) {\n html += node.props.dangerouslySetInnerHTML.__html\n }\n if (!isUnaryTag(node)) {\n html += `</${node.type}>`\n }\n return html\n }\n\n function ensureNodeHasInertiaProp(node) {\n return React.cloneElement(node, {\n inertia: node.props['head-key'] !== undefined ? node.props['head-key'] : '',\n })\n }\n\n function renderNode(node) {\n return renderTag(ensureNodeHasInertiaProp(node))\n }\n\n function renderNodes(nodes) {\n const computed = React.Children.toArray(nodes)\n .filter((node) => node)\n .map((node) => renderNode(node))\n if (title && !computed.find((tag) => tag.startsWith('<title'))) {\n computed.push(`<title inertia>${title}</title>`)\n }\n return computed\n }\n\n provider.update(renderNodes(children))\n\n return null\n}\nexport default Head\n", "import {\n FormDataConvertible,\n LinkPrefetchOption,\n mergeDataIntoQueryString,\n Method,\n PendingVisit,\n PreserveStateOption,\n Progress,\n router,\n shouldIntercept,\n} from '@inertiajs/core'\nimport { createElement, forwardRef, useEffect, useMemo, useRef, useState } from 'react'\n\nconst noop = () => undefined\n\ninterface BaseInertiaLinkProps {\n as?: string\n data?: Record<string, FormDataConvertible>\n href: string | { url: string; method: Method }\n method?: Method\n headers?: Record<string, string>\n onClick?: (event: React.MouseEvent<Element>) => 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?: (event: PendingVisit) => void\n onProgress?: (progress: Progress) => void\n onFinish?: (event: PendingVisit) => void\n onCancel?: () => void\n onSuccess?: () => void\n onError?: () => void\n queryStringArrayFormat?: 'indices' | 'brackets'\n async?: boolean\n cacheFor?: number | string\n prefetch?: boolean | LinkPrefetchOption | LinkPrefetchOption[]\n}\n\nexport type InertiaLinkProps = BaseInertiaLinkProps &\n Omit<React.HTMLAttributes<HTMLElement>, keyof BaseInertiaLinkProps> &\n Omit<React.AllHTMLAttributes<HTMLElement>, keyof BaseInertiaLinkProps>\n\nconst Link = forwardRef<unknown, InertiaLinkProps>(\n (\n {\n children,\n as = 'a',\n data = {},\n href,\n method = 'get',\n preserveScroll = false,\n preserveState = null,\n replace = false,\n only = [],\n except = [],\n headers = {},\n queryStringArrayFormat = 'brackets',\n async = false,\n onClick = noop,\n onCancelToken = noop,\n onBefore = noop,\n onStart = noop,\n onProgress = noop,\n onFinish = noop,\n onCancel = noop,\n onSuccess = noop,\n onError = noop,\n prefetch = false,\n cacheFor = 0,\n ...props\n },\n ref,\n ) => {\n const [inFlightCount, setInFlightCount] = useState(0)\n const hoverTimeout = useRef<number>(null)\n\n as = as.toLowerCase()\n method = typeof href === 'object' ? href.method : (method.toLowerCase() as Method)\n const [_href, _data] = mergeDataIntoQueryString(\n method,\n typeof href === 'object' ? href.url : href || '',\n data,\n queryStringArrayFormat,\n )\n const url = _href\n data = _data\n\n const baseParams = {\n data,\n method,\n preserveScroll,\n preserveState: preserveState ?? method !== 'get',\n replace,\n only,\n except,\n headers,\n async,\n }\n\n const visitParams = {\n ...baseParams,\n onCancelToken,\n onBefore,\n onStart(event) {\n setInFlightCount((count) => count + 1)\n onStart(event)\n },\n onProgress,\n onFinish(event) {\n setInFlightCount((count) => count - 1)\n onFinish(event)\n },\n onCancel,\n onSuccess,\n onError,\n }\n\n const doPrefetch = () => {\n router.prefetch(url, baseParams, { cacheFor: cacheForValue })\n }\n\n const prefetchModes: LinkPrefetchOption[] = useMemo(\n () => {\n if (prefetch === true) {\n return ['hover']\n }\n\n if (prefetch === false) {\n return []\n }\n\n if (Array.isArray(prefetch)) {\n return prefetch\n }\n\n return [prefetch]\n },\n Array.isArray(prefetch) ? prefetch : [prefetch],\n )\n\n const cacheForValue = useMemo(() => {\n if (cacheFor !== 0) {\n // If they've provided a value, respect it\n return 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 }, [cacheFor, prefetchModes])\n\n useEffect(() => {\n return () => {\n clearTimeout(hoverTimeout.current)\n }\n }, [])\n\n useEffect(() => {\n if (prefetchModes.includes('mount')) {\n setTimeout(() => doPrefetch())\n }\n }, prefetchModes)\n\n const regularEvents = {\n onClick: (event) => {\n onClick(event)\n\n if (shouldIntercept(event)) {\n event.preventDefault()\n\n router.visit(url, visitParams)\n }\n },\n }\n\n const prefetchHoverEvents = {\n onMouseEnter: () => {\n hoverTimeout.current = window.setTimeout(() => {\n doPrefetch()\n }, 75)\n },\n onMouseLeave: () => {\n clearTimeout(hoverTimeout.current)\n },\n onClick: regularEvents.onClick,\n }\n\n const prefetchClickEvents = {\n onMouseDown: (event) => {\n if (shouldIntercept(event)) {\n event.preventDefault()\n doPrefetch()\n }\n },\n onMouseUp: (event) => {\n event.preventDefault()\n router.visit(url, visitParams)\n },\n onClick: (event) => {\n onClick(event)\n\n if (shouldIntercept(event)) {\n // Let the mouseup event handle the visit\n event.preventDefault()\n }\n },\n }\n\n if (method !== 'get') {\n as = 'button'\n }\n\n const elProps = {\n a: { href: url },\n button: { type: 'button' },\n }\n\n return createElement(\n as,\n {\n ...props,\n ...(elProps[as] || {}),\n ref,\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 'data-loading': inFlightCount > 0 ? '' : undefined,\n },\n children,\n )\n },\n)\nLink.displayName = 'InertiaLink'\n\nexport default Link\n", "import { FormDataConvertible, Method, Progress, router, VisitOptions } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport isEqual from 'lodash.isequal'\nimport { useCallback, useEffect, useRef, useState } from 'react'\nimport useRemember from './useRemember'\n\ntype setDataByObject<TForm> = (data: TForm) => void\ntype setDataByMethod<TForm> = (data: (previousData: TForm) => TForm) => void\ntype setDataByKeyValuePair<TForm> = <K extends keyof TForm>(key: K, value: TForm[K]) => void\ntype FormDataType = Record<string, FormDataConvertible>\ntype FormOptions = Omit<VisitOptions, 'data'>\n\nexport interface InertiaFormProps<TForm extends FormDataType> {\n data: TForm\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 setData: setDataByObject<TForm> & setDataByMethod<TForm> & setDataByKeyValuePair<TForm>\n transform: (callback: (data: TForm) => object) => void\n setDefaults(): void\n setDefaults(field: keyof TForm, value: FormDataConvertible): void\n setDefaults(fields: Partial<TForm>): void\n reset: (...fields: (keyof TForm)[]) => void\n clearErrors: (...fields: (keyof TForm)[]) => void\n setError(field: keyof TForm, value: string): void\n setError(errors: Record<keyof TForm, string>): void\n submit: (...args: [Method, string, FormOptions?] | [{ url: string; method: Method }, FormOptions?]) => void\n get: (url: string, options?: FormOptions) => void\n patch: (url: string, options?: FormOptions) => void\n post: (url: string, options?: FormOptions) => void\n put: (url: string, options?: FormOptions) => void\n delete: (url: string, options?: FormOptions) => void\n cancel: () => void\n}\nexport default function useForm<TForm extends FormDataType>(initialValues?: TForm): InertiaFormProps<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKey: string,\n initialValues?: TForm,\n): InertiaFormProps<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKeyOrInitialValues?: string | TForm,\n maybeInitialValues?: TForm,\n): InertiaFormProps<TForm> {\n const isMounted = useRef(null)\n const rememberKey = typeof rememberKeyOrInitialValues === 'string' ? rememberKeyOrInitialValues : null\n const [defaults, setDefaults] = useState(\n (typeof rememberKeyOrInitialValues === 'string' ? maybeInitialValues : rememberKeyOrInitialValues) || ({} as TForm),\n )\n const cancelToken = useRef(null)\n const recentlySuccessfulTimeoutId = useRef(null)\n const [data, setData] = rememberKey ? useRemember(defaults, `${rememberKey}:data`) : useState(defaults)\n const [errors, setErrors] = rememberKey\n ? useRemember({} as Partial<Record<keyof TForm, string>>, `${rememberKey}:errors`)\n : useState({} as Partial<Record<keyof TForm, string>>)\n const [hasErrors, setHasErrors] = useState(false)\n const [processing, setProcessing] = useState(false)\n const [progress, setProgress] = useState(null)\n const [wasSuccessful, setWasSuccessful] = useState(false)\n const [recentlySuccessful, setRecentlySuccessful] = useState(false)\n const transform = useRef((data) => data)\n\n useEffect(() => {\n isMounted.current = true\n return () => {\n isMounted.current = false\n }\n }, [])\n\n const submit = useCallback(\n (...args) => {\n const objectPassed = typeof args[0] === 'object'\n\n const method = objectPassed ? args[0].method : args[0]\n const url = objectPassed ? args[0].url : args[1]\n const options = (objectPassed ? args[1] : args[2]) ?? {}\n\n const _options = {\n ...options,\n onCancelToken: (token) => {\n cancelToken.current = token\n\n if (options.onCancelToken) {\n return options.onCancelToken(token)\n }\n },\n onBefore: (visit) => {\n setWasSuccessful(false)\n setRecentlySuccessful(false)\n clearTimeout(recentlySuccessfulTimeoutId.current)\n\n if (options.onBefore) {\n return options.onBefore(visit)\n }\n },\n onStart: (visit) => {\n setProcessing(true)\n\n if (options.onStart) {\n return options.onStart(visit)\n }\n },\n onProgress: (event) => {\n setProgress(event)\n\n if (options.onProgress) {\n return options.onProgress(event)\n }\n },\n onSuccess: (page) => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n setErrors({})\n setHasErrors(false)\n setWasSuccessful(true)\n setRecentlySuccessful(true)\n setDefaults(cloneDeep(data))\n recentlySuccessfulTimeoutId.current = setTimeout(() => {\n if (isMounted.current) {\n setRecentlySuccessful(false)\n }\n }, 2000)\n }\n\n if (options.onSuccess) {\n return options.onSuccess(page)\n }\n },\n onError: (errors) => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n setErrors(errors)\n setHasErrors(true)\n }\n\n if (options.onError) {\n return options.onError(errors)\n }\n },\n onCancel: () => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n }\n\n if (options.onCancel) {\n return options.onCancel()\n }\n },\n onFinish: (visit) => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n }\n\n cancelToken.current = 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: transform.current(data) })\n } else {\n router[method](url, transform.current(data), _options)\n }\n },\n [data, setErrors, transform],\n )\n\n const setDataFunction = useCallback(\n (keyOrData: keyof TForm | Function | TForm, maybeValue?: TForm[keyof TForm]) => {\n if (typeof keyOrData === 'string') {\n setData((data) => ({ ...data, [keyOrData]: maybeValue }))\n } else if (typeof keyOrData === 'function') {\n setData((data) => keyOrData(data))\n } else {\n setData(keyOrData as TForm)\n }\n },\n [setData],\n )\n\n const setDefaultsFunction = useCallback(\n (fieldOrFields?: keyof TForm | Partial<TForm>, maybeValue?: FormDataConvertible) => {\n if (typeof fieldOrFields === 'undefined') {\n setDefaults(() => data)\n } else {\n setDefaults((defaults) => ({\n ...defaults,\n ...(typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : (fieldOrFields as TForm)),\n }))\n }\n },\n [data, setDefaults],\n )\n\n const reset = useCallback(\n (...fields) => {\n if (fields.length === 0) {\n setData(defaults)\n } else {\n setData((data) =>\n (Object.keys(defaults) as Array<keyof TForm>)\n .filter((key) => fields.includes(key))\n .reduce(\n (carry, key) => {\n carry[key] = defaults[key]\n return carry\n },\n { ...data },\n ),\n )\n }\n },\n [setData, defaults],\n )\n\n const setError = useCallback(\n (fieldOrFields: keyof TForm | Record<keyof TForm, string>, maybeValue?: string) => {\n setErrors((errors) => {\n const newErrors = {\n ...errors,\n ...(typeof fieldOrFields === 'string'\n ? { [fieldOrFields]: maybeValue }\n : (fieldOrFields as Record<keyof TForm, string>)),\n }\n setHasErrors(Object.keys(newErrors).length > 0)\n return newErrors\n })\n },\n [setErrors, setHasErrors],\n )\n\n const clearErrors = useCallback(\n (...fields) => {\n setErrors((errors) => {\n const newErrors = (Object.keys(errors) as Array<keyof TForm>).reduce(\n (carry, field) => ({\n ...carry,\n ...(fields.length > 0 && !fields.includes(field) ? { [field]: errors[field] } : {}),\n }),\n {},\n )\n setHasErrors(Object.keys(newErrors).length > 0)\n return newErrors\n })\n },\n [setErrors, setHasErrors],\n )\n\n const createSubmitMethod = (method) => (url, options) => {\n submit(method, url, options)\n }\n const get = useCallback(createSubmitMethod('get'), [submit])\n const post = useCallback(createSubmitMethod('post'), [submit])\n const put = useCallback(createSubmitMethod('put'), [submit])\n const patch = useCallback(createSubmitMethod('patch'), [submit])\n const deleteMethod = useCallback(createSubmitMethod('delete'), [submit])\n\n const cancel = useCallback(() => {\n if (cancelToken.current) {\n cancelToken.current.cancel()\n }\n }, [])\n\n const transformFunction = useCallback((callback) => {\n transform.current = callback\n }, [])\n\n return {\n data,\n setData: setDataFunction,\n isDirty: !isEqual(data, defaults),\n errors,\n hasErrors,\n processing,\n progress,\n wasSuccessful,\n recentlySuccessful,\n transform: transformFunction,\n setDefaults: setDefaultsFunction,\n reset,\n setError,\n clearErrors,\n submit,\n get,\n post,\n put,\n patch,\n delete: deleteMethod,\n cancel,\n }\n}\n", "import { router } from '@inertiajs/core'\nimport { Dispatch, SetStateAction, useEffect, useState } from 'react'\n\nexport default function useRemember<State>(\n initialState: State,\n key?: string,\n): [State, Dispatch<SetStateAction<State>>] {\n const [state, setState] = useState(() => {\n const restored = router.restore(key) as State\n\n return restored !== undefined ? restored : initialState\n })\n\n useEffect(() => {\n router.remember(state, key)\n }, [state, key])\n\n return [state, setState]\n}\n", "import { PollOptions, ReloadOptions, router } from '@inertiajs/core'\nimport { useEffect, useRef } from 'react'\n\nexport default function usePoll(\n interval: number,\n requestOptions: ReloadOptions = {},\n options: PollOptions = {\n keepAlive: false,\n autoStart: true,\n },\n) {\n const pollRef = useRef(\n router.poll(interval, requestOptions, {\n ...options,\n autoStart: false,\n }),\n )\n\n useEffect(() => {\n if (options.autoStart ?? true) {\n pollRef.current.start()\n }\n\n return () => pollRef.current.stop()\n }, [])\n\n return {\n stop: pollRef.current.stop,\n start: pollRef.current.start,\n }\n}\n", "import { router, VisitOptions } from '@inertiajs/core'\nimport { useEffect, useState } from 'react'\n\nexport default function usePrefetch(options: VisitOptions = {}): {\n lastUpdatedAt: number | null\n isPrefetching: boolean\n isPrefetched: boolean\n flush: () => void\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 const [lastUpdatedAt, setLastUpdatedAt] = useState<number | null>(cached?.staleTimestamp || null)\n const [isPrefetching, setIsPrefetching] = useState(inFlight !== null)\n const [isPrefetched, setIsPrefetched] = useState(cached !== null)\n\n useEffect(() => {\n const onPrefetchingListener = router.on('prefetching', (e) => {\n if (e.detail.visit.url.pathname === window.location.pathname) {\n setIsPrefetching(true)\n }\n })\n\n const onPrefetchedListener = router.on('prefetched', (e) => {\n if (e.detail.visit.url.pathname === window.location.pathname) {\n setIsPrefetching(false)\n setIsPrefetched(true)\n setLastUpdatedAt(e.detail.fetchedAt)\n }\n })\n\n return () => {\n onPrefetchedListener()\n onPrefetchingListener()\n }\n }, [])\n\n return {\n lastUpdatedAt,\n isPrefetching,\n isPrefetched,\n flush: () => router.flush(window.location.pathname, options),\n }\n}\n", "import { ReloadOptions, router } from '@inertiajs/core'\nimport { createElement, ReactElement, useCallback, useEffect, useRef, useState } from 'react'\n\ninterface WhenVisibleProps {\n children: ReactElement | number | string\n fallback: ReactElement | number | string\n data?: string | string[]\n params?: ReloadOptions\n buffer?: number\n as?: string\n always?: boolean\n}\n\nconst WhenVisible = ({ children, data, params, buffer, as, always, fallback }: WhenVisibleProps) => {\n always = always ?? false\n as = as ?? 'div'\n fallback = fallback ?? null\n\n const [loaded, setLoaded] = useState(false)\n const hasFetched = useRef<boolean>(false)\n const fetching = useRef<boolean>(false)\n const ref = useRef<HTMLDivElement>(null)\n\n const getReloadParams = useCallback<() => Partial<ReloadOptions>>(() => {\n if (data) {\n return {\n only: (Array.isArray(data) ? data : [data]) as string[],\n }\n }\n\n if (!params) {\n throw new Error('You must provide either a `data` or `params` prop.')\n }\n\n return params\n }, [params, data])\n\n useEffect(() => {\n if (!ref.current) {\n return\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n if (!entries[0].isIntersecting) {\n return\n }\n\n if (!always && hasFetched.current) {\n observer.disconnect()\n }\n\n if (fetching.current) {\n return\n }\n\n hasFetched.current = true\n fetching.current = true\n\n const reloadParams = getReloadParams()\n\n router.reload({\n ...reloadParams,\n onStart: (e) => {\n fetching.current = true\n reloadParams.onStart?.(e)\n },\n onFinish: (e) => {\n setLoaded(true)\n fetching.current = false\n reloadParams.onFinish?.(e)\n\n if (!always) {\n observer.disconnect()\n }\n },\n })\n },\n {\n rootMargin: `${buffer || 0}px`,\n },\n )\n\n observer.observe(ref.current)\n\n return () => {\n observer.disconnect()\n }\n }, [ref, getReloadParams, buffer])\n\n if (always || !loaded) {\n return createElement(\n as,\n {\n props: null,\n ref,\n },\n loaded ? children : fallback,\n )\n }\n\n return loaded ? children : null\n}\n\nWhenVisible.displayName = 'InertiaWhenVisible'\n\nexport default WhenVisible\n"],
5
+ "mappings": "AAAA,OAAS,UAAUA,OAAc,kBCAjC,OAAwC,UAAAC,GAAQ,iBAAAC,OAAqB,kBACrE,OAAyE,iBAAAC,OAAqB,QCD9F,OAAS,qBAAAC,GAAmB,UAAAC,OAAc,kBAC1C,OAAS,iBAAAC,EAAe,aAAAC,GAAW,WAAAC,GAAS,YAAAC,OAAgB,QCD5D,OAAS,iBAAAC,OAAqB,QAE9B,IAAMC,GAAcD,GAAc,MAAS,EAC3CC,GAAY,YAAc,qBAE1B,IAAOC,EAAQD,GCLf,OAAS,iBAAAE,OAAqB,QAE9B,IAAMC,GAAcD,GAAc,MAAS,EAC3CC,GAAY,YAAc,qBAE1B,IAAOC,EAAQD,GFAA,SAARE,EAAqB,CAC1B,SAAAC,EACA,YAAAC,EACA,iBAAAC,EACA,iBAAAC,EACA,cAAAC,EACA,aAAAC,CACF,EAAG,CACD,GAAM,CAACC,EAASC,CAAU,EAAIC,GAAS,CACrC,UAAWN,GAAoB,KAC/B,KAAMD,EACN,IAAK,IACP,CAAC,EAEKQ,EAAcC,GAAQ,IACnBC,GACL,OAAO,OAAW,IAClBP,IAAmBQ,GAAUA,GAC7BP,IAAiB,IAAM,CAAC,EAC1B,EACC,CAAC,CAAC,EAkBL,GAhBAQ,GAAU,IAAM,CACdC,GAAO,KAAK,CACV,YAAAb,EACA,iBAAAE,EACA,cAAe,MAAO,CAAE,UAAAY,EAAW,KAAAC,EAAM,cAAAC,CAAc,IAAM,CAC3DV,EAAYD,IAAa,CACvB,UAAAS,EACA,KAAAC,EACA,IAAKC,EAAgBX,EAAQ,IAAM,KAAK,IAAI,CAC9C,EAAE,CACJ,CACF,CAAC,EAEDQ,GAAO,GAAG,WAAY,IAAML,EAAY,YAAY,CAAC,CACvD,EAAG,CAAC,CAAC,EAED,CAACH,EAAQ,UACX,OAAOY,EACLC,EAAY,SACZ,CAAE,MAAOV,CAAY,EACrBS,EAAcE,EAAY,SAAU,CAAE,MAAOd,EAAQ,IAAK,EAAG,IAAI,CACnE,EAGF,IAAMe,EACJrB,IACC,CAAC,CAAE,UAAAsB,EAAW,MAAAC,EAAO,IAAAC,CAAI,IAAM,CAC9B,IAAMC,EAAQP,EAAcI,EAAW,CAAE,IAAAE,EAAK,GAAGD,CAAM,CAAC,EAExD,OAAI,OAAOD,EAAU,QAAW,WACvBA,EAAU,OAAOG,CAAK,EAG3B,MAAM,QAAQH,EAAU,MAAM,EACzBA,EAAU,OACd,OAAOG,CAAK,EACZ,QAAQ,EACR,OAAO,CAACzB,EAAU0B,IAAWR,EAAcQ,EAAQ,CAAE,SAAA1B,EAAU,GAAGuB,CAAM,CAAC,CAAC,EAGxEE,CACT,GAEF,OAAOP,EACLC,EAAY,SACZ,CAAE,MAAOV,CAAY,EACrBS,EACEE,EAAY,SACZ,CAAE,MAAOd,EAAQ,IAAK,EACtBe,EAAe,CACb,UAAWf,EAAQ,UACnB,IAAKA,EAAQ,IACb,MAAOA,EAAQ,KAAK,KACtB,CAAC,CACH,CACF,CACF,CAEAP,EAAI,YAAc,UDpBlB,eAAO4B,GAAmF,CACxF,GAAAC,EAAK,MACL,QAAAC,EACA,MAAAC,EACA,MAAAC,EACA,SAAAC,EAAW,CAAC,EACZ,KAAAC,EACA,OAAAC,CACF,EAEE,CACA,IAAMC,EAAW,OAAO,OAAW,IAC7BC,EAAKD,EAAW,KAAO,SAAS,eAAeP,CAAE,EACjDS,EAAcJ,GAAQ,KAAK,MAAMG,EAAG,QAAQ,IAAI,EAEhDE,EAAoBC,GAAS,QAAQ,QAAQV,EAAQU,CAAI,CAAC,EAAE,KAAMC,GAAWA,EAAO,SAAWA,CAAM,EAEvGC,EAAO,CAAC,EAENC,EAAW,MAAM,QAAQ,IAAI,CACjCJ,EAAiBD,EAAY,SAAS,EACtCM,GAAO,eAAe,EAAE,MAAM,IAAM,CAAC,CAAC,CACxC,CAAC,EAAE,KAAK,CAAC,CAACC,CAAgB,IACjBd,EAAM,CAEX,GAAAM,EACA,IAAAS,EACA,MAAO,CACL,YAAAR,EACA,iBAAAO,EACA,iBAAAN,EACA,cAAeP,EACf,aAAcI,EAAYW,GAAcL,EAAOK,EAAY,IAC7D,CACF,CAAC,CACF,EAMD,GAJI,CAACX,GAAYH,GACfe,GAAcf,CAAQ,EAGpBG,EAAU,CACZ,IAAMa,EAAO,MAAMd,EACjBe,GACE,MACA,CACE,GAAArB,EACA,YAAa,KAAK,UAAUS,CAAW,CACzC,EAEAK,CACF,CACF,EAEA,MAAO,CAAE,KAAAD,EAAM,KAAAO,CAAK,CACtB,CACF,CIzHA,OAAuB,aAAAE,GAAW,YAAAC,OAAgB,QCClD,OAAS,cAAAC,OAAkB,QAGZ,SAARC,GAAuF,CAC5F,IAAMC,EAAOC,GAAWC,CAAW,EAEnC,GAAI,CAACF,EACH,MAAM,IAAI,MAAM,mDAAmD,EAGrE,OAAOA,CACT,CDHA,IAAMG,GAAW,CAAC,CAAE,SAAAC,EAAU,KAAAC,EAAM,SAAAC,CAAS,IAAqB,CAChE,GAAI,CAACD,EACH,MAAM,IAAI,MAAM,wEAAwE,EAG1F,GAAM,CAACE,EAAQC,CAAS,EAAIC,GAAS,EAAK,EACpCC,EAAYC,EAAQ,EAAE,MACtBC,EAAO,MAAM,QAAQP,CAAI,EAAIA,EAAO,CAACA,CAAI,EAE/C,OAAAQ,GAAU,IAAM,CACdL,EAAUI,EAAK,MAAOE,GAAQJ,EAAUI,CAAG,IAAM,MAAS,CAAC,CAC7D,EAAG,CAACJ,EAAWE,CAAI,CAAC,EAEbL,EAASH,EAAWE,CAC7B,EAEAH,GAAS,YAAc,kBAEvB,IAAOY,GAAQZ,GE3Bf,OAAOa,IAA4B,cAAAC,GAAY,aAAAC,GAAW,WAAAC,OAAe,QAUzE,IAAMC,GAAoB,SAAU,CAAE,SAAAC,EAAU,MAAAC,CAAM,EAAG,CACvD,IAAMC,EAAcC,GAAWC,CAAW,EACpCC,EAAWC,GAAQ,IAAMJ,EAAY,eAAe,EAAG,CAACA,CAAW,CAAC,EAE1EK,GAAU,IACD,IAAM,CACXF,EAAS,WAAW,CACtB,EACC,CAACA,CAAQ,CAAC,EAEb,SAASG,EAAWC,EAAM,CACxB,MACE,CACE,OACA,OACA,KACA,MACA,QACA,KACA,MACA,QACA,SACA,OACA,OACA,QACA,SACA,QACA,KACF,EAAE,QAAQA,EAAK,IAAI,EAAI,EAE3B,CAEA,SAASC,EAAeD,EAAM,CAC5B,IAAME,EAAQ,OAAO,KAAKF,EAAK,KAAK,EAAE,OAAO,CAACG,EAAOC,IAAS,CAC5D,GAAI,CAAC,WAAY,WAAY,yBAAyB,EAAE,SAASA,CAAI,EACnE,OAAOD,EAET,IAAME,EAAQL,EAAK,MAAMI,CAAI,EAC7B,OAAIC,IAAU,GACLF,EAAQ,IAAIC,CAAI,GAEhBD,EAAQ,IAAIC,CAAI,KAAKC,CAAK,GAErC,EAAG,EAAE,EACL,MAAO,IAAIL,EAAK,IAAI,GAAGE,CAAK,GAC9B,CAEA,SAASI,EAAkBN,EAAM,CAC/B,OAAO,OAAOA,EAAK,MAAM,UAAa,SAClCA,EAAK,MAAM,SACXA,EAAK,MAAM,SAAS,OAAO,CAACO,EAAMC,IAAUD,EAAOE,EAAUD,CAAK,EAAG,EAAE,CAC7E,CAEA,SAASC,EAAUT,EAAM,CACvB,IAAIO,EAAON,EAAeD,CAAI,EAC9B,OAAIA,EAAK,MAAM,WACbO,GAAQD,EAAkBN,CAAI,GAE5BA,EAAK,MAAM,0BACbO,GAAQP,EAAK,MAAM,wBAAwB,QAExCD,EAAWC,CAAI,IAClBO,GAAQ,KAAKP,EAAK,IAAI,KAEjBO,CACT,CAEA,SAASG,EAAyBV,EAAM,CACtC,OAAOW,GAAM,aAAaX,EAAM,CAC9B,QAASA,EAAK,MAAM,UAAU,IAAM,OAAYA,EAAK,MAAM,UAAU,EAAI,EAC3E,CAAC,CACH,CAEA,SAASY,EAAWZ,EAAM,CACxB,OAAOS,EAAUC,EAAyBV,CAAI,CAAC,CACjD,CAEA,SAASa,EAAYC,EAAO,CAC1B,IAAMC,EAAWJ,GAAM,SAAS,QAAQG,CAAK,EAC1C,OAAQd,GAASA,CAAI,EACrB,IAAKA,GAASY,EAAWZ,CAAI,CAAC,EACjC,OAAIR,GAAS,CAACuB,EAAS,KAAMC,GAAQA,EAAI,WAAW,QAAQ,CAAC,GAC3DD,EAAS,KAAK,kBAAkBvB,CAAK,UAAU,EAE1CuB,CACT,CAEA,OAAAnB,EAAS,OAAOiB,EAAYtB,CAAQ,CAAC,EAE9B,IACT,EACO0B,GAAQ3B,GCrGf,OAGE,4BAAA4B,GAKA,UAAAC,GACA,mBAAAC,OACK,kBACP,OAAS,iBAAAC,GAAe,cAAAC,GAAY,aAAAC,GAAW,WAAAC,GAAS,UAAAC,GAAQ,YAAAC,OAAgB,QAEhF,IAAMC,EAAO,IAAG,GAgCVC,GAAON,GACX,CACE,CACE,SAAAO,EACA,GAAAC,EAAK,IACL,KAAAC,EAAO,CAAC,EACR,KAAAC,EACA,OAAAC,EAAS,MACT,eAAAC,EAAiB,GACjB,cAAAC,EAAgB,KAChB,QAAAC,EAAU,GACV,KAAAC,EAAO,CAAC,EACR,OAAAC,EAAS,CAAC,EACV,QAAAC,EAAU,CAAC,EACX,uBAAAC,EAAyB,WACzB,MAAAC,EAAQ,GACR,QAAAC,EAAUf,EACV,cAAAgB,EAAgBhB,EAChB,SAAAiB,EAAWjB,EACX,QAAAkB,EAAUlB,EACV,WAAAmB,EAAanB,EACb,SAAAoB,EAAWpB,EACX,SAAAqB,EAAWrB,EACX,UAAAsB,EAAYtB,EACZ,QAAAuB,EAAUvB,EACV,SAAAwB,EAAW,GACX,SAAAC,EAAW,EACX,GAAGC,CACL,EACAC,IACG,CACH,GAAM,CAACC,EAAeC,CAAgB,EAAI9B,GAAS,CAAC,EAC9C+B,EAAehC,GAAe,IAAI,EAExCK,EAAKA,EAAG,YAAY,EACpBG,EAAS,OAAOD,GAAS,SAAWA,EAAK,OAAUC,EAAO,YAAY,EACtE,GAAM,CAACyB,EAAOC,CAAK,EAAIzC,GACrBe,EACA,OAAOD,GAAS,SAAWA,EAAK,IAAMA,GAAQ,GAC9CD,EACAS,CACF,EACMoB,EAAMF,EACZ3B,EAAO4B,EAEP,IAAME,EAAa,CACjB,KAAA9B,EACA,OAAAE,EACA,eAAAC,EACA,cAAeC,GAAiBF,IAAW,MAC3C,QAAAG,EACA,KAAAC,EACA,OAAAC,EACA,QAAAC,EACA,MAAAE,CACF,EAEMqB,EAAc,CAClB,GAAGD,EACH,cAAAlB,EACA,SAAAC,EACA,QAAQmB,EAAO,CACbP,EAAkBQ,GAAUA,EAAQ,CAAC,EACrCnB,EAAQkB,CAAK,CACf,EACA,WAAAjB,EACA,SAASiB,EAAO,CACdP,EAAkBQ,GAAUA,EAAQ,CAAC,EACrCjB,EAASgB,CAAK,CAChB,EACA,SAAAf,EACA,UAAAC,EACA,QAAAC,CACF,EAEMe,EAAa,IAAM,CACvB9C,GAAO,SAASyC,EAAKC,EAAY,CAAE,SAAUK,EAAc,CAAC,CAC9D,EAEMC,EAAsC3C,GAC1C,IACM2B,IAAa,GACR,CAAC,OAAO,EAGbA,IAAa,GACR,CAAC,EAGN,MAAM,QAAQA,CAAQ,EACjBA,EAGF,CAACA,CAAQ,EAElB,MAAM,QAAQA,CAAQ,EAAIA,EAAW,CAACA,CAAQ,CAChD,EAEMe,GAAgB1C,GAAQ,IACxB4B,IAAa,EAERA,EAGLe,EAAc,SAAW,GAAKA,EAAc,CAAC,IAAM,QAG9C,EAIF,IACN,CAACf,EAAUe,CAAa,CAAC,EAE5B5C,GAAU,IACD,IAAM,CACX,aAAakC,EAAa,OAAO,CACnC,EACC,CAAC,CAAC,EAELlC,GAAU,IAAM,CACV4C,EAAc,SAAS,OAAO,GAChC,WAAW,IAAMF,EAAW,CAAC,CAEjC,EAAGE,CAAa,EAEhB,IAAMC,EAAgB,CACpB,QAAUL,GAAU,CAClBrB,EAAQqB,CAAK,EAET3C,GAAgB2C,CAAK,IACvBA,EAAM,eAAe,EAErB5C,GAAO,MAAMyC,EAAKE,CAAW,EAEjC,CACF,EAEMO,EAAsB,CAC1B,aAAc,IAAM,CAClBZ,EAAa,QAAU,OAAO,WAAW,IAAM,CAC7CQ,EAAW,CACb,EAAG,EAAE,CACP,EACA,aAAc,IAAM,CAClB,aAAaR,EAAa,OAAO,CACnC,EACA,QAASW,EAAc,OACzB,EAEME,EAAsB,CAC1B,YAAcP,GAAU,CAClB3C,GAAgB2C,CAAK,IACvBA,EAAM,eAAe,EACrBE,EAAW,EAEf,EACA,UAAYF,GAAU,CACpBA,EAAM,eAAe,EACrB5C,GAAO,MAAMyC,EAAKE,CAAW,CAC/B,EACA,QAAUC,GAAU,CAClBrB,EAAQqB,CAAK,EAET3C,GAAgB2C,CAAK,GAEvBA,EAAM,eAAe,CAEzB,CACF,EAEA,OAAI9B,IAAW,QACbH,EAAK,UAQAT,GACLS,EACA,CACE,GAAGuB,EACH,GATY,CACd,EAAG,CAAE,KAAMO,CAAI,EACf,OAAQ,CAAE,KAAM,QAAS,CAC3B,EAMgB9B,CAAE,GAAK,CAAC,EACpB,IAAAwB,EACA,GACMa,EAAc,SAAS,OAAO,EACzBE,EAGLF,EAAc,SAAS,OAAO,EACzBG,EAGFF,EAET,eAAgBb,EAAgB,EAAI,GAAK,MAC3C,EACA1B,CACF,CACF,CACF,EACAD,GAAK,YAAc,cAEnB,IAAO2C,GAAQ3C,GC1Pf,OAAgD,UAAA4C,OAA4B,kBAC5E,OAAOC,OAAe,mBACtB,OAAOC,OAAa,iBACpB,OAAS,eAAAC,EAAa,aAAAC,GAAW,UAAAC,EAAQ,YAAAC,MAAgB,QCHzD,OAAS,UAAAC,OAAc,kBACvB,OAAmC,aAAAC,GAAW,YAAAC,OAAgB,QAE/C,SAARC,EACLC,EACAC,EAC0C,CAC1C,GAAM,CAACC,EAAOC,CAAQ,EAAIL,GAAS,IAAM,CACvC,IAAMM,EAAWR,GAAO,QAAQK,CAAG,EAEnC,OAAOG,IAAa,OAAYA,EAAWJ,CAC7C,CAAC,EAED,OAAAH,GAAU,IAAM,CACdD,GAAO,SAASM,EAAOD,CAAG,CAC5B,EAAG,CAACC,EAAOD,CAAG,CAAC,EAER,CAACC,EAAOC,CAAQ,CACzB,CDyBe,SAARE,GACLC,EACAC,EACyB,CACzB,IAAMC,EAAYC,EAAO,IAAI,EACvBC,EAAc,OAAOJ,GAA+B,SAAWA,EAA6B,KAC5F,CAACK,EAAUC,CAAW,EAAIC,GAC7B,OAAOP,GAA+B,SAAWC,EAAqBD,IAAgC,CAAC,CAC1G,EACMQ,EAAcL,EAAO,IAAI,EACzBM,EAA8BN,EAAO,IAAI,EACzC,CAACO,EAAMC,CAAO,EAAIP,EAAcQ,EAAYP,EAAU,GAAGD,CAAW,OAAO,EAAIG,EAASF,CAAQ,EAChG,CAACQ,EAAQC,CAAS,EAAIV,EACxBQ,EAAY,CAAC,EAA2C,GAAGR,CAAW,SAAS,EAC/EG,EAAS,CAAC,CAAyC,EACjD,CAACQ,EAAWC,CAAY,EAAIT,EAAS,EAAK,EAC1C,CAACU,EAAYC,CAAa,EAAIX,EAAS,EAAK,EAC5C,CAACY,EAAUC,CAAW,EAAIb,EAAS,IAAI,EACvC,CAACc,EAAeC,CAAgB,EAAIf,EAAS,EAAK,EAClD,CAACgB,EAAoBC,CAAqB,EAAIjB,EAAS,EAAK,EAC5DkB,EAAYtB,EAAQO,GAASA,CAAI,EAEvCgB,GAAU,KACRxB,EAAU,QAAU,GACb,IAAM,CACXA,EAAU,QAAU,EACtB,GACC,CAAC,CAAC,EAEL,IAAMyB,EAASC,EACb,IAAIC,IAAS,CACX,IAAMC,EAAe,OAAOD,EAAK,CAAC,GAAM,SAElCE,EAASD,EAAeD,EAAK,CAAC,EAAE,OAASA,EAAK,CAAC,EAC/CG,EAAMF,EAAeD,EAAK,CAAC,EAAE,IAAMA,EAAK,CAAC,EACzCI,GAAWH,EAAeD,EAAK,CAAC,EAAIA,EAAK,CAAC,IAAM,CAAC,EAEjDK,EAAW,CACf,GAAGD,EACH,cAAgBE,GAAU,CAGxB,GAFA3B,EAAY,QAAU2B,EAElBF,EAAQ,cACV,OAAOA,EAAQ,cAAcE,CAAK,CAEtC,EACA,SAAWC,GAAU,CAKnB,GAJAd,EAAiB,EAAK,EACtBE,EAAsB,EAAK,EAC3B,aAAaf,EAA4B,OAAO,EAE5CwB,EAAQ,SACV,OAAOA,EAAQ,SAASG,CAAK,CAEjC,EACA,QAAUA,GAAU,CAGlB,GAFAlB,EAAc,EAAI,EAEde,EAAQ,QACV,OAAOA,EAAQ,QAAQG,CAAK,CAEhC,EACA,WAAaC,GAAU,CAGrB,GAFAjB,EAAYiB,CAAK,EAEbJ,EAAQ,WACV,OAAOA,EAAQ,WAAWI,CAAK,CAEnC,EACA,UAAYC,GAAS,CAgBnB,GAfIpC,EAAU,UACZgB,EAAc,EAAK,EACnBE,EAAY,IAAI,EAChBN,EAAU,CAAC,CAAC,EACZE,EAAa,EAAK,EAClBM,EAAiB,EAAI,EACrBE,EAAsB,EAAI,EAC1BlB,EAAYiC,GAAU7B,CAAI,CAAC,EAC3BD,EAA4B,QAAU,WAAW,IAAM,CACjDP,EAAU,SACZsB,EAAsB,EAAK,CAE/B,EAAG,GAAI,GAGLS,EAAQ,UACV,OAAOA,EAAQ,UAAUK,CAAI,CAEjC,EACA,QAAUzB,GAAW,CAQnB,GAPIX,EAAU,UACZgB,EAAc,EAAK,EACnBE,EAAY,IAAI,EAChBN,EAAUD,CAAM,EAChBG,EAAa,EAAI,GAGfiB,EAAQ,QACV,OAAOA,EAAQ,QAAQpB,CAAM,CAEjC,EACA,SAAU,IAAM,CAMd,GALIX,EAAU,UACZgB,EAAc,EAAK,EACnBE,EAAY,IAAI,GAGda,EAAQ,SACV,OAAOA,EAAQ,SAAS,CAE5B,EACA,SAAWG,GAAU,CAQnB,GAPIlC,EAAU,UACZgB,EAAc,EAAK,EACnBE,EAAY,IAAI,GAGlBZ,EAAY,QAAU,KAElByB,EAAQ,SACV,OAAOA,EAAQ,SAASG,CAAK,CAEjC,CACF,EAEIL,IAAW,SACbS,GAAO,OAAOR,EAAK,CAAE,GAAGE,EAAU,KAAMT,EAAU,QAAQf,CAAI,CAAE,CAAC,EAEjE8B,GAAOT,CAAM,EAAEC,EAAKP,EAAU,QAAQf,CAAI,EAAGwB,CAAQ,CAEzD,EACA,CAACxB,EAAMI,EAAWW,CAAS,CAC7B,EAEMgB,EAAkBb,EACtB,CAACc,EAA2CC,IAAoC,CAE5EhC,EADE,OAAO+B,GAAc,SACdhC,IAAU,CAAE,GAAGA,EAAM,CAACgC,CAAS,EAAGC,CAAW,GAC7C,OAAOD,GAAc,WACrBhC,GAASgC,EAAUhC,CAAI,EAExBgC,CAJgD,CAM5D,EACA,CAAC/B,CAAO,CACV,EAEMiC,EAAsBhB,EAC1B,CAACiB,EAA8CF,IAAqC,CAEhFrC,EADE,OAAOuC,EAAkB,IACf,IAAMnC,EAELL,IAAc,CACzB,GAAGA,EACH,GAAI,OAAOwC,GAAkB,SAAW,CAAE,CAACA,CAAa,EAAGF,CAAW,EAAKE,CAC7E,EALsB,CAO1B,EACA,CAACnC,EAAMJ,CAAW,CACpB,EAEMwC,EAAQlB,EACZ,IAAImB,IAAW,CACTA,EAAO,SAAW,EACpBpC,EAAQN,CAAQ,EAEhBM,EAASD,GACN,OAAO,KAAKL,CAAQ,EAClB,OAAQ2C,GAAQD,EAAO,SAASC,CAAG,CAAC,EACpC,OACC,CAACC,EAAOD,KACNC,EAAMD,CAAG,EAAI3C,EAAS2C,CAAG,EAClBC,GAET,CAAE,GAAGvC,CAAK,CACZ,CACJ,CAEJ,EACA,CAACC,EAASN,CAAQ,CACpB,EAEM6C,EAAWtB,EACf,CAACiB,EAA0DF,IAAwB,CACjF7B,EAAWD,GAAW,CACpB,IAAMsC,EAAY,CAChB,GAAGtC,EACH,GAAI,OAAOgC,GAAkB,SACzB,CAAE,CAACA,CAAa,EAAGF,CAAW,EAC7BE,CACP,EACA,OAAA7B,EAAa,OAAO,KAAKmC,CAAS,EAAE,OAAS,CAAC,EACvCA,CACT,CAAC,CACH,EACA,CAACrC,EAAWE,CAAY,CAC1B,EAEMoC,EAAcxB,EAClB,IAAImB,IAAW,CACbjC,EAAWD,GAAW,CACpB,IAAMsC,EAAa,OAAO,KAAKtC,CAAM,EAAyB,OAC5D,CAACoC,EAAOI,KAAW,CACjB,GAAGJ,EACH,GAAIF,EAAO,OAAS,GAAK,CAACA,EAAO,SAASM,CAAK,EAAI,CAAE,CAACA,CAAK,EAAGxC,EAAOwC,CAAK,CAAE,EAAI,CAAC,CACnF,GACA,CAAC,CACH,EACA,OAAArC,EAAa,OAAO,KAAKmC,CAAS,EAAE,OAAS,CAAC,EACvCA,CACT,CAAC,CACH,EACA,CAACrC,EAAWE,CAAY,CAC1B,EAEMsC,EAAsBvB,GAAW,CAACC,EAAKC,IAAY,CACvDN,EAAOI,EAAQC,EAAKC,CAAO,CAC7B,EACMsB,EAAM3B,EAAY0B,EAAmB,KAAK,EAAG,CAAC3B,CAAM,CAAC,EACrD6B,EAAO5B,EAAY0B,EAAmB,MAAM,EAAG,CAAC3B,CAAM,CAAC,EACvD8B,EAAM7B,EAAY0B,EAAmB,KAAK,EAAG,CAAC3B,CAAM,CAAC,EACrD+B,EAAQ9B,EAAY0B,EAAmB,OAAO,EAAG,CAAC3B,CAAM,CAAC,EACzDgC,EAAe/B,EAAY0B,EAAmB,QAAQ,EAAG,CAAC3B,CAAM,CAAC,EAEjEiC,EAAShC,EAAY,IAAM,CAC3BpB,EAAY,SACdA,EAAY,QAAQ,OAAO,CAE/B,EAAG,CAAC,CAAC,EAECqD,GAAoBjC,EAAakC,GAAa,CAClDrC,EAAU,QAAUqC,CACtB,EAAG,CAAC,CAAC,EAEL,MAAO,CACL,KAAApD,EACA,QAAS+B,EACT,QAAS,CAACsB,GAAQrD,EAAML,CAAQ,EAChC,OAAAQ,EACA,UAAAE,EACA,WAAAE,EACA,SAAAE,EACA,cAAAE,EACA,mBAAAE,EACA,UAAWsC,GACX,YAAajB,EACb,MAAAE,EACA,SAAAI,EACA,YAAAE,EACA,OAAAzB,EACA,IAAA4B,EACA,KAAAC,EACA,IAAAC,EACA,MAAAC,EACA,OAAQC,EACR,OAAAC,CACF,CACF,CE5SA,OAAqC,UAAAI,OAAc,kBACnD,OAAS,aAAAC,GAAW,UAAAC,OAAc,QAEnB,SAARC,GACLC,EACAC,EAAgC,CAAC,EACjCC,EAAuB,CACrB,UAAW,GACX,UAAW,EACb,EACA,CACA,IAAMC,EAAUL,GACdF,GAAO,KAAKI,EAAUC,EAAgB,CACpC,GAAGC,EACH,UAAW,EACb,CAAC,CACH,EAEA,OAAAL,GAAU,MACJK,EAAQ,WAAa,KACvBC,EAAQ,QAAQ,MAAM,EAGjB,IAAMA,EAAQ,QAAQ,KAAK,GACjC,CAAC,CAAC,EAEE,CACL,KAAMA,EAAQ,QAAQ,KACtB,MAAOA,EAAQ,QAAQ,KACzB,CACF,CC9BA,OAAS,UAAAC,MAA4B,kBACrC,OAAS,aAAAC,GAAW,YAAAC,OAAgB,QAErB,SAARC,GAA6BC,EAAwB,CAAC,EAK3D,CACA,IAAMC,EAAS,OAAO,OAAW,IAAc,KAAOL,EAAO,UAAU,OAAO,SAAS,SAAUI,CAAO,EAClGE,EAAW,OAAO,OAAW,IAAc,KAAON,EAAO,eAAe,OAAO,SAAS,SAAUI,CAAO,EAEzG,CAACG,EAAeC,CAAgB,EAAIN,GAAwBG,GAAQ,gBAAkB,IAAI,EAC1F,CAACI,EAAeC,CAAgB,EAAIR,GAASI,IAAa,IAAI,EAC9D,CAACK,EAAcC,CAAe,EAAIV,GAASG,IAAW,IAAI,EAEhE,OAAAJ,GAAU,IAAM,CACd,IAAMY,EAAwBb,EAAO,GAAG,cAAgB,GAAM,CACxD,EAAE,OAAO,MAAM,IAAI,WAAa,OAAO,SAAS,UAClDU,EAAiB,EAAI,CAEzB,CAAC,EAEKI,EAAuBd,EAAO,GAAG,aAAe,GAAM,CACtD,EAAE,OAAO,MAAM,IAAI,WAAa,OAAO,SAAS,WAClDU,EAAiB,EAAK,EACtBE,EAAgB,EAAI,EACpBJ,EAAiB,EAAE,OAAO,SAAS,EAEvC,CAAC,EAED,MAAO,IAAM,CACXM,EAAqB,EACrBD,EAAsB,CACxB,CACF,EAAG,CAAC,CAAC,EAEE,CACL,cAAAN,EACA,cAAAE,EACA,aAAAE,EACA,MAAO,IAAMX,EAAO,MAAM,OAAO,SAAS,SAAUI,CAAO,CAC7D,CACF,CC3CA,OAAwB,UAAAW,OAAc,kBACtC,OAAS,iBAAAC,GAA6B,eAAAC,GAAa,aAAAC,GAAW,UAAAC,GAAQ,YAAAC,OAAgB,QAYtF,IAAMC,GAAc,CAAC,CAAE,SAAAC,EAAU,KAAAC,EAAM,OAAAC,EAAQ,OAAAC,EAAQ,GAAAC,EAAI,OAAAC,EAAQ,SAAAC,CAAS,IAAwB,CAClGD,EAASA,GAAU,GACnBD,EAAKA,GAAM,MACXE,EAAWA,GAAY,KAEvB,GAAM,CAACC,EAAQC,CAAS,EAAIV,GAAS,EAAK,EACpCW,EAAaZ,GAAgB,EAAK,EAClCa,EAAWb,GAAgB,EAAK,EAChCc,EAAMd,GAAuB,IAAI,EAEjCe,EAAkBjB,GAA0C,IAAM,CACtE,GAAIM,EACF,MAAO,CACL,KAAO,MAAM,QAAQA,CAAI,EAAIA,EAAO,CAACA,CAAI,CAC3C,EAGF,GAAI,CAACC,EACH,MAAM,IAAI,MAAM,oDAAoD,EAGtE,OAAOA,CACT,EAAG,CAACA,EAAQD,CAAI,CAAC,EAuDjB,OArDAL,GAAU,IAAM,CACd,GAAI,CAACe,EAAI,QACP,OAGF,IAAME,EAAW,IAAI,qBAClBC,GAAY,CASX,GARI,CAACA,EAAQ,CAAC,EAAE,iBAIZ,CAACT,GAAUI,EAAW,SACxBI,EAAS,WAAW,EAGlBH,EAAS,SACX,OAGFD,EAAW,QAAU,GACrBC,EAAS,QAAU,GAEnB,IAAMK,EAAeH,EAAgB,EAErCnB,GAAO,OAAO,CACZ,GAAGsB,EACH,QAAUC,GAAM,CACdN,EAAS,QAAU,GACnBK,EAAa,UAAUC,CAAC,CAC1B,EACA,SAAWA,GAAM,CACfR,EAAU,EAAI,EACdE,EAAS,QAAU,GACnBK,EAAa,WAAWC,CAAC,EAEpBX,GACHQ,EAAS,WAAW,CAExB,CACF,CAAC,CACH,EACA,CACE,WAAY,GAAGV,GAAU,CAAC,IAC5B,CACF,EAEA,OAAAU,EAAS,QAAQF,EAAI,OAAO,EAErB,IAAM,CACXE,EAAS,WAAW,CACtB,CACF,EAAG,CAACF,EAAKC,EAAiBT,CAAM,CAAC,EAE7BE,GAAU,CAACE,EACNb,GACLU,EACA,CACE,MAAO,KACP,IAAAO,CACF,EACAJ,EAASP,EAAWM,CACtB,EAGKC,EAASP,EAAW,IAC7B,EAEAD,GAAY,YAAc,qBAE1B,IAAOkB,GAAQlB,GbxGR,IAAMmB,GAASC",
6
+ "names": ["Router", "router", "setupProgress", "createElement", "createHeadManager", "router", "createElement", "useEffect", "useMemo", "useState", "createContext", "headContext", "HeadContext_default", "createContext", "pageContext", "PageContext_default", "App", "children", "initialPage", "initialComponent", "resolveComponent", "titleCallback", "onHeadUpdate", "current", "setCurrent", "useState", "headManager", "useMemo", "createHeadManager", "title", "useEffect", "router", "component", "page", "preserveState", "createElement", "HeadContext_default", "PageContext_default", "renderChildren", "Component", "props", "key", "child", "Layout", "createInertiaApp", "id", "resolve", "setup", "title", "progress", "page", "render", "isServer", "el", "initialPage", "resolveComponent", "name", "module", "head", "reactApp", "router", "initialComponent", "App", "elements", "setupProgress", "body", "createElement", "useEffect", "useState", "useContext", "usePage", "page", "useContext", "PageContext_default", "Deferred", "children", "data", "fallback", "loaded", "setLoaded", "useState", "pageProps", "usePage", "keys", "useEffect", "key", "Deferred_default", "React", "useContext", "useEffect", "useMemo", "Head", "children", "title", "headManager", "useContext", "HeadContext_default", "provider", "useMemo", "useEffect", "isUnaryTag", "node", "renderTagStart", "attrs", "carry", "name", "value", "renderTagChildren", "html", "child", "renderTag", "ensureNodeHasInertiaProp", "React", "renderNode", "renderNodes", "nodes", "computed", "tag", "Head_default", "mergeDataIntoQueryString", "router", "shouldIntercept", "createElement", "forwardRef", "useEffect", "useMemo", "useRef", "useState", "noop", "Link", "children", "as", "data", "href", "method", "preserveScroll", "preserveState", "replace", "only", "except", "headers", "queryStringArrayFormat", "async", "onClick", "onCancelToken", "onBefore", "onStart", "onProgress", "onFinish", "onCancel", "onSuccess", "onError", "prefetch", "cacheFor", "props", "ref", "inFlightCount", "setInFlightCount", "hoverTimeout", "_href", "_data", "url", "baseParams", "visitParams", "event", "count", "doPrefetch", "cacheForValue", "prefetchModes", "regularEvents", "prefetchHoverEvents", "prefetchClickEvents", "Link_default", "router", "cloneDeep", "isEqual", "useCallback", "useEffect", "useRef", "useState", "router", "useEffect", "useState", "useRemember", "initialState", "key", "state", "setState", "restored", "useForm", "rememberKeyOrInitialValues", "maybeInitialValues", "isMounted", "useRef", "rememberKey", "defaults", "setDefaults", "useState", "cancelToken", "recentlySuccessfulTimeoutId", "data", "setData", "useRemember", "errors", "setErrors", "hasErrors", "setHasErrors", "processing", "setProcessing", "progress", "setProgress", "wasSuccessful", "setWasSuccessful", "recentlySuccessful", "setRecentlySuccessful", "transform", "useEffect", "submit", "useCallback", "args", "objectPassed", "method", "url", "options", "_options", "token", "visit", "event", "page", "cloneDeep", "router", "setDataFunction", "keyOrData", "maybeValue", "setDefaultsFunction", "fieldOrFields", "reset", "fields", "key", "carry", "setError", "newErrors", "clearErrors", "field", "createSubmitMethod", "get", "post", "put", "patch", "deleteMethod", "cancel", "transformFunction", "callback", "isEqual", "router", "useEffect", "useRef", "usePoll", "interval", "requestOptions", "options", "pollRef", "router", "useEffect", "useState", "usePrefetch", "options", "cached", "inFlight", "lastUpdatedAt", "setLastUpdatedAt", "isPrefetching", "setIsPrefetching", "isPrefetched", "setIsPrefetched", "onPrefetchingListener", "onPrefetchedListener", "router", "createElement", "useCallback", "useEffect", "useRef", "useState", "WhenVisible", "children", "data", "params", "buffer", "as", "always", "fallback", "loaded", "setLoaded", "hasFetched", "fetching", "ref", "getReloadParams", "observer", "entries", "reloadParams", "e", "WhenVisible_default", "router", "Router"]
7
7
  }
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var we=Object.create;var Y=Object.defineProperty;var Me=Object.getOwnPropertyDescriptor;var Le=Object.getOwnPropertyNames;var He=Object.getPrototypeOf,Be=Object.prototype.hasOwnProperty;var Ne=(r,t)=>{for(var o in t)Y(r,o,{get:t[o],enumerable:!0})},me=(r,t,o,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Le(t))!Be.call(r,n)&&n!==o&&Y(r,n,{get:()=>t[n],enumerable:!(a=Me(t,n))||a.enumerable});return r};var ge=(r,t,o)=>(o=r!=null?we(He(r)):{},me(t||!r||!r.__esModule?Y(o,"default",{value:r,enumerable:!0}):o,r)),Ve=r=>me(Y({},"__esModule",{value:!0}),r);var je={};Ne(je,{Deferred:()=>be,Head:()=>Ce,Link:()=>Re,WhenVisible:()=>Oe,createInertiaApp:()=>ue,router:()=>$e,useForm:()=>le,usePage:()=>W,usePoll:()=>fe,usePrefetch:()=>de,useRemember:()=>M});module.exports=Ve(je);var De=require("@inertiajs/core");var G=require("@inertiajs/core"),Te=require("react");var j=require("@inertiajs/core"),C=require("react");var Pe=require("react"),ye=(0,Pe.createContext)(void 0);ye.displayName="InertiaHeadContext";var U=ye;var he=require("react"),Se=(0,he.createContext)(void 0);Se.displayName="InertiaPageContext";var $=Se;function z({children:r,initialPage:t,initialComponent:o,resolveComponent:a,titleCallback:n,onHeadUpdate:g}){let[c,P]=(0,C.useState)({component:o||null,page:t,key:null}),y=(0,C.useMemo)(()=>(0,j.createHeadManager)(typeof window>"u",n||(f=>f),g||(()=>{})),[]);if((0,C.useEffect)(()=>{j.router.init({initialPage:t,resolveComponent:a,swapComponent:async({component:f,page:e,preserveState:d})=>{P(s=>({component:f,page:e,key:d?s.key:Date.now()}))}}),j.router.on("navigate",()=>y.forceUpdate())},[]),!c.component)return(0,C.createElement)(U.Provider,{value:y},(0,C.createElement)($.Provider,{value:c.page},null));let h=r||(({Component:f,props:e,key:d})=>{let s=(0,C.createElement)(f,{key:d,...e});return typeof f.layout=="function"?f.layout(s):Array.isArray(f.layout)?f.layout.concat(s).reverse().reduce((S,F)=>(0,C.createElement)(F,{children:S,...e})):s});return(0,C.createElement)(U.Provider,{value:y},(0,C.createElement)($.Provider,{value:c.page},h({Component:c.component,key:c.key,props:c.page.props})))}z.displayName="Inertia";async function ue({id:r="app",resolve:t,setup:o,title:a,progress:n={},page:g,render:c}){let P=typeof window>"u",y=P?null:document.getElementById(r),h=g||JSON.parse(y.dataset.page),f=s=>Promise.resolve(t(s)).then(S=>S.default||S),e=[],d=await Promise.all([f(h.component),G.router.decryptHistory().catch(()=>{})]).then(([s])=>o({el:y,App:z,props:{initialPage:h,initialComponent:s,resolveComponent:f,titleCallback:a,onHeadUpdate:P?S=>e=S:null}}));if(!P&&n&&(0,G.setupProgress)(n),P){let s=await c((0,Te.createElement)("div",{id:r,"data-page":JSON.stringify(h)},d));return{head:e,body:s}}}var X=require("react");var Fe=require("react");function W(){let r=(0,Fe.useContext)($);if(!r)throw new Error("usePage must be used within the Inertia component");return r}var ve=({children:r,data:t,fallback:o})=>{if(!t)throw new Error("`<Deferred>` requires a `data` prop");let[a,n]=(0,X.useState)(!1),g=W().props,c=Array.isArray(t)?t:[t];return(0,X.useEffect)(()=>{n(c.every(P=>g[P]!==void 0))},[g,c]),a?r:o};ve.displayName="InertiaDeferred";var be=ve;var E=ge(require("react"),1);var Ue=function({children:r,title:t}){let o=(0,E.useContext)(U),a=(0,E.useMemo)(()=>o.createProvider(),[o]);(0,E.useEffect)(()=>()=>{a.disconnect()},[a]);function n(e){return["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"].indexOf(e.type)>-1}function g(e){let d=Object.keys(e.props).reduce((s,S)=>{if(["head-key","children","dangerouslySetInnerHTML"].includes(S))return s;let F=e.props[S];return F===""?s+` ${S}`:s+` ${S}="${F}"`},"");return`<${e.type}${d}>`}function c(e){return typeof e.props.children=="string"?e.props.children:e.props.children.reduce((d,s)=>d+P(s),"")}function P(e){let d=g(e);return e.props.children&&(d+=c(e)),e.props.dangerouslySetInnerHTML&&(d+=e.props.dangerouslySetInnerHTML.__html),n(e)||(d+=`</${e.type}>`),d}function y(e){return E.default.cloneElement(e,{inertia:e.props["head-key"]!==void 0?e.props["head-key"]:""})}function h(e){return P(y(e))}function f(e){let d=E.default.Children.toArray(e).filter(s=>s).map(s=>h(s));return t&&!d.find(s=>s.startsWith("<title"))&&d.push(`<title inertia>${t}</title>`),d}return a.update(f(r)),null},Ce=Ue;var x=require("@inertiajs/core"),v=require("react"),A=()=>{},ke=(0,v.forwardRef)(({children:r,as:t="a",data:o={},href:a,method:n="get",preserveScroll:g=!1,preserveState:c=null,replace:P=!1,only:y=[],except:h=[],headers:f={},queryStringArrayFormat:e="brackets",async:d=!1,onClick:s=A,onCancelToken:S=A,onBefore:F=A,onStart:O=A,onProgress:D=A,onFinish:te=A,onCancel:K=A,onSuccess:re=A,onError:B=A,prefetch:b=!1,cacheFor:R=0,...oe},ne)=>{let[se,_]=(0,v.useState)(0),N=(0,v.useRef)(null);t=t.toLowerCase(),n=n.toLowerCase();let[w,ae]=(0,x.mergeDataIntoQueryString)(n,a||"",o,e);a=w,o=ae;let q={data:o,method:n,preserveScroll:g,preserveState:c??n!=="get",replace:P,only:y,except:h,headers:f,async:d},J={...q,onCancelToken:S,onBefore:F,onStart(l){_(m=>m+1),O(l)},onProgress:D,onFinish(l){_(m=>m-1),te(l)},onCancel:K,onSuccess:re,onError:B},V=()=>{x.router.prefetch(a,q,{cacheFor:ie})},I=(0,v.useMemo)(()=>b===!0?["hover"]:b===!1?[]:Array.isArray(b)?b:[b],Array.isArray(b)?b:[b]),ie=(0,v.useMemo)(()=>R!==0?R:I.length===1&&I[0]==="click"?0:3e4,[R,I]);(0,v.useEffect)(()=>()=>{clearTimeout(N.current)},[]),(0,v.useEffect)(()=>{I.includes("mount")&&setTimeout(()=>V())},I);let Q={onClick:l=>{s(l),(0,x.shouldIntercept)(l)&&(l.preventDefault(),x.router.visit(a,J))}},u={onMouseEnter:()=>{N.current=window.setTimeout(()=>{V()},75)},onMouseLeave:()=>{clearTimeout(N.current)},onClick:Q.onClick},T={onMouseDown:l=>{(0,x.shouldIntercept)(l)&&(l.preventDefault(),V())},onMouseUp:l=>{l.preventDefault(),x.router.visit(a,J)},onClick:l=>{s(l),(0,x.shouldIntercept)(l)&&l.preventDefault()}};return n!=="get"&&(t="button"),(0,v.createElement)(t,{...oe,...{a:{href:a},button:{type:"button"}}[t]||{},ref:ne,...(()=>I.includes("hover")?u:I.includes("click")?T:Q)(),"data-loading":se>0?"":void 0},r)});ke.displayName="InertiaLink";var Re=ke;var ce=require("@inertiajs/core"),xe=ge(require("lodash.isequal"),1),p=require("react");var pe=require("@inertiajs/core"),Z=require("react");function M(r,t){let[o,a]=(0,Z.useState)(()=>{let n=pe.router.restore(t);return n!==void 0?n:r});return(0,Z.useEffect)(()=>{pe.router.remember(o,t)},[o,t]),[o,a]}function le(r,t){let o=(0,p.useRef)(null),a=typeof r=="string"?r:null,[n,g]=(0,p.useState)((typeof r=="string"?t:r)||{}),c=(0,p.useRef)(null),P=(0,p.useRef)(null),[y,h]=a?M(n,`${a}:data`):(0,p.useState)(n),[f,e]=a?M({},`${a}:errors`):(0,p.useState)({}),[d,s]=(0,p.useState)(!1),[S,F]=(0,p.useState)(!1),[O,D]=(0,p.useState)(null),[te,K]=(0,p.useState)(!1),[re,B]=(0,p.useState)(!1),b=(0,p.useRef)(u=>u);(0,p.useEffect)(()=>(o.current=!0,()=>{o.current=!1}),[]);let R=(0,p.useCallback)((u,T,i={})=>{let l={...i,onCancelToken:m=>{if(c.current=m,i.onCancelToken)return i.onCancelToken(m)},onBefore:m=>{if(K(!1),B(!1),clearTimeout(P.current),i.onBefore)return i.onBefore(m)},onStart:m=>{if(F(!0),i.onStart)return i.onStart(m)},onProgress:m=>{if(D(m),i.onProgress)return i.onProgress(m)},onSuccess:m=>{if(o.current&&(F(!1),D(null),e({}),s(!1),K(!0),B(!0),P.current=setTimeout(()=>{o.current&&B(!1)},2e3)),i.onSuccess)return i.onSuccess(m)},onError:m=>{if(o.current&&(F(!1),D(null),e(m),s(!0)),i.onError)return i.onError(m)},onCancel:()=>{if(o.current&&(F(!1),D(null)),i.onCancel)return i.onCancel()},onFinish:m=>{if(o.current&&(F(!1),D(null)),c.current=null,i.onFinish)return i.onFinish(m)}};u==="delete"?ce.router.delete(T,{...l,data:b.current(y)}):ce.router[u](T,b.current(y),l)},[y,e,b]),oe=(0,p.useCallback)((u,T)=>{h(typeof u=="string"?i=>({...i,[u]:T}):typeof u=="function"?i=>u(i):u)},[h]),ne=(0,p.useCallback)((u,T)=>{g(typeof u>"u"?()=>y:i=>({...i,...typeof u=="string"?{[u]:T}:u}))},[y,g]),se=(0,p.useCallback)((...u)=>{u.length===0?h(n):h(T=>Object.keys(n).filter(i=>u.includes(i)).reduce((i,l)=>(i[l]=n[l],i),{...T}))},[h,n]),_=(0,p.useCallback)((u,T)=>{e(i=>{let l={...i,...typeof u=="string"?{[u]:T}:u};return s(Object.keys(l).length>0),l})},[e,s]),N=(0,p.useCallback)((...u)=>{e(T=>{let i=Object.keys(T).reduce((l,m)=>({...l,...u.length>0&&!u.includes(m)?{[m]:T[m]}:{}}),{});return s(Object.keys(i).length>0),i})},[e,s]),w=u=>(T,i)=>{R(u,T,i)},ae=(0,p.useCallback)(w("get"),[R]),q=(0,p.useCallback)(w("post"),[R]),J=(0,p.useCallback)(w("put"),[R]),V=(0,p.useCallback)(w("patch"),[R]),I=(0,p.useCallback)(w("delete"),[R]),ie=(0,p.useCallback)(()=>{c.current&&c.current.cancel()},[]),Q=(0,p.useCallback)(u=>{b.current=u},[]);return{data:y,setData:oe,isDirty:!(0,xe.default)(y,n),errors:f,hasErrors:d,processing:S,progress:O,wasSuccessful:te,recentlySuccessful:re,transform:Q,setDefaults:ne,reset:se,setError:_,clearErrors:N,submit:R,get:ae,post:q,put:J,patch:V,delete:I,cancel:ie}}var Ie=require("@inertiajs/core"),ee=require("react");function fe(r,t={},o={keepAlive:!1,autoStart:!0}){let a=(0,ee.useRef)(Ie.router.poll(r,t,{...o,autoStart:!1}));return(0,ee.useEffect)(()=>((o.autoStart??!0)&&a.current.start(),()=>a.current.stop()),[]),{stop:a.current.stop,start:a.current.start}}var L=require("@inertiajs/core"),H=require("react");function de(r={}){let t=typeof window>"u"?null:L.router.getCached(window.location.pathname,r),o=typeof window>"u"?null:L.router.getPrefetching(window.location.pathname,r),[a,n]=(0,H.useState)(t?.staleTimestamp||null),[g,c]=(0,H.useState)(o!==null),[P,y]=(0,H.useState)(t!==null);return(0,H.useEffect)(()=>{let h=L.router.on("prefetching",e=>{e.detail.visit.url.pathname===window.location.pathname&&c(!0)}),f=L.router.on("prefetched",e=>{e.detail.visit.url.pathname===window.location.pathname&&(c(!1),y(!0),n(e.detail.fetchedAt))});return()=>{f(),h()}},[]),{lastUpdatedAt:a,isPrefetching:g,isPrefetched:P,flush:()=>L.router.flush(window.location.pathname,r)}}var Ee=require("@inertiajs/core"),k=require("react"),Ae=({children:r,data:t,params:o,buffer:a,as:n,always:g,fallback:c})=>{g=g??!1,n=n??"div",c=c??null;let[P,y]=(0,k.useState)(!1),h=(0,k.useRef)(!1),f=(0,k.useRef)(!1),e=(0,k.useRef)(null),d=(0,k.useCallback)(()=>{if(t)return{only:Array.isArray(t)?t:[t]};if(!o)throw new Error("You must provide either a `data` or `params` prop.");return o},[o,t]);return(0,k.useEffect)(()=>{if(!e.current)return;let s=new IntersectionObserver(S=>{if(!S[0].isIntersecting||(!g&&h.current&&s.disconnect(),f.current))return;h.current=!0,f.current=!0;let F=d();Ee.router.reload({...F,onStart:O=>{f.current=!0,F.onStart?.(O)},onFinish:O=>{y(!0),f.current=!1,F.onFinish?.(O),g||s.disconnect()}})},{rootMargin:`${a||0}px`});return s.observe(e.current),()=>{s.disconnect()}},[e,d,a]),g||!P?(0,k.createElement)(n,{props:null,ref:e},P?r:c):P?r:null};Ae.displayName="InertiaWhenVisible";var Oe=Ae;var $e=De.router;
1
+ var He=Object.create;var G=Object.defineProperty;var Be=Object.getOwnPropertyDescriptor;var Ne=Object.getOwnPropertyNames;var Ve=Object.getPrototypeOf,je=Object.prototype.hasOwnProperty;var Ue=(r,t)=>{for(var o in t)G(r,o,{get:t[o],enumerable:!0})},ye=(r,t,o,p)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ne(t))!je.call(r,n)&&n!==o&&G(r,n,{get:()=>t[n],enumerable:!(p=Be(t,n))||p.enumerable});return r};var ce=(r,t,o)=>(o=r!=null?He(Ve(r)):{},ye(t||!r||!r.__esModule?G(o,"default",{value:r,enumerable:!0}):o,r)),$e=r=>ye(G({},"__esModule",{value:!0}),r);var _e={};Ue(_e,{Deferred:()=>ke,Head:()=>Re,Link:()=>Ie,WhenVisible:()=>Me,createInertiaApp:()=>le,router:()=>Ke,useForm:()=>me,usePage:()=>q,usePoll:()=>ge,usePrefetch:()=>Pe,useRemember:()=>B});module.exports=$e(_e);var Le=require("@inertiajs/core");var Z=require("@inertiajs/core"),ve=require("react");var _=require("@inertiajs/core"),C=require("react");var he=require("react"),Se=(0,he.createContext)(void 0);Se.displayName="InertiaHeadContext";var W=Se;var Te=require("react"),Fe=(0,Te.createContext)(void 0);Fe.displayName="InertiaPageContext";var K=Fe;function X({children:r,initialPage:t,initialComponent:o,resolveComponent:p,titleCallback:n,onHeadUpdate:d}){let[c,g]=(0,C.useState)({component:o||null,page:t,key:null}),m=(0,C.useMemo)(()=>(0,_.createHeadManager)(typeof window>"u",n||(l=>l),d||(()=>{})),[]);if((0,C.useEffect)(()=>{_.router.init({initialPage:t,resolveComponent:p,swapComponent:async({component:l,page:e,preserveState:f})=>{g(s=>({component:l,page:e,key:f?s.key:Date.now()}))}}),_.router.on("navigate",()=>m.forceUpdate())},[]),!c.component)return(0,C.createElement)(W.Provider,{value:m},(0,C.createElement)(K.Provider,{value:c.page},null));let P=r||(({Component:l,props:e,key:f})=>{let s=(0,C.createElement)(l,{key:f,...e});return typeof l.layout=="function"?l.layout(s):Array.isArray(l.layout)?l.layout.concat(s).reverse().reduce((S,T)=>(0,C.createElement)(T,{children:S,...e})):s});return(0,C.createElement)(W.Provider,{value:m},(0,C.createElement)(K.Provider,{value:c.page},P({Component:c.component,key:c.key,props:c.page.props})))}X.displayName="Inertia";async function le({id:r="app",resolve:t,setup:o,title:p,progress:n={},page:d,render:c}){let g=typeof window>"u",m=g?null:document.getElementById(r),P=d||JSON.parse(m.dataset.page),l=s=>Promise.resolve(t(s)).then(S=>S.default||S),e=[],f=await Promise.all([l(P.component),Z.router.decryptHistory().catch(()=>{})]).then(([s])=>o({el:m,App:X,props:{initialPage:P,initialComponent:s,resolveComponent:l,titleCallback:p,onHeadUpdate:g?S=>e=S:null}}));if(!g&&n&&(0,Z.setupProgress)(n),g){let s=await c((0,ve.createElement)("div",{id:r,"data-page":JSON.stringify(P)},f));return{head:e,body:s}}}var ee=require("react");var be=require("react");function q(){let r=(0,be.useContext)(K);if(!r)throw new Error("usePage must be used within the Inertia component");return r}var Ce=({children:r,data:t,fallback:o})=>{if(!t)throw new Error("`<Deferred>` requires a `data` prop to be a string or array of strings");let[p,n]=(0,ee.useState)(!1),d=q().props,c=Array.isArray(t)?t:[t];return(0,ee.useEffect)(()=>{n(c.every(g=>d[g]!==void 0))},[d,c]),p?r:o};Ce.displayName="InertiaDeferred";var ke=Ce;var A=ce(require("react"),1);var We=function({children:r,title:t}){let o=(0,A.useContext)(W),p=(0,A.useMemo)(()=>o.createProvider(),[o]);(0,A.useEffect)(()=>()=>{p.disconnect()},[p]);function n(e){return["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"].indexOf(e.type)>-1}function d(e){let f=Object.keys(e.props).reduce((s,S)=>{if(["head-key","children","dangerouslySetInnerHTML"].includes(S))return s;let T=e.props[S];return T===""?s+` ${S}`:s+` ${S}="${T}"`},"");return`<${e.type}${f}>`}function c(e){return typeof e.props.children=="string"?e.props.children:e.props.children.reduce((f,s)=>f+g(s),"")}function g(e){let f=d(e);return e.props.children&&(f+=c(e)),e.props.dangerouslySetInnerHTML&&(f+=e.props.dangerouslySetInnerHTML.__html),n(e)||(f+=`</${e.type}>`),f}function m(e){return A.default.cloneElement(e,{inertia:e.props["head-key"]!==void 0?e.props["head-key"]:""})}function P(e){return g(m(e))}function l(e){let f=A.default.Children.toArray(e).filter(s=>s).map(s=>P(s));return t&&!f.find(s=>s.startsWith("<title"))&&f.push(`<title inertia>${t}</title>`),f}return p.update(l(r)),null},Re=We;var I=require("@inertiajs/core"),v=require("react"),D=()=>{},xe=(0,v.forwardRef)(({children:r,as:t="a",data:o={},href:p,method:n="get",preserveScroll:d=!1,preserveState:c=null,replace:g=!1,only:m=[],except:P=[],headers:l={},queryStringArrayFormat:e="brackets",async:f=!1,onClick:s=D,onCancelToken:S=D,onBefore:T=D,onStart:O=D,onProgress:w=D,onFinish:oe=D,onCancel:J=D,onSuccess:ne=D,onError:j=D,prefetch:b=!1,cacheFor:R=0,...se},ae)=>{let[ie,Q]=(0,v.useState)(0),U=(0,v.useRef)(null);t=t.toLowerCase(),n=typeof p=="object"?p.method:n.toLowerCase();let[M,pe]=(0,I.mergeDataIntoQueryString)(n,typeof p=="object"?p.url:p||"",o,e),L=M;o=pe;let Y={data:o,method:n,preserveScroll:d,preserveState:c??n!=="get",replace:g,only:m,except:P,headers:l,async:f},z={...Y,onCancelToken:S,onBefore:T,onStart(a){Q(H=>H+1),O(a)},onProgress:w,onFinish(a){Q(H=>H-1),oe(a)},onCancel:J,onSuccess:ne,onError:j},$=()=>{I.router.prefetch(L,Y,{cacheFor:ue})},E=(0,v.useMemo)(()=>b===!0?["hover"]:b===!1?[]:Array.isArray(b)?b:[b],Array.isArray(b)?b:[b]),ue=(0,v.useMemo)(()=>R!==0?R:E.length===1&&E[0]==="click"?0:3e4,[R,E]);(0,v.useEffect)(()=>()=>{clearTimeout(U.current)},[]),(0,v.useEffect)(()=>{E.includes("mount")&&setTimeout(()=>$())},E);let i={onClick:a=>{s(a),(0,I.shouldIntercept)(a)&&(a.preventDefault(),I.router.visit(L,z))}},h={onMouseEnter:()=>{U.current=window.setTimeout(()=>{$()},75)},onMouseLeave:()=>{clearTimeout(U.current)},onClick:i.onClick},y={onMouseDown:a=>{(0,I.shouldIntercept)(a)&&(a.preventDefault(),$())},onMouseUp:a=>{a.preventDefault(),I.router.visit(L,z)},onClick:a=>{s(a),(0,I.shouldIntercept)(a)&&a.preventDefault()}};return n!=="get"&&(t="button"),(0,v.createElement)(t,{...se,...{a:{href:L},button:{type:"button"}}[t]||{},ref:ae,...E.includes("hover")?h:E.includes("click")?y:i,"data-loading":ie>0?"":void 0},r)});xe.displayName="InertiaLink";var Ie=xe;var de=require("@inertiajs/core"),Ee=ce(require("lodash.clonedeep"),1),Ae=ce(require("lodash.isequal"),1),u=require("react");var fe=require("@inertiajs/core"),te=require("react");function B(r,t){let[o,p]=(0,te.useState)(()=>{let n=fe.router.restore(t);return n!==void 0?n:r});return(0,te.useEffect)(()=>{fe.router.remember(o,t)},[o,t]),[o,p]}function me(r,t){let o=(0,u.useRef)(null),p=typeof r=="string"?r:null,[n,d]=(0,u.useState)((typeof r=="string"?t:r)||{}),c=(0,u.useRef)(null),g=(0,u.useRef)(null),[m,P]=p?B(n,`${p}:data`):(0,u.useState)(n),[l,e]=p?B({},`${p}:errors`):(0,u.useState)({}),[f,s]=(0,u.useState)(!1),[S,T]=(0,u.useState)(!1),[O,w]=(0,u.useState)(null),[oe,J]=(0,u.useState)(!1),[ne,j]=(0,u.useState)(!1),b=(0,u.useRef)(i=>i);(0,u.useEffect)(()=>(o.current=!0,()=>{o.current=!1}),[]);let R=(0,u.useCallback)((...i)=>{let h=typeof i[0]=="object",y=h?i[0].method:i[0],x=h?i[0].url:i[1],a=(h?i[1]:i[2])??{},H={...a,onCancelToken:F=>{if(c.current=F,a.onCancelToken)return a.onCancelToken(F)},onBefore:F=>{if(J(!1),j(!1),clearTimeout(g.current),a.onBefore)return a.onBefore(F)},onStart:F=>{if(T(!0),a.onStart)return a.onStart(F)},onProgress:F=>{if(w(F),a.onProgress)return a.onProgress(F)},onSuccess:F=>{if(o.current&&(T(!1),w(null),e({}),s(!1),J(!0),j(!0),d((0,Ee.default)(m)),g.current=setTimeout(()=>{o.current&&j(!1)},2e3)),a.onSuccess)return a.onSuccess(F)},onError:F=>{if(o.current&&(T(!1),w(null),e(F),s(!0)),a.onError)return a.onError(F)},onCancel:()=>{if(o.current&&(T(!1),w(null)),a.onCancel)return a.onCancel()},onFinish:F=>{if(o.current&&(T(!1),w(null)),c.current=null,a.onFinish)return a.onFinish(F)}};y==="delete"?de.router.delete(x,{...H,data:b.current(m)}):de.router[y](x,b.current(m),H)},[m,e,b]),se=(0,u.useCallback)((i,h)=>{P(typeof i=="string"?y=>({...y,[i]:h}):typeof i=="function"?y=>i(y):i)},[P]),ae=(0,u.useCallback)((i,h)=>{d(typeof i>"u"?()=>m:y=>({...y,...typeof i=="string"?{[i]:h}:i}))},[m,d]),ie=(0,u.useCallback)((...i)=>{i.length===0?P(n):P(h=>Object.keys(n).filter(y=>i.includes(y)).reduce((y,x)=>(y[x]=n[x],y),{...h}))},[P,n]),Q=(0,u.useCallback)((i,h)=>{e(y=>{let x={...y,...typeof i=="string"?{[i]:h}:i};return s(Object.keys(x).length>0),x})},[e,s]),U=(0,u.useCallback)((...i)=>{e(h=>{let y=Object.keys(h).reduce((x,a)=>({...x,...i.length>0&&!i.includes(a)?{[a]:h[a]}:{}}),{});return s(Object.keys(y).length>0),y})},[e,s]),M=i=>(h,y)=>{R(i,h,y)},pe=(0,u.useCallback)(M("get"),[R]),L=(0,u.useCallback)(M("post"),[R]),Y=(0,u.useCallback)(M("put"),[R]),z=(0,u.useCallback)(M("patch"),[R]),$=(0,u.useCallback)(M("delete"),[R]),E=(0,u.useCallback)(()=>{c.current&&c.current.cancel()},[]),ue=(0,u.useCallback)(i=>{b.current=i},[]);return{data:m,setData:se,isDirty:!(0,Ae.default)(m,n),errors:l,hasErrors:f,processing:S,progress:O,wasSuccessful:oe,recentlySuccessful:ne,transform:ue,setDefaults:ae,reset:ie,setError:Q,clearErrors:U,submit:R,get:pe,post:L,put:Y,patch:z,delete:$,cancel:E}}var De=require("@inertiajs/core"),re=require("react");function ge(r,t={},o={keepAlive:!1,autoStart:!0}){let p=(0,re.useRef)(De.router.poll(r,t,{...o,autoStart:!1}));return(0,re.useEffect)(()=>((o.autoStart??!0)&&p.current.start(),()=>p.current.stop()),[]),{stop:p.current.stop,start:p.current.start}}var N=require("@inertiajs/core"),V=require("react");function Pe(r={}){let t=typeof window>"u"?null:N.router.getCached(window.location.pathname,r),o=typeof window>"u"?null:N.router.getPrefetching(window.location.pathname,r),[p,n]=(0,V.useState)(t?.staleTimestamp||null),[d,c]=(0,V.useState)(o!==null),[g,m]=(0,V.useState)(t!==null);return(0,V.useEffect)(()=>{let P=N.router.on("prefetching",e=>{e.detail.visit.url.pathname===window.location.pathname&&c(!0)}),l=N.router.on("prefetched",e=>{e.detail.visit.url.pathname===window.location.pathname&&(c(!1),m(!0),n(e.detail.fetchedAt))});return()=>{l(),P()}},[]),{lastUpdatedAt:p,isPrefetching:d,isPrefetched:g,flush:()=>N.router.flush(window.location.pathname,r)}}var Oe=require("@inertiajs/core"),k=require("react"),we=({children:r,data:t,params:o,buffer:p,as:n,always:d,fallback:c})=>{d=d??!1,n=n??"div",c=c??null;let[g,m]=(0,k.useState)(!1),P=(0,k.useRef)(!1),l=(0,k.useRef)(!1),e=(0,k.useRef)(null),f=(0,k.useCallback)(()=>{if(t)return{only:Array.isArray(t)?t:[t]};if(!o)throw new Error("You must provide either a `data` or `params` prop.");return o},[o,t]);return(0,k.useEffect)(()=>{if(!e.current)return;let s=new IntersectionObserver(S=>{if(!S[0].isIntersecting||(!d&&P.current&&s.disconnect(),l.current))return;P.current=!0,l.current=!0;let T=f();Oe.router.reload({...T,onStart:O=>{l.current=!0,T.onStart?.(O)},onFinish:O=>{m(!0),l.current=!1,T.onFinish?.(O),d||s.disconnect()}})},{rootMargin:`${p||0}px`});return s.observe(e.current),()=>{s.disconnect()}},[e,f,p]),d||!g?(0,k.createElement)(n,{props:null,ref:e},g?r:c):g?r:null};we.displayName="InertiaWhenVisible";var Me=we;var Ke=Le.router;
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/createInertiaApp.ts", "../src/App.ts", "../src/HeadContext.ts", "../src/PageContext.ts", "../src/Deferred.ts", "../src/usePage.ts", "../src/Head.ts", "../src/Link.ts", "../src/useForm.ts", "../src/useRemember.ts", "../src/usePoll.ts", "../src/usePrefetch.ts", "../src/WhenVisible.ts"],
4
- "sourcesContent": ["import { router as Router } from '@inertiajs/core'\n\nexport const router = Router\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 { InertiaFormProps, default as useForm } from './useForm'\nexport { default as usePage } from './usePage'\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 { Page, PageProps, PageResolver, router, setupProgress } from '@inertiajs/core'\nimport { ComponentType, FunctionComponent, Key, ReactElement, ReactNode, createElement } from 'react'\nimport { renderToString } from 'react-dom/server'\nimport App from './App'\n\ntype ReactInstance = ReactElement\ntype ReactComponent = ReactNode\n\ntype HeadManagerOnUpdate = (elements: string[]) => void // TODO: When shipped, replace with: Inertia.HeadManagerOnUpdate\ntype HeadManagerTitleCallback = (title: string) => string // TODO: When shipped, replace with: Inertia.HeadManagerTitleCallback\n\ntype AppType<SharedProps extends PageProps = PageProps> = FunctionComponent<\n {\n children?: (props: { Component: ComponentType; key: Key; props: Page<SharedProps>['props'] }) => ReactNode\n } & SetupOptions<unknown, SharedProps>['props']\n>\n\nexport type SetupOptions<ElementType, SharedProps extends PageProps> = {\n el: ElementType\n App: AppType\n props: {\n initialPage: Page<SharedProps>\n initialComponent: ReactComponent\n resolveComponent: PageResolver\n titleCallback?: HeadManagerTitleCallback\n onHeadUpdate?: HeadManagerOnUpdate\n }\n}\n\ntype BaseInertiaAppOptions = {\n title?: HeadManagerTitleCallback\n resolve: PageResolver\n}\n\ntype CreateInertiaAppSetupReturnType = ReactInstance | void\ntype InertiaAppOptionsForCSR<SharedProps extends PageProps> = BaseInertiaAppOptions & {\n id?: string\n page?: Page | string\n render?: undefined\n progress?:\n | false\n | {\n delay?: number\n color?: string\n includeCSS?: boolean\n showSpinner?: boolean\n }\n setup(options: SetupOptions<HTMLElement, SharedProps>): CreateInertiaAppSetupReturnType\n}\n\ntype CreateInertiaAppSSRContent = { head: string[]; body: string }\ntype InertiaAppOptionsForSSR<SharedProps extends PageProps> = BaseInertiaAppOptions & {\n id?: undefined\n page: Page | string\n render: typeof renderToString\n progress?: undefined\n setup(options: SetupOptions<null, SharedProps>): ReactInstance\n}\n\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>(\n options: InertiaAppOptionsForCSR<SharedProps>,\n): Promise<CreateInertiaAppSetupReturnType>\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>(\n options: InertiaAppOptionsForSSR<SharedProps>,\n): Promise<CreateInertiaAppSSRContent>\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>({\n id = 'app',\n resolve,\n setup,\n title,\n progress = {},\n page,\n render,\n}: InertiaAppOptionsForCSR<SharedProps> | InertiaAppOptionsForSSR<SharedProps>): Promise<\n CreateInertiaAppSetupReturnType | CreateInertiaAppSSRContent\n> {\n const isServer = typeof window === 'undefined'\n const el = isServer ? null : document.getElementById(id)\n const initialPage = page || JSON.parse(el.dataset.page)\n // @ts-expect-error\n const resolveComponent = (name) => Promise.resolve(resolve(name)).then((module) => module.default || module)\n\n let head = []\n\n const reactApp = await Promise.all([\n resolveComponent(initialPage.component),\n router.decryptHistory().catch(() => {}),\n ]).then(([initialComponent]) => {\n return setup({\n // @ts-expect-error\n el,\n App,\n props: {\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback: title,\n onHeadUpdate: isServer ? (elements) => (head = elements) : null,\n },\n })\n })\n\n if (!isServer && progress) {\n setupProgress(progress)\n }\n\n if (isServer) {\n const body = await render(\n createElement(\n 'div',\n {\n id,\n 'data-page': JSON.stringify(initialPage),\n },\n // @ts-expect-error\n reactApp,\n ),\n )\n\n return { head, body }\n }\n}\n", "import { createHeadManager, router } from '@inertiajs/core'\nimport { createElement, useEffect, useMemo, useState } from 'react'\nimport HeadContext from './HeadContext'\nimport PageContext from './PageContext'\n\nexport default function App({\n children,\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback,\n onHeadUpdate,\n}) {\n const [current, setCurrent] = useState({\n component: initialComponent || null,\n page: initialPage,\n key: null,\n })\n\n const headManager = useMemo(() => {\n return createHeadManager(\n typeof window === 'undefined',\n titleCallback || ((title) => title),\n onHeadUpdate || (() => {}),\n )\n }, [])\n\n useEffect(() => {\n router.init({\n initialPage,\n resolveComponent,\n swapComponent: async ({ component, page, preserveState }) => {\n setCurrent((current) => ({\n component,\n page,\n key: preserveState ? current.key : Date.now(),\n }))\n },\n })\n\n router.on('navigate', () => headManager.forceUpdate())\n }, [])\n\n if (!current.component) {\n return createElement(\n HeadContext.Provider,\n { value: headManager },\n createElement(PageContext.Provider, { value: current.page }, null),\n )\n }\n\n const renderChildren =\n children ||\n (({ Component, props, key }) => {\n const child = createElement(Component, { key, ...props })\n\n if (typeof Component.layout === 'function') {\n return Component.layout(child)\n }\n\n if (Array.isArray(Component.layout)) {\n return Component.layout\n .concat(child)\n .reverse()\n .reduce((children, Layout) => createElement(Layout, { children, ...props }))\n }\n\n return child\n })\n\n return createElement(\n HeadContext.Provider,\n { value: headManager },\n createElement(\n PageContext.Provider,\n { value: current.page },\n renderChildren({\n Component: current.component,\n key: current.key,\n props: current.page.props,\n }),\n ),\n )\n}\n\nApp.displayName = 'Inertia'\n", "import { createContext } from 'react'\n\nconst headContext = createContext(undefined)\nheadContext.displayName = 'InertiaHeadContext'\n\nexport default headContext\n", "import { createContext } from 'react'\n\nconst pageContext = createContext(undefined)\npageContext.displayName = 'InertiaPageContext'\n\nexport default pageContext\n", "import { ReactElement, useEffect, useState } from 'react'\nimport usePage from './usePage'\n\ninterface DeferredProps {\n children: ReactElement | number | string\n fallback: ReactElement | number | string\n data: string | string[]\n}\n\nconst Deferred = ({ children, data, fallback }: DeferredProps) => {\n if (!data) {\n throw new Error('`<Deferred>` requires a `data` prop')\n }\n\n const [loaded, setLoaded] = useState(false)\n const pageProps = usePage().props\n const keys = Array.isArray(data) ? data : [data]\n\n useEffect(() => {\n setLoaded(keys.every((key) => pageProps[key] !== undefined))\n }, [pageProps, keys])\n\n return loaded ? children : fallback\n}\n\nDeferred.displayName = 'InertiaDeferred'\n\nexport default Deferred\n", "import { Page, PageProps } from '@inertiajs/core'\nimport { useContext } from 'react'\nimport PageContext from './PageContext'\n\nexport default function usePage<TPageProps extends PageProps = PageProps>(): Page<TPageProps> {\n const page = useContext(PageContext)\n\n if (!page) {\n throw new Error('usePage must be used within the Inertia component')\n }\n\n return page\n}\n", "import React, { FunctionComponent, useContext, useEffect, useMemo } from 'react'\nimport HeadContext from './HeadContext'\n\ntype InertiaHeadProps = {\n title?: string\n children?: React.ReactNode\n}\n\ntype InertiaHead = FunctionComponent<InertiaHeadProps>\n\nconst Head: InertiaHead = function ({ children, title }) {\n const headManager = useContext(HeadContext)\n const provider = useMemo(() => headManager.createProvider(), [headManager])\n\n useEffect(() => {\n return () => {\n provider.disconnect()\n }\n }, [provider])\n\n function 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\n function renderTagStart(node) {\n const attrs = Object.keys(node.props).reduce((carry, name) => {\n if (['head-key', 'children', 'dangerouslySetInnerHTML'].includes(name)) {\n return carry\n }\n const value = node.props[name]\n if (value === '') {\n return carry + ` ${name}`\n } else {\n return carry + ` ${name}=\"${value}\"`\n }\n }, '')\n return `<${node.type}${attrs}>`\n }\n\n function renderTagChildren(node) {\n return typeof node.props.children === 'string'\n ? node.props.children\n : node.props.children.reduce((html, child) => html + renderTag(child), '')\n }\n\n function renderTag(node) {\n let html = renderTagStart(node)\n if (node.props.children) {\n html += renderTagChildren(node)\n }\n if (node.props.dangerouslySetInnerHTML) {\n html += node.props.dangerouslySetInnerHTML.__html\n }\n if (!isUnaryTag(node)) {\n html += `</${node.type}>`\n }\n return html\n }\n\n function ensureNodeHasInertiaProp(node) {\n return React.cloneElement(node, {\n inertia: node.props['head-key'] !== undefined ? node.props['head-key'] : '',\n })\n }\n\n function renderNode(node) {\n return renderTag(ensureNodeHasInertiaProp(node))\n }\n\n function renderNodes(nodes) {\n const computed = React.Children.toArray(nodes)\n .filter((node) => node)\n .map((node) => renderNode(node))\n if (title && !computed.find((tag) => tag.startsWith('<title'))) {\n computed.push(`<title inertia>${title}</title>`)\n }\n return computed\n }\n\n provider.update(renderNodes(children))\n\n return null\n}\nexport default Head\n", "import {\n FormDataConvertible,\n LinkPrefetchOption,\n mergeDataIntoQueryString,\n Method,\n PendingVisit,\n PreserveStateOption,\n Progress,\n router,\n shouldIntercept,\n} from '@inertiajs/core'\nimport { createElement, forwardRef, useEffect, useMemo, useRef, useState } from 'react'\n\nconst noop = () => undefined\n\ninterface BaseInertiaLinkProps {\n as?: string\n data?: Record<string, FormDataConvertible>\n href: string\n method?: Method\n headers?: Record<string, string>\n onClick?: (event: React.MouseEvent<Element>) => 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?: (event: PendingVisit) => void\n onProgress?: (progress: Progress) => void\n onFinish?: (event: PendingVisit) => void\n onCancel?: () => void\n onSuccess?: () => void\n onError?: () => void\n queryStringArrayFormat?: 'indices' | 'brackets'\n async?: boolean\n cacheFor?: number | string\n prefetch?: boolean | LinkPrefetchOption | LinkPrefetchOption[]\n}\n\nexport type InertiaLinkProps = BaseInertiaLinkProps &\n Omit<React.HTMLAttributes<HTMLElement>, keyof BaseInertiaLinkProps> &\n Omit<React.AllHTMLAttributes<HTMLElement>, keyof BaseInertiaLinkProps>\n\nconst Link = forwardRef<unknown, InertiaLinkProps>(\n (\n {\n children,\n as = 'a',\n data = {},\n href,\n method = 'get',\n preserveScroll = false,\n preserveState = null,\n replace = false,\n only = [],\n except = [],\n headers = {},\n queryStringArrayFormat = 'brackets',\n async = false,\n onClick = noop,\n onCancelToken = noop,\n onBefore = noop,\n onStart = noop,\n onProgress = noop,\n onFinish = noop,\n onCancel = noop,\n onSuccess = noop,\n onError = noop,\n prefetch = false,\n cacheFor = 0,\n ...props\n },\n ref,\n ) => {\n const [inFlightCount, setInFlightCount] = useState(0)\n const hoverTimeout = useRef<number>(null)\n\n as = as.toLowerCase()\n method = method.toLowerCase() as Method\n const [_href, _data] = mergeDataIntoQueryString(method, href || '', data, queryStringArrayFormat)\n href = _href\n data = _data\n\n const baseParams = {\n data,\n method,\n preserveScroll,\n preserveState: preserveState ?? method !== 'get',\n replace,\n only,\n except,\n headers,\n async,\n }\n\n const visitParams = {\n ...baseParams,\n onCancelToken,\n onBefore,\n onStart(event) {\n setInFlightCount((count) => count + 1)\n onStart(event)\n },\n onProgress,\n onFinish(event) {\n setInFlightCount((count) => count - 1)\n onFinish(event)\n },\n onCancel,\n onSuccess,\n onError,\n }\n\n const doPrefetch = () => {\n router.prefetch(href, baseParams, { cacheFor: cacheForValue })\n }\n\n const prefetchModes: LinkPrefetchOption[] = useMemo(\n () => {\n if (prefetch === true) {\n return ['hover']\n }\n\n if (prefetch === false) {\n return []\n }\n\n if (Array.isArray(prefetch)) {\n return prefetch\n }\n\n return [prefetch]\n },\n Array.isArray(prefetch) ? prefetch : [prefetch],\n )\n\n const cacheForValue = useMemo(() => {\n if (cacheFor !== 0) {\n // If they've provided a value, respect it\n return 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 }, [cacheFor, prefetchModes])\n\n useEffect(() => {\n return () => {\n clearTimeout(hoverTimeout.current)\n }\n }, [])\n\n useEffect(() => {\n if (prefetchModes.includes('mount')) {\n setTimeout(() => doPrefetch())\n }\n }, prefetchModes)\n\n const regularEvents = {\n onClick: (event) => {\n onClick(event)\n\n if (shouldIntercept(event)) {\n event.preventDefault()\n\n router.visit(href, visitParams)\n }\n },\n }\n\n const prefetchHoverEvents = {\n onMouseEnter: () => {\n hoverTimeout.current = window.setTimeout(() => {\n doPrefetch()\n }, 75)\n },\n onMouseLeave: () => {\n clearTimeout(hoverTimeout.current)\n },\n onClick: regularEvents.onClick,\n }\n\n const prefetchClickEvents = {\n onMouseDown: (event) => {\n if (shouldIntercept(event)) {\n event.preventDefault()\n doPrefetch()\n }\n },\n onMouseUp: (event) => {\n event.preventDefault()\n router.visit(href, visitParams)\n },\n onClick: (event) => {\n onClick(event)\n\n if (shouldIntercept(event)) {\n // Let the mouseup event handle the visit\n event.preventDefault()\n }\n },\n }\n\n if (method !== 'get') {\n as = 'button'\n }\n\n const elProps = {\n a: { href },\n button: { type: 'button' },\n }\n\n return createElement(\n as,\n {\n ...props,\n ...(elProps[as] || {}),\n ref,\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 'data-loading': inFlightCount > 0 ? '' : undefined,\n },\n children,\n )\n },\n)\nLink.displayName = 'InertiaLink'\n\nexport default Link\n", "import { FormDataConvertible, Method, Progress, router, VisitOptions } from '@inertiajs/core'\nimport isEqual from 'lodash.isequal'\nimport { useCallback, useEffect, useRef, useState } from 'react'\nimport useRemember from './useRemember'\n\ntype setDataByObject<TForm> = (data: TForm) => void\ntype setDataByMethod<TForm> = (data: (previousData: TForm) => TForm) => void\ntype setDataByKeyValuePair<TForm> = <K extends keyof TForm>(key: K, value: TForm[K]) => void\ntype FormDataType = Record<string, FormDataConvertible>\ntype FormOptions = Omit<VisitOptions, 'data'>\n\nexport interface InertiaFormProps<TForm extends FormDataType> {\n data: TForm\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 setData: setDataByObject<TForm> & setDataByMethod<TForm> & setDataByKeyValuePair<TForm>\n transform: (callback: (data: TForm) => object) => void\n setDefaults(): void\n setDefaults(field: keyof TForm, value: FormDataConvertible): void\n setDefaults(fields: Partial<TForm>): void\n reset: (...fields: (keyof TForm)[]) => void\n clearErrors: (...fields: (keyof TForm)[]) => void\n setError(field: keyof TForm, value: string): void\n setError(errors: Record<keyof TForm, string>): void\n submit: (method: Method, url: string, options?: FormOptions) => void\n get: (url: string, options?: FormOptions) => void\n patch: (url: string, options?: FormOptions) => void\n post: (url: string, options?: FormOptions) => void\n put: (url: string, options?: FormOptions) => void\n delete: (url: string, options?: FormOptions) => void\n cancel: () => void\n}\nexport default function useForm<TForm extends FormDataType>(initialValues?: TForm): InertiaFormProps<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKey: string,\n initialValues?: TForm,\n): InertiaFormProps<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKeyOrInitialValues?: string | TForm,\n maybeInitialValues?: TForm,\n): InertiaFormProps<TForm> {\n const isMounted = useRef(null)\n const rememberKey = typeof rememberKeyOrInitialValues === 'string' ? rememberKeyOrInitialValues : null\n const [defaults, setDefaults] = useState(\n (typeof rememberKeyOrInitialValues === 'string' ? maybeInitialValues : rememberKeyOrInitialValues) || ({} as TForm),\n )\n const cancelToken = useRef(null)\n const recentlySuccessfulTimeoutId = useRef(null)\n const [data, setData] = rememberKey ? useRemember(defaults, `${rememberKey}:data`) : useState(defaults)\n const [errors, setErrors] = rememberKey\n ? useRemember({} as Partial<Record<keyof TForm, string>>, `${rememberKey}:errors`)\n : useState({} as Partial<Record<keyof TForm, string>>)\n const [hasErrors, setHasErrors] = useState(false)\n const [processing, setProcessing] = useState(false)\n const [progress, setProgress] = useState(null)\n const [wasSuccessful, setWasSuccessful] = useState(false)\n const [recentlySuccessful, setRecentlySuccessful] = useState(false)\n const transform = useRef((data) => data)\n\n useEffect(() => {\n isMounted.current = true\n return () => {\n isMounted.current = false\n }\n }, [])\n\n const submit = useCallback(\n (method, url, options: VisitOptions = {}) => {\n const _options = {\n ...options,\n onCancelToken: (token) => {\n cancelToken.current = token\n\n if (options.onCancelToken) {\n return options.onCancelToken(token)\n }\n },\n onBefore: (visit) => {\n setWasSuccessful(false)\n setRecentlySuccessful(false)\n clearTimeout(recentlySuccessfulTimeoutId.current)\n\n if (options.onBefore) {\n return options.onBefore(visit)\n }\n },\n onStart: (visit) => {\n setProcessing(true)\n\n if (options.onStart) {\n return options.onStart(visit)\n }\n },\n onProgress: (event) => {\n setProgress(event)\n\n if (options.onProgress) {\n return options.onProgress(event)\n }\n },\n onSuccess: (page) => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n setErrors({})\n setHasErrors(false)\n setWasSuccessful(true)\n setRecentlySuccessful(true)\n recentlySuccessfulTimeoutId.current = setTimeout(() => {\n if (isMounted.current) {\n setRecentlySuccessful(false)\n }\n }, 2000)\n }\n\n if (options.onSuccess) {\n return options.onSuccess(page)\n }\n },\n onError: (errors) => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n setErrors(errors)\n setHasErrors(true)\n }\n\n if (options.onError) {\n return options.onError(errors)\n }\n },\n onCancel: () => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n }\n\n if (options.onCancel) {\n return options.onCancel()\n }\n },\n onFinish: (visit) => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n }\n\n cancelToken.current = 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: transform.current(data) })\n } else {\n router[method](url, transform.current(data), _options)\n }\n },\n [data, setErrors, transform],\n )\n\n const setDataFunction = useCallback(\n (keyOrData: keyof TForm | Function | TForm, maybeValue?: TForm[keyof TForm]) => {\n if (typeof keyOrData === 'string') {\n setData((data) => ({ ...data, [keyOrData]: maybeValue }))\n } else if (typeof keyOrData === 'function') {\n setData((data) => keyOrData(data))\n } else {\n setData(keyOrData as TForm)\n }\n },\n [setData],\n )\n\n const setDefaultsFunction = useCallback(\n (fieldOrFields?: keyof TForm | Partial<TForm>, maybeValue?: FormDataConvertible) => {\n if (typeof fieldOrFields === 'undefined') {\n setDefaults(() => data)\n } else {\n setDefaults((defaults) => ({\n ...defaults,\n ...(typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : (fieldOrFields as TForm)),\n }))\n }\n },\n [data, setDefaults],\n )\n\n const reset = useCallback(\n (...fields) => {\n if (fields.length === 0) {\n setData(defaults)\n } else {\n setData((data) =>\n (Object.keys(defaults) as Array<keyof TForm>)\n .filter((key) => fields.includes(key))\n .reduce(\n (carry, key) => {\n carry[key] = defaults[key]\n return carry\n },\n { ...data },\n ),\n )\n }\n },\n [setData, defaults],\n )\n\n const setError = useCallback(\n (fieldOrFields: keyof TForm | Record<keyof TForm, string>, maybeValue?: string) => {\n setErrors((errors) => {\n const newErrors = {\n ...errors,\n ...(typeof fieldOrFields === 'string'\n ? { [fieldOrFields]: maybeValue }\n : (fieldOrFields as Record<keyof TForm, string>)),\n }\n setHasErrors(Object.keys(newErrors).length > 0)\n return newErrors\n })\n },\n [setErrors, setHasErrors],\n )\n\n const clearErrors = useCallback(\n (...fields) => {\n setErrors((errors) => {\n const newErrors = (Object.keys(errors) as Array<keyof TForm>).reduce(\n (carry, field) => ({\n ...carry,\n ...(fields.length > 0 && !fields.includes(field) ? { [field]: errors[field] } : {}),\n }),\n {},\n )\n setHasErrors(Object.keys(newErrors).length > 0)\n return newErrors\n })\n },\n [setErrors, setHasErrors],\n )\n\n const createSubmitMethod = (method) => (url, options) => {\n submit(method, url, options)\n }\n const get = useCallback(createSubmitMethod('get'), [submit])\n const post = useCallback(createSubmitMethod('post'), [submit])\n const put = useCallback(createSubmitMethod('put'), [submit])\n const patch = useCallback(createSubmitMethod('patch'), [submit])\n const deleteMethod = useCallback(createSubmitMethod('delete'), [submit])\n\n const cancel = useCallback(() => {\n if (cancelToken.current) {\n cancelToken.current.cancel()\n }\n }, [])\n\n const transformFunction = useCallback((callback) => {\n transform.current = callback\n }, [])\n\n return {\n data,\n setData: setDataFunction,\n isDirty: !isEqual(data, defaults),\n errors,\n hasErrors,\n processing,\n progress,\n wasSuccessful,\n recentlySuccessful,\n transform: transformFunction,\n setDefaults: setDefaultsFunction,\n reset,\n setError,\n clearErrors,\n submit,\n get,\n post,\n put,\n patch,\n delete: deleteMethod,\n cancel,\n }\n}\n", "import { router } from '@inertiajs/core'\nimport { Dispatch, SetStateAction, useEffect, useState } from 'react'\n\nexport default function useRemember<State>(\n initialState: State,\n key?: string,\n): [State, Dispatch<SetStateAction<State>>] {\n const [state, setState] = useState(() => {\n const restored = router.restore(key) as State\n\n return restored !== undefined ? restored : initialState\n })\n\n useEffect(() => {\n router.remember(state, key)\n }, [state, key])\n\n return [state, setState]\n}\n", "import { PollOptions, ReloadOptions, router } from '@inertiajs/core'\nimport { useEffect, useRef } from 'react'\n\nexport default function usePoll(\n interval: number,\n requestOptions: ReloadOptions = {},\n options: PollOptions = {\n keepAlive: false,\n autoStart: true,\n },\n) {\n const pollRef = useRef(\n router.poll(interval, requestOptions, {\n ...options,\n autoStart: false,\n }),\n )\n\n useEffect(() => {\n if (options.autoStart ?? true) {\n pollRef.current.start()\n }\n\n return () => pollRef.current.stop()\n }, [])\n\n return {\n stop: pollRef.current.stop,\n start: pollRef.current.start,\n }\n}\n", "import { router, VisitOptions } from '@inertiajs/core'\nimport { useEffect, useState } from 'react'\n\nexport default function usePrefetch(options: VisitOptions = {}): {\n lastUpdatedAt: number | null\n isPrefetching: boolean\n isPrefetched: boolean\n flush: () => void\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 const [lastUpdatedAt, setLastUpdatedAt] = useState<number | null>(cached?.staleTimestamp || null)\n const [isPrefetching, setIsPrefetching] = useState(inFlight !== null)\n const [isPrefetched, setIsPrefetched] = useState(cached !== null)\n\n useEffect(() => {\n const onPrefetchingListener = router.on('prefetching', (e) => {\n if (e.detail.visit.url.pathname === window.location.pathname) {\n setIsPrefetching(true)\n }\n })\n\n const onPrefetchedListener = router.on('prefetched', (e) => {\n if (e.detail.visit.url.pathname === window.location.pathname) {\n setIsPrefetching(false)\n setIsPrefetched(true)\n setLastUpdatedAt(e.detail.fetchedAt)\n }\n })\n\n return () => {\n onPrefetchedListener()\n onPrefetchingListener()\n }\n }, [])\n\n return {\n lastUpdatedAt,\n isPrefetching,\n isPrefetched,\n flush: () => router.flush(window.location.pathname, options),\n }\n}\n", "import { ReloadOptions, router } from '@inertiajs/core'\nimport { createElement, ReactElement, useCallback, useEffect, useRef, useState } from 'react'\n\ninterface WhenVisibleProps {\n children: ReactElement | number | string\n fallback: ReactElement | number | string\n data?: string | string[]\n params?: ReloadOptions\n buffer?: number\n as?: string\n always?: boolean\n}\n\nconst WhenVisible = ({ children, data, params, buffer, as, always, fallback }: WhenVisibleProps) => {\n always = always ?? false\n as = as ?? 'div'\n fallback = fallback ?? null\n\n const [loaded, setLoaded] = useState(false)\n const hasFetched = useRef<boolean>(false)\n const fetching = useRef<boolean>(false)\n const ref = useRef<HTMLDivElement>(null)\n\n const getReloadParams = useCallback<() => Partial<ReloadOptions>>(() => {\n if (data) {\n return {\n only: (Array.isArray(data) ? data : [data]) as string[],\n }\n }\n\n if (!params) {\n throw new Error('You must provide either a `data` or `params` prop.')\n }\n\n return params\n }, [params, data])\n\n useEffect(() => {\n if (!ref.current) {\n return\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n if (!entries[0].isIntersecting) {\n return\n }\n\n if (!always && hasFetched.current) {\n observer.disconnect()\n }\n\n if (fetching.current) {\n return\n }\n\n hasFetched.current = true\n fetching.current = true\n\n const reloadParams = getReloadParams()\n\n router.reload({\n ...reloadParams,\n onStart: (e) => {\n fetching.current = true\n reloadParams.onStart?.(e)\n },\n onFinish: (e) => {\n setLoaded(true)\n fetching.current = false\n reloadParams.onFinish?.(e)\n\n if (!always) {\n observer.disconnect()\n }\n },\n })\n },\n {\n rootMargin: `${buffer || 0}px`,\n },\n )\n\n observer.observe(ref.current)\n\n return () => {\n observer.disconnect()\n }\n }, [ref, getReloadParams, buffer])\n\n if (always || !loaded) {\n return createElement(\n as,\n {\n props: null,\n ref,\n },\n loaded ? children : fallback,\n )\n }\n\n return loaded ? children : null\n}\n\nWhenVisible.displayName = 'InertiaWhenVisible'\n\nexport default WhenVisible\n"],
5
- "mappings": "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",
6
- "names": ["src_exports", "__export", "Deferred_default", "Head_default", "Link_default", "WhenVisible_default", "createInertiaApp", "router", "useForm", "usePage", "usePoll", "usePrefetch", "useRemember", "__toCommonJS", "import_core", "import_core", "import_react", "import_core", "import_react", "import_react", "headContext", "HeadContext_default", "import_react", "pageContext", "PageContext_default", "App", "children", "initialPage", "initialComponent", "resolveComponent", "titleCallback", "onHeadUpdate", "current", "setCurrent", "headManager", "title", "component", "page", "preserveState", "HeadContext_default", "PageContext_default", "renderChildren", "Component", "props", "key", "child", "Layout", "createInertiaApp", "id", "resolve", "setup", "title", "progress", "page", "render", "isServer", "el", "initialPage", "resolveComponent", "name", "module", "head", "reactApp", "initialComponent", "App", "elements", "body", "import_react", "import_react", "usePage", "page", "PageContext_default", "Deferred", "children", "data", "fallback", "loaded", "setLoaded", "pageProps", "usePage", "keys", "key", "Deferred_default", "import_react", "Head", "children", "title", "headManager", "HeadContext_default", "provider", "isUnaryTag", "node", "renderTagStart", "attrs", "carry", "name", "value", "renderTagChildren", "html", "child", "renderTag", "ensureNodeHasInertiaProp", "React", "renderNode", "renderNodes", "nodes", "computed", "tag", "Head_default", "import_core", "import_react", "noop", "Link", "children", "as", "data", "href", "method", "preserveScroll", "preserveState", "replace", "only", "except", "headers", "queryStringArrayFormat", "async", "onClick", "onCancelToken", "onBefore", "onStart", "onProgress", "onFinish", "onCancel", "onSuccess", "onError", "prefetch", "cacheFor", "props", "ref", "inFlightCount", "setInFlightCount", "hoverTimeout", "_href", "_data", "baseParams", "visitParams", "event", "count", "doPrefetch", "cacheForValue", "prefetchModes", "regularEvents", "prefetchHoverEvents", "prefetchClickEvents", "Link_default", "import_core", "import_lodash", "import_react", "import_core", "import_react", "useRemember", "initialState", "key", "state", "setState", "restored", "useForm", "rememberKeyOrInitialValues", "maybeInitialValues", "isMounted", "rememberKey", "defaults", "setDefaults", "cancelToken", "recentlySuccessfulTimeoutId", "data", "setData", "useRemember", "errors", "setErrors", "hasErrors", "setHasErrors", "processing", "setProcessing", "progress", "setProgress", "wasSuccessful", "setWasSuccessful", "recentlySuccessful", "setRecentlySuccessful", "transform", "submit", "method", "url", "options", "_options", "token", "visit", "event", "page", "setDataFunction", "keyOrData", "maybeValue", "setDefaultsFunction", "fieldOrFields", "reset", "fields", "key", "carry", "setError", "newErrors", "clearErrors", "field", "createSubmitMethod", "get", "post", "put", "patch", "deleteMethod", "cancel", "transformFunction", "callback", "isEqual", "import_core", "import_react", "usePoll", "interval", "requestOptions", "options", "pollRef", "import_core", "import_react", "usePrefetch", "options", "cached", "inFlight", "lastUpdatedAt", "setLastUpdatedAt", "isPrefetching", "setIsPrefetching", "isPrefetched", "setIsPrefetched", "onPrefetchingListener", "onPrefetchedListener", "import_core", "import_react", "WhenVisible", "children", "data", "params", "buffer", "as", "always", "fallback", "loaded", "setLoaded", "hasFetched", "fetching", "ref", "getReloadParams", "observer", "entries", "reloadParams", "e", "WhenVisible_default", "router", "Router"]
4
+ "sourcesContent": ["import { router as Router } from '@inertiajs/core'\n\nexport const router = Router\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 { InertiaFormProps, default as useForm } from './useForm'\nexport { default as usePage } from './usePage'\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 { Page, PageProps, PageResolver, router, setupProgress } from '@inertiajs/core'\nimport { ComponentType, FunctionComponent, Key, ReactElement, ReactNode, createElement } from 'react'\nimport { renderToString } from 'react-dom/server'\nimport App from './App'\n\ntype ReactInstance = ReactElement\ntype ReactComponent = ReactNode\n\ntype HeadManagerOnUpdate = (elements: string[]) => void // TODO: When shipped, replace with: Inertia.HeadManagerOnUpdate\ntype HeadManagerTitleCallback = (title: string) => string // TODO: When shipped, replace with: Inertia.HeadManagerTitleCallback\n\ntype AppType<SharedProps extends PageProps = PageProps> = FunctionComponent<\n {\n children?: (props: { Component: ComponentType; key: Key; props: Page<SharedProps>['props'] }) => ReactNode\n } & SetupOptions<unknown, SharedProps>['props']\n>\n\nexport type SetupOptions<ElementType, SharedProps extends PageProps> = {\n el: ElementType\n App: AppType\n props: {\n initialPage: Page<SharedProps>\n initialComponent: ReactComponent\n resolveComponent: PageResolver\n titleCallback?: HeadManagerTitleCallback\n onHeadUpdate?: HeadManagerOnUpdate\n }\n}\n\ntype BaseInertiaAppOptions = {\n title?: HeadManagerTitleCallback\n resolve: PageResolver\n}\n\ntype CreateInertiaAppSetupReturnType = ReactInstance | void\ntype InertiaAppOptionsForCSR<SharedProps extends PageProps> = BaseInertiaAppOptions & {\n id?: string\n page?: Page | string\n render?: undefined\n progress?:\n | false\n | {\n delay?: number\n color?: string\n includeCSS?: boolean\n showSpinner?: boolean\n }\n setup(options: SetupOptions<HTMLElement, SharedProps>): CreateInertiaAppSetupReturnType\n}\n\ntype CreateInertiaAppSSRContent = { head: string[]; body: string }\ntype InertiaAppOptionsForSSR<SharedProps extends PageProps> = BaseInertiaAppOptions & {\n id?: undefined\n page: Page | string\n render: typeof renderToString\n progress?: undefined\n setup(options: SetupOptions<null, SharedProps>): ReactInstance\n}\n\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>(\n options: InertiaAppOptionsForCSR<SharedProps>,\n): Promise<CreateInertiaAppSetupReturnType>\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>(\n options: InertiaAppOptionsForSSR<SharedProps>,\n): Promise<CreateInertiaAppSSRContent>\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>({\n id = 'app',\n resolve,\n setup,\n title,\n progress = {},\n page,\n render,\n}: InertiaAppOptionsForCSR<SharedProps> | InertiaAppOptionsForSSR<SharedProps>): Promise<\n CreateInertiaAppSetupReturnType | CreateInertiaAppSSRContent\n> {\n const isServer = typeof window === 'undefined'\n const el = isServer ? null : document.getElementById(id)\n const initialPage = page || JSON.parse(el.dataset.page)\n // @ts-expect-error\n const resolveComponent = (name) => Promise.resolve(resolve(name)).then((module) => module.default || module)\n\n let head = []\n\n const reactApp = await Promise.all([\n resolveComponent(initialPage.component),\n router.decryptHistory().catch(() => {}),\n ]).then(([initialComponent]) => {\n return setup({\n // @ts-expect-error\n el,\n App,\n props: {\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback: title,\n onHeadUpdate: isServer ? (elements) => (head = elements) : null,\n },\n })\n })\n\n if (!isServer && progress) {\n setupProgress(progress)\n }\n\n if (isServer) {\n const body = await render(\n createElement(\n 'div',\n {\n id,\n 'data-page': JSON.stringify(initialPage),\n },\n // @ts-expect-error\n reactApp,\n ),\n )\n\n return { head, body }\n }\n}\n", "import { createHeadManager, router } from '@inertiajs/core'\nimport { createElement, useEffect, useMemo, useState } from 'react'\nimport HeadContext from './HeadContext'\nimport PageContext from './PageContext'\n\nexport default function App({\n children,\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback,\n onHeadUpdate,\n}) {\n const [current, setCurrent] = useState({\n component: initialComponent || null,\n page: initialPage,\n key: null,\n })\n\n const headManager = useMemo(() => {\n return createHeadManager(\n typeof window === 'undefined',\n titleCallback || ((title) => title),\n onHeadUpdate || (() => {}),\n )\n }, [])\n\n useEffect(() => {\n router.init({\n initialPage,\n resolveComponent,\n swapComponent: async ({ component, page, preserveState }) => {\n setCurrent((current) => ({\n component,\n page,\n key: preserveState ? current.key : Date.now(),\n }))\n },\n })\n\n router.on('navigate', () => headManager.forceUpdate())\n }, [])\n\n if (!current.component) {\n return createElement(\n HeadContext.Provider,\n { value: headManager },\n createElement(PageContext.Provider, { value: current.page }, null),\n )\n }\n\n const renderChildren =\n children ||\n (({ Component, props, key }) => {\n const child = createElement(Component, { key, ...props })\n\n if (typeof Component.layout === 'function') {\n return Component.layout(child)\n }\n\n if (Array.isArray(Component.layout)) {\n return Component.layout\n .concat(child)\n .reverse()\n .reduce((children, Layout) => createElement(Layout, { children, ...props }))\n }\n\n return child\n })\n\n return createElement(\n HeadContext.Provider,\n { value: headManager },\n createElement(\n PageContext.Provider,\n { value: current.page },\n renderChildren({\n Component: current.component,\n key: current.key,\n props: current.page.props,\n }),\n ),\n )\n}\n\nApp.displayName = 'Inertia'\n", "import { createContext } from 'react'\n\nconst headContext = createContext(undefined)\nheadContext.displayName = 'InertiaHeadContext'\n\nexport default headContext\n", "import { createContext } from 'react'\n\nconst pageContext = createContext(undefined)\npageContext.displayName = 'InertiaPageContext'\n\nexport default pageContext\n", "import { ReactElement, useEffect, useState } from 'react'\nimport usePage from './usePage'\n\ninterface DeferredProps {\n children: ReactElement | number | string\n fallback: ReactElement | number | string\n data: string | string[]\n}\n\nconst Deferred = ({ children, data, fallback }: DeferredProps) => {\n if (!data) {\n throw new Error('`<Deferred>` requires a `data` prop to be a string or array of strings')\n }\n\n const [loaded, setLoaded] = useState(false)\n const pageProps = usePage().props\n const keys = Array.isArray(data) ? data : [data]\n\n useEffect(() => {\n setLoaded(keys.every((key) => pageProps[key] !== undefined))\n }, [pageProps, keys])\n\n return loaded ? children : fallback\n}\n\nDeferred.displayName = 'InertiaDeferred'\n\nexport default Deferred\n", "import { Page, PageProps } from '@inertiajs/core'\nimport { useContext } from 'react'\nimport PageContext from './PageContext'\n\nexport default function usePage<TPageProps extends PageProps = PageProps>(): Page<TPageProps> {\n const page = useContext(PageContext)\n\n if (!page) {\n throw new Error('usePage must be used within the Inertia component')\n }\n\n return page\n}\n", "import React, { FunctionComponent, useContext, useEffect, useMemo } from 'react'\nimport HeadContext from './HeadContext'\n\ntype InertiaHeadProps = {\n title?: string\n children?: React.ReactNode\n}\n\ntype InertiaHead = FunctionComponent<InertiaHeadProps>\n\nconst Head: InertiaHead = function ({ children, title }) {\n const headManager = useContext(HeadContext)\n const provider = useMemo(() => headManager.createProvider(), [headManager])\n\n useEffect(() => {\n return () => {\n provider.disconnect()\n }\n }, [provider])\n\n function 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\n function renderTagStart(node) {\n const attrs = Object.keys(node.props).reduce((carry, name) => {\n if (['head-key', 'children', 'dangerouslySetInnerHTML'].includes(name)) {\n return carry\n }\n const value = node.props[name]\n if (value === '') {\n return carry + ` ${name}`\n } else {\n return carry + ` ${name}=\"${value}\"`\n }\n }, '')\n return `<${node.type}${attrs}>`\n }\n\n function renderTagChildren(node) {\n return typeof node.props.children === 'string'\n ? node.props.children\n : node.props.children.reduce((html, child) => html + renderTag(child), '')\n }\n\n function renderTag(node) {\n let html = renderTagStart(node)\n if (node.props.children) {\n html += renderTagChildren(node)\n }\n if (node.props.dangerouslySetInnerHTML) {\n html += node.props.dangerouslySetInnerHTML.__html\n }\n if (!isUnaryTag(node)) {\n html += `</${node.type}>`\n }\n return html\n }\n\n function ensureNodeHasInertiaProp(node) {\n return React.cloneElement(node, {\n inertia: node.props['head-key'] !== undefined ? node.props['head-key'] : '',\n })\n }\n\n function renderNode(node) {\n return renderTag(ensureNodeHasInertiaProp(node))\n }\n\n function renderNodes(nodes) {\n const computed = React.Children.toArray(nodes)\n .filter((node) => node)\n .map((node) => renderNode(node))\n if (title && !computed.find((tag) => tag.startsWith('<title'))) {\n computed.push(`<title inertia>${title}</title>`)\n }\n return computed\n }\n\n provider.update(renderNodes(children))\n\n return null\n}\nexport default Head\n", "import {\n FormDataConvertible,\n LinkPrefetchOption,\n mergeDataIntoQueryString,\n Method,\n PendingVisit,\n PreserveStateOption,\n Progress,\n router,\n shouldIntercept,\n} from '@inertiajs/core'\nimport { createElement, forwardRef, useEffect, useMemo, useRef, useState } from 'react'\n\nconst noop = () => undefined\n\ninterface BaseInertiaLinkProps {\n as?: string\n data?: Record<string, FormDataConvertible>\n href: string | { url: string; method: Method }\n method?: Method\n headers?: Record<string, string>\n onClick?: (event: React.MouseEvent<Element>) => 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?: (event: PendingVisit) => void\n onProgress?: (progress: Progress) => void\n onFinish?: (event: PendingVisit) => void\n onCancel?: () => void\n onSuccess?: () => void\n onError?: () => void\n queryStringArrayFormat?: 'indices' | 'brackets'\n async?: boolean\n cacheFor?: number | string\n prefetch?: boolean | LinkPrefetchOption | LinkPrefetchOption[]\n}\n\nexport type InertiaLinkProps = BaseInertiaLinkProps &\n Omit<React.HTMLAttributes<HTMLElement>, keyof BaseInertiaLinkProps> &\n Omit<React.AllHTMLAttributes<HTMLElement>, keyof BaseInertiaLinkProps>\n\nconst Link = forwardRef<unknown, InertiaLinkProps>(\n (\n {\n children,\n as = 'a',\n data = {},\n href,\n method = 'get',\n preserveScroll = false,\n preserveState = null,\n replace = false,\n only = [],\n except = [],\n headers = {},\n queryStringArrayFormat = 'brackets',\n async = false,\n onClick = noop,\n onCancelToken = noop,\n onBefore = noop,\n onStart = noop,\n onProgress = noop,\n onFinish = noop,\n onCancel = noop,\n onSuccess = noop,\n onError = noop,\n prefetch = false,\n cacheFor = 0,\n ...props\n },\n ref,\n ) => {\n const [inFlightCount, setInFlightCount] = useState(0)\n const hoverTimeout = useRef<number>(null)\n\n as = as.toLowerCase()\n method = typeof href === 'object' ? href.method : (method.toLowerCase() as Method)\n const [_href, _data] = mergeDataIntoQueryString(\n method,\n typeof href === 'object' ? href.url : href || '',\n data,\n queryStringArrayFormat,\n )\n const url = _href\n data = _data\n\n const baseParams = {\n data,\n method,\n preserveScroll,\n preserveState: preserveState ?? method !== 'get',\n replace,\n only,\n except,\n headers,\n async,\n }\n\n const visitParams = {\n ...baseParams,\n onCancelToken,\n onBefore,\n onStart(event) {\n setInFlightCount((count) => count + 1)\n onStart(event)\n },\n onProgress,\n onFinish(event) {\n setInFlightCount((count) => count - 1)\n onFinish(event)\n },\n onCancel,\n onSuccess,\n onError,\n }\n\n const doPrefetch = () => {\n router.prefetch(url, baseParams, { cacheFor: cacheForValue })\n }\n\n const prefetchModes: LinkPrefetchOption[] = useMemo(\n () => {\n if (prefetch === true) {\n return ['hover']\n }\n\n if (prefetch === false) {\n return []\n }\n\n if (Array.isArray(prefetch)) {\n return prefetch\n }\n\n return [prefetch]\n },\n Array.isArray(prefetch) ? prefetch : [prefetch],\n )\n\n const cacheForValue = useMemo(() => {\n if (cacheFor !== 0) {\n // If they've provided a value, respect it\n return 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 }, [cacheFor, prefetchModes])\n\n useEffect(() => {\n return () => {\n clearTimeout(hoverTimeout.current)\n }\n }, [])\n\n useEffect(() => {\n if (prefetchModes.includes('mount')) {\n setTimeout(() => doPrefetch())\n }\n }, prefetchModes)\n\n const regularEvents = {\n onClick: (event) => {\n onClick(event)\n\n if (shouldIntercept(event)) {\n event.preventDefault()\n\n router.visit(url, visitParams)\n }\n },\n }\n\n const prefetchHoverEvents = {\n onMouseEnter: () => {\n hoverTimeout.current = window.setTimeout(() => {\n doPrefetch()\n }, 75)\n },\n onMouseLeave: () => {\n clearTimeout(hoverTimeout.current)\n },\n onClick: regularEvents.onClick,\n }\n\n const prefetchClickEvents = {\n onMouseDown: (event) => {\n if (shouldIntercept(event)) {\n event.preventDefault()\n doPrefetch()\n }\n },\n onMouseUp: (event) => {\n event.preventDefault()\n router.visit(url, visitParams)\n },\n onClick: (event) => {\n onClick(event)\n\n if (shouldIntercept(event)) {\n // Let the mouseup event handle the visit\n event.preventDefault()\n }\n },\n }\n\n if (method !== 'get') {\n as = 'button'\n }\n\n const elProps = {\n a: { href: url },\n button: { type: 'button' },\n }\n\n return createElement(\n as,\n {\n ...props,\n ...(elProps[as] || {}),\n ref,\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 'data-loading': inFlightCount > 0 ? '' : undefined,\n },\n children,\n )\n },\n)\nLink.displayName = 'InertiaLink'\n\nexport default Link\n", "import { FormDataConvertible, Method, Progress, router, VisitOptions } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport isEqual from 'lodash.isequal'\nimport { useCallback, useEffect, useRef, useState } from 'react'\nimport useRemember from './useRemember'\n\ntype setDataByObject<TForm> = (data: TForm) => void\ntype setDataByMethod<TForm> = (data: (previousData: TForm) => TForm) => void\ntype setDataByKeyValuePair<TForm> = <K extends keyof TForm>(key: K, value: TForm[K]) => void\ntype FormDataType = Record<string, FormDataConvertible>\ntype FormOptions = Omit<VisitOptions, 'data'>\n\nexport interface InertiaFormProps<TForm extends FormDataType> {\n data: TForm\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 setData: setDataByObject<TForm> & setDataByMethod<TForm> & setDataByKeyValuePair<TForm>\n transform: (callback: (data: TForm) => object) => void\n setDefaults(): void\n setDefaults(field: keyof TForm, value: FormDataConvertible): void\n setDefaults(fields: Partial<TForm>): void\n reset: (...fields: (keyof TForm)[]) => void\n clearErrors: (...fields: (keyof TForm)[]) => void\n setError(field: keyof TForm, value: string): void\n setError(errors: Record<keyof TForm, string>): void\n submit: (...args: [Method, string, FormOptions?] | [{ url: string; method: Method }, FormOptions?]) => void\n get: (url: string, options?: FormOptions) => void\n patch: (url: string, options?: FormOptions) => void\n post: (url: string, options?: FormOptions) => void\n put: (url: string, options?: FormOptions) => void\n delete: (url: string, options?: FormOptions) => void\n cancel: () => void\n}\nexport default function useForm<TForm extends FormDataType>(initialValues?: TForm): InertiaFormProps<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKey: string,\n initialValues?: TForm,\n): InertiaFormProps<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKeyOrInitialValues?: string | TForm,\n maybeInitialValues?: TForm,\n): InertiaFormProps<TForm> {\n const isMounted = useRef(null)\n const rememberKey = typeof rememberKeyOrInitialValues === 'string' ? rememberKeyOrInitialValues : null\n const [defaults, setDefaults] = useState(\n (typeof rememberKeyOrInitialValues === 'string' ? maybeInitialValues : rememberKeyOrInitialValues) || ({} as TForm),\n )\n const cancelToken = useRef(null)\n const recentlySuccessfulTimeoutId = useRef(null)\n const [data, setData] = rememberKey ? useRemember(defaults, `${rememberKey}:data`) : useState(defaults)\n const [errors, setErrors] = rememberKey\n ? useRemember({} as Partial<Record<keyof TForm, string>>, `${rememberKey}:errors`)\n : useState({} as Partial<Record<keyof TForm, string>>)\n const [hasErrors, setHasErrors] = useState(false)\n const [processing, setProcessing] = useState(false)\n const [progress, setProgress] = useState(null)\n const [wasSuccessful, setWasSuccessful] = useState(false)\n const [recentlySuccessful, setRecentlySuccessful] = useState(false)\n const transform = useRef((data) => data)\n\n useEffect(() => {\n isMounted.current = true\n return () => {\n isMounted.current = false\n }\n }, [])\n\n const submit = useCallback(\n (...args) => {\n const objectPassed = typeof args[0] === 'object'\n\n const method = objectPassed ? args[0].method : args[0]\n const url = objectPassed ? args[0].url : args[1]\n const options = (objectPassed ? args[1] : args[2]) ?? {}\n\n const _options = {\n ...options,\n onCancelToken: (token) => {\n cancelToken.current = token\n\n if (options.onCancelToken) {\n return options.onCancelToken(token)\n }\n },\n onBefore: (visit) => {\n setWasSuccessful(false)\n setRecentlySuccessful(false)\n clearTimeout(recentlySuccessfulTimeoutId.current)\n\n if (options.onBefore) {\n return options.onBefore(visit)\n }\n },\n onStart: (visit) => {\n setProcessing(true)\n\n if (options.onStart) {\n return options.onStart(visit)\n }\n },\n onProgress: (event) => {\n setProgress(event)\n\n if (options.onProgress) {\n return options.onProgress(event)\n }\n },\n onSuccess: (page) => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n setErrors({})\n setHasErrors(false)\n setWasSuccessful(true)\n setRecentlySuccessful(true)\n setDefaults(cloneDeep(data))\n recentlySuccessfulTimeoutId.current = setTimeout(() => {\n if (isMounted.current) {\n setRecentlySuccessful(false)\n }\n }, 2000)\n }\n\n if (options.onSuccess) {\n return options.onSuccess(page)\n }\n },\n onError: (errors) => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n setErrors(errors)\n setHasErrors(true)\n }\n\n if (options.onError) {\n return options.onError(errors)\n }\n },\n onCancel: () => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n }\n\n if (options.onCancel) {\n return options.onCancel()\n }\n },\n onFinish: (visit) => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n }\n\n cancelToken.current = 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: transform.current(data) })\n } else {\n router[method](url, transform.current(data), _options)\n }\n },\n [data, setErrors, transform],\n )\n\n const setDataFunction = useCallback(\n (keyOrData: keyof TForm | Function | TForm, maybeValue?: TForm[keyof TForm]) => {\n if (typeof keyOrData === 'string') {\n setData((data) => ({ ...data, [keyOrData]: maybeValue }))\n } else if (typeof keyOrData === 'function') {\n setData((data) => keyOrData(data))\n } else {\n setData(keyOrData as TForm)\n }\n },\n [setData],\n )\n\n const setDefaultsFunction = useCallback(\n (fieldOrFields?: keyof TForm | Partial<TForm>, maybeValue?: FormDataConvertible) => {\n if (typeof fieldOrFields === 'undefined') {\n setDefaults(() => data)\n } else {\n setDefaults((defaults) => ({\n ...defaults,\n ...(typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : (fieldOrFields as TForm)),\n }))\n }\n },\n [data, setDefaults],\n )\n\n const reset = useCallback(\n (...fields) => {\n if (fields.length === 0) {\n setData(defaults)\n } else {\n setData((data) =>\n (Object.keys(defaults) as Array<keyof TForm>)\n .filter((key) => fields.includes(key))\n .reduce(\n (carry, key) => {\n carry[key] = defaults[key]\n return carry\n },\n { ...data },\n ),\n )\n }\n },\n [setData, defaults],\n )\n\n const setError = useCallback(\n (fieldOrFields: keyof TForm | Record<keyof TForm, string>, maybeValue?: string) => {\n setErrors((errors) => {\n const newErrors = {\n ...errors,\n ...(typeof fieldOrFields === 'string'\n ? { [fieldOrFields]: maybeValue }\n : (fieldOrFields as Record<keyof TForm, string>)),\n }\n setHasErrors(Object.keys(newErrors).length > 0)\n return newErrors\n })\n },\n [setErrors, setHasErrors],\n )\n\n const clearErrors = useCallback(\n (...fields) => {\n setErrors((errors) => {\n const newErrors = (Object.keys(errors) as Array<keyof TForm>).reduce(\n (carry, field) => ({\n ...carry,\n ...(fields.length > 0 && !fields.includes(field) ? { [field]: errors[field] } : {}),\n }),\n {},\n )\n setHasErrors(Object.keys(newErrors).length > 0)\n return newErrors\n })\n },\n [setErrors, setHasErrors],\n )\n\n const createSubmitMethod = (method) => (url, options) => {\n submit(method, url, options)\n }\n const get = useCallback(createSubmitMethod('get'), [submit])\n const post = useCallback(createSubmitMethod('post'), [submit])\n const put = useCallback(createSubmitMethod('put'), [submit])\n const patch = useCallback(createSubmitMethod('patch'), [submit])\n const deleteMethod = useCallback(createSubmitMethod('delete'), [submit])\n\n const cancel = useCallback(() => {\n if (cancelToken.current) {\n cancelToken.current.cancel()\n }\n }, [])\n\n const transformFunction = useCallback((callback) => {\n transform.current = callback\n }, [])\n\n return {\n data,\n setData: setDataFunction,\n isDirty: !isEqual(data, defaults),\n errors,\n hasErrors,\n processing,\n progress,\n wasSuccessful,\n recentlySuccessful,\n transform: transformFunction,\n setDefaults: setDefaultsFunction,\n reset,\n setError,\n clearErrors,\n submit,\n get,\n post,\n put,\n patch,\n delete: deleteMethod,\n cancel,\n }\n}\n", "import { router } from '@inertiajs/core'\nimport { Dispatch, SetStateAction, useEffect, useState } from 'react'\n\nexport default function useRemember<State>(\n initialState: State,\n key?: string,\n): [State, Dispatch<SetStateAction<State>>] {\n const [state, setState] = useState(() => {\n const restored = router.restore(key) as State\n\n return restored !== undefined ? restored : initialState\n })\n\n useEffect(() => {\n router.remember(state, key)\n }, [state, key])\n\n return [state, setState]\n}\n", "import { PollOptions, ReloadOptions, router } from '@inertiajs/core'\nimport { useEffect, useRef } from 'react'\n\nexport default function usePoll(\n interval: number,\n requestOptions: ReloadOptions = {},\n options: PollOptions = {\n keepAlive: false,\n autoStart: true,\n },\n) {\n const pollRef = useRef(\n router.poll(interval, requestOptions, {\n ...options,\n autoStart: false,\n }),\n )\n\n useEffect(() => {\n if (options.autoStart ?? true) {\n pollRef.current.start()\n }\n\n return () => pollRef.current.stop()\n }, [])\n\n return {\n stop: pollRef.current.stop,\n start: pollRef.current.start,\n }\n}\n", "import { router, VisitOptions } from '@inertiajs/core'\nimport { useEffect, useState } from 'react'\n\nexport default function usePrefetch(options: VisitOptions = {}): {\n lastUpdatedAt: number | null\n isPrefetching: boolean\n isPrefetched: boolean\n flush: () => void\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 const [lastUpdatedAt, setLastUpdatedAt] = useState<number | null>(cached?.staleTimestamp || null)\n const [isPrefetching, setIsPrefetching] = useState(inFlight !== null)\n const [isPrefetched, setIsPrefetched] = useState(cached !== null)\n\n useEffect(() => {\n const onPrefetchingListener = router.on('prefetching', (e) => {\n if (e.detail.visit.url.pathname === window.location.pathname) {\n setIsPrefetching(true)\n }\n })\n\n const onPrefetchedListener = router.on('prefetched', (e) => {\n if (e.detail.visit.url.pathname === window.location.pathname) {\n setIsPrefetching(false)\n setIsPrefetched(true)\n setLastUpdatedAt(e.detail.fetchedAt)\n }\n })\n\n return () => {\n onPrefetchedListener()\n onPrefetchingListener()\n }\n }, [])\n\n return {\n lastUpdatedAt,\n isPrefetching,\n isPrefetched,\n flush: () => router.flush(window.location.pathname, options),\n }\n}\n", "import { ReloadOptions, router } from '@inertiajs/core'\nimport { createElement, ReactElement, useCallback, useEffect, useRef, useState } from 'react'\n\ninterface WhenVisibleProps {\n children: ReactElement | number | string\n fallback: ReactElement | number | string\n data?: string | string[]\n params?: ReloadOptions\n buffer?: number\n as?: string\n always?: boolean\n}\n\nconst WhenVisible = ({ children, data, params, buffer, as, always, fallback }: WhenVisibleProps) => {\n always = always ?? false\n as = as ?? 'div'\n fallback = fallback ?? null\n\n const [loaded, setLoaded] = useState(false)\n const hasFetched = useRef<boolean>(false)\n const fetching = useRef<boolean>(false)\n const ref = useRef<HTMLDivElement>(null)\n\n const getReloadParams = useCallback<() => Partial<ReloadOptions>>(() => {\n if (data) {\n return {\n only: (Array.isArray(data) ? data : [data]) as string[],\n }\n }\n\n if (!params) {\n throw new Error('You must provide either a `data` or `params` prop.')\n }\n\n return params\n }, [params, data])\n\n useEffect(() => {\n if (!ref.current) {\n return\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n if (!entries[0].isIntersecting) {\n return\n }\n\n if (!always && hasFetched.current) {\n observer.disconnect()\n }\n\n if (fetching.current) {\n return\n }\n\n hasFetched.current = true\n fetching.current = true\n\n const reloadParams = getReloadParams()\n\n router.reload({\n ...reloadParams,\n onStart: (e) => {\n fetching.current = true\n reloadParams.onStart?.(e)\n },\n onFinish: (e) => {\n setLoaded(true)\n fetching.current = false\n reloadParams.onFinish?.(e)\n\n if (!always) {\n observer.disconnect()\n }\n },\n })\n },\n {\n rootMargin: `${buffer || 0}px`,\n },\n )\n\n observer.observe(ref.current)\n\n return () => {\n observer.disconnect()\n }\n }, [ref, getReloadParams, buffer])\n\n if (always || !loaded) {\n return createElement(\n as,\n {\n props: null,\n ref,\n },\n loaded ? children : fallback,\n )\n }\n\n return loaded ? children : null\n}\n\nWhenVisible.displayName = 'InertiaWhenVisible'\n\nexport default WhenVisible\n"],
5
+ "mappings": "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",
6
+ "names": ["index_exports", "__export", "Deferred_default", "Head_default", "Link_default", "WhenVisible_default", "createInertiaApp", "router", "useForm", "usePage", "usePoll", "usePrefetch", "useRemember", "__toCommonJS", "import_core", "import_core", "import_react", "import_core", "import_react", "import_react", "headContext", "HeadContext_default", "import_react", "pageContext", "PageContext_default", "App", "children", "initialPage", "initialComponent", "resolveComponent", "titleCallback", "onHeadUpdate", "current", "setCurrent", "headManager", "title", "component", "page", "preserveState", "HeadContext_default", "PageContext_default", "renderChildren", "Component", "props", "key", "child", "Layout", "createInertiaApp", "id", "resolve", "setup", "title", "progress", "page", "render", "isServer", "el", "initialPage", "resolveComponent", "name", "module", "head", "reactApp", "initialComponent", "App", "elements", "body", "import_react", "import_react", "usePage", "page", "PageContext_default", "Deferred", "children", "data", "fallback", "loaded", "setLoaded", "pageProps", "usePage", "keys", "key", "Deferred_default", "import_react", "Head", "children", "title", "headManager", "HeadContext_default", "provider", "isUnaryTag", "node", "renderTagStart", "attrs", "carry", "name", "value", "renderTagChildren", "html", "child", "renderTag", "ensureNodeHasInertiaProp", "React", "renderNode", "renderNodes", "nodes", "computed", "tag", "Head_default", "import_core", "import_react", "noop", "Link", "children", "as", "data", "href", "method", "preserveScroll", "preserveState", "replace", "only", "except", "headers", "queryStringArrayFormat", "async", "onClick", "onCancelToken", "onBefore", "onStart", "onProgress", "onFinish", "onCancel", "onSuccess", "onError", "prefetch", "cacheFor", "props", "ref", "inFlightCount", "setInFlightCount", "hoverTimeout", "_href", "_data", "url", "baseParams", "visitParams", "event", "count", "doPrefetch", "cacheForValue", "prefetchModes", "regularEvents", "prefetchHoverEvents", "prefetchClickEvents", "Link_default", "import_core", "import_lodash", "import_react", "import_core", "import_react", "useRemember", "initialState", "key", "state", "setState", "restored", "useForm", "rememberKeyOrInitialValues", "maybeInitialValues", "isMounted", "rememberKey", "defaults", "setDefaults", "cancelToken", "recentlySuccessfulTimeoutId", "data", "setData", "useRemember", "errors", "setErrors", "hasErrors", "setHasErrors", "processing", "setProcessing", "progress", "setProgress", "wasSuccessful", "setWasSuccessful", "recentlySuccessful", "setRecentlySuccessful", "transform", "submit", "args", "objectPassed", "method", "url", "options", "_options", "token", "visit", "event", "page", "cloneDeep", "setDataFunction", "keyOrData", "maybeValue", "setDefaultsFunction", "fieldOrFields", "reset", "fields", "key", "carry", "setError", "newErrors", "clearErrors", "field", "createSubmitMethod", "get", "post", "put", "patch", "deleteMethod", "cancel", "transformFunction", "callback", "isEqual", "import_core", "import_react", "usePoll", "interval", "requestOptions", "options", "pollRef", "import_core", "import_react", "usePrefetch", "options", "cached", "inFlight", "lastUpdatedAt", "setLastUpdatedAt", "isPrefetching", "setIsPrefetching", "isPrefetched", "setIsPrefetched", "onPrefetchingListener", "onPrefetchedListener", "import_core", "import_react", "WhenVisible", "children", "data", "params", "buffer", "as", "always", "fallback", "loaded", "setLoaded", "hasFetched", "fetching", "ref", "getReloadParams", "observer", "entries", "reloadParams", "e", "WhenVisible_default", "router", "Router"]
7
7
  }
package/dist/server.js CHANGED
@@ -1,2 +1,2 @@
1
- var u=Object.create;var d=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var s=Object.getPrototypeOf,x=Object.prototype.hasOwnProperty;var b=(a,e)=>{for(var f in e)d(a,f,{get:e[f],enumerable:!0})},o=(a,e,f,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of p(e))!x.call(a,t)&&t!==f&&d(a,t,{get:()=>e[t],enumerable:!(l=m(e,t))||l.enumerable});return a};var c=(a,e,f)=>(f=a!=null?u(s(a)):{},o(e||!a||!a.__esModule?d(f,"default",{value:a,enumerable:!0}):f,a)),g=a=>o(d({},"__esModule",{value:!0}),a);var h={};b(h,{default:()=>r.default});module.exports=g(h);var r=c(require("@inertiajs/core/server"),1);0&&(module.exports={});
1
+ var u=Object.create;var d=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var s=Object.getPrototypeOf,x=Object.prototype.hasOwnProperty;var b=(a,e)=>{for(var f in e)d(a,f,{get:e[f],enumerable:!0})},o=(a,e,f,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of p(e))!x.call(a,t)&&t!==f&&d(a,t,{get:()=>e[t],enumerable:!(l=m(e,t))||l.enumerable});return a};var c=(a,e,f)=>(f=a!=null?u(s(a)):{},o(e||!a||!a.__esModule?d(f,"default",{value:a,enumerable:!0}):f,a)),g=a=>o(d({},"__esModule",{value:!0}),a);var h={};b(h,{default:()=>r.default});module.exports=g(h);var r=c(require("@inertiajs/core/server"),1);
2
2
  //# sourceMappingURL=server.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inertiajs/react",
3
- "version": "2.0.4",
3
+ "version": "2.0.6",
4
4
  "license": "MIT",
5
5
  "description": "The React adapter for Inertia.js",
6
6
  "contributors": [
@@ -51,7 +51,7 @@
51
51
  "devDependencies": {
52
52
  "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
53
53
  "@types/react-dom": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
54
- "esbuild": "^0.16.13",
54
+ "esbuild": "^0.25.0",
55
55
  "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
56
56
  "typescript": "^4.9.4"
57
57
  },
@@ -59,7 +59,8 @@
59
59
  "react": "^16.9.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
60
60
  },
61
61
  "dependencies": {
62
- "@inertiajs/core": "2.0.4",
63
- "lodash.isequal": "^4.5.0"
62
+ "@inertiajs/core": "2.0.6",
63
+ "lodash.isequal": "^4.5.0",
64
+ "lodash.clonedeep": "^4.5.0"
64
65
  }
65
66
  }
package/types/Link.d.ts CHANGED
@@ -2,7 +2,10 @@ import { FormDataConvertible, LinkPrefetchOption, Method, PendingVisit, Preserve
2
2
  interface BaseInertiaLinkProps {
3
3
  as?: string;
4
4
  data?: Record<string, FormDataConvertible>;
5
- href: string;
5
+ href: string | {
6
+ url: string;
7
+ method: Method;
8
+ };
6
9
  method?: Method;
7
10
  headers?: Record<string, string>;
8
11
  onClick?: (event: React.MouseEvent<Element>) => void;
@@ -22,7 +22,10 @@ export interface InertiaFormProps<TForm extends FormDataType> {
22
22
  clearErrors: (...fields: (keyof TForm)[]) => void;
23
23
  setError(field: keyof TForm, value: string): void;
24
24
  setError(errors: Record<keyof TForm, string>): void;
25
- submit: (method: Method, url: string, options?: FormOptions) => void;
25
+ submit: (...args: [Method, string, FormOptions?] | [{
26
+ url: string;
27
+ method: Method;
28
+ }, FormOptions?]) => void;
26
29
  get: (url: string, options?: FormOptions) => void;
27
30
  patch: (url: string, options?: FormOptions) => void;
28
31
  post: (url: string, options?: FormOptions) => void;