@inertiajs/react 2.0.12 → 2.0.13
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 +1 -1
- package/dist/index.esm.js.map +3 -3
- package/dist/index.js +1 -1
- package/dist/index.js.map +3 -3
- package/package.json +2 -2
- package/types/index.d.ts +1 -1
- package/types/useForm.d.ts +5 -4
package/dist/index.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{router as dt}from"@inertiajs/core";import{router as Ae,setupProgress as we}from"@inertiajs/core";import{createElement as Oe}from"react";import{createHeadManager as De,router as ue}from"@inertiajs/core";import{createElement as O,useEffect as Ie,useMemo as Ee,useState as ke}from"react";import{createContext as Re}from"react";var ie=Re(void 0);ie.displayName="InertiaHeadContext";var K=ie;import{createContext as xe}from"react";var pe=xe(void 0);pe.displayName="InertiaPageContext";var B=pe;function _({children:s,initialPage:t,initialComponent:a,resolveComponent:p,titleCallback:i,onHeadUpdate:g}){let[u,f]=ke({component:a||null,page:t,key:null}),c=Ee(()=>De(typeof window>"u",i||(l=>l),g||(()=>{})),[]);if(Ie(()=>{ue.init({initialPage:t,resolveComponent:p,swapComponent:async({component:l,page:e,preserveState:d})=>{f(r=>({component:l,page:e,key:d?r.key:Date.now()}))}}),ue.on("navigate",()=>c.forceUpdate())},[]),!u.component)return O(K.Provider,{value:c},O(B.Provider,{value:u.page},null));let m=s||(({Component:l,props:e,key:d})=>{let r=O(l,{key:d,...e});return typeof l.layout=="function"?l.layout(r):Array.isArray(l.layout)?l.layout.concat(r).reverse().reduce((h,F)=>O(F,{children:h,...e})):r});return O(K.Provider,{value:c},O(B.Provider,{value:u.page},m({Component:u.component,key:u.key,props:u.page.props})))}_.displayName="Inertia";async function ce({id:s="app",resolve:t,setup:a,title:p,progress:i={},page:g,render:u}){let f=typeof window>"u",c=f?null:document.getElementById(s),m=g||JSON.parse(c.dataset.page),l=r=>Promise.resolve(t(r)).then(h=>h.default||h),e=[],d=await Promise.all([l(m.component),Ae.decryptHistory().catch(()=>{})]).then(([r])=>a({el:c,App:_,props:{initialPage:m,initialComponent:r,resolveComponent:l,titleCallback:p,onHeadUpdate:f?h=>e=h:null}}));if(!f&&i&&we(i),f){let r=await u(Oe("div",{id:s,"data-page":JSON.stringify(m)},d));return{head:e,body:r}}}import{useEffect as le,useMemo as Le,useState as He}from"react";import{useContext as Me}from"react";function q(){let s=Me(B);if(!s)throw new Error("usePage must be used within the Inertia component");return s}var de=s=>(s=new URL(s.href),s.hash="",s),Ke=(s,t)=>de(s).href===de(t).href,fe=({children:s,data:t,fallback:a})=>{if(!t)throw new Error("`<Deferred>` requires a `data` prop to be a string or array of strings");let[p,i]=He(!1),g=q().props,u=Le(()=>Array.isArray(t)?t:[t],[t]);return le(()=>{let f=me.on("start",c=>{let m=c.detail.visit.only.length>0||c.detail.visit.except.length>0,l=c.detail.visit.only.find(e=>u.includes(e));Ke(c.detail.visit.url,window.location)&&(!m||l)&&i(!1)});return()=>{f()}},[]),le(()=>{i(u.every(f=>g[f]!==void 0))},[g,u]),p?s:a};fe.displayName="InertiaDeferred";var Be=fe;import ge,{useContext as Ve,useEffect as Ue,useMemo as Ne}from"react";var je=function({children:s,title:t}){let a=Ve(K),p=Ne(()=>a.createProvider(),[a]);Ue(()=>()=>{p.disconnect()},[p]);function i(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((r,h)=>{if(["head-key","children","dangerouslySetInnerHTML"].includes(h))return r;let F=e.props[h];return F===""?r+` ${h}`:r+` ${h}="${F}"`},"");return`<${e.type}${d}>`}function u(e){return typeof e.props.children=="string"?e.props.children:e.props.children.reduce((d,r)=>d+f(r),"")}function f(e){let d=g(e);return e.props.children&&(d+=u(e)),e.props.dangerouslySetInnerHTML&&(d+=e.props.dangerouslySetInnerHTML.__html),i(e)||(d+=`</${e.type}>`),d}function c(e){return ge.cloneElement(e,{inertia:e.props["head-key"]!==void 0?e.props["head-key"]:""})}function m(e){return f(c(e))}function l(e){let d=ge.Children.toArray(e).filter(r=>r).map(r=>m(r));return t&&!d.find(r=>r.startsWith("<title"))&&d.push(`<title inertia>${t}</title>`),d}return p.update(l(s)),null},$e=je;import{mergeDataIntoQueryString as We,router as re,shouldIntercept as oe}from"@inertiajs/core";import{createElement as _e,forwardRef as qe,useEffect as Pe,useMemo as ye,useRef as Je,useState as Qe}from"react";var x=()=>{},he=qe(({children:s,as:t="a",data:a={},href:p,method:i="get",preserveScroll:g=!1,preserveState:u=null,replace:f=!1,only:c=[],except:m=[],headers:l={},queryStringArrayFormat:e="brackets",async:d=!1,onClick:r=x,onCancelToken:h=x,onBefore:F=x,onStart:I=x,onProgress:E=x,onFinish:Y=x,onCancel:N=x,onSuccess:z=x,onError:M=x,prefetch:v=!1,cacheFor:b=0,...G},X)=>{let[Z,j]=Qe(0),L=Je(null);t=t.toLowerCase(),i=typeof p=="object"?p.method:i.toLowerCase();let[k,ee]=We(i,typeof p=="object"?p.url:p||"",a,e),A=k;a=ee;let $={data:a,method:i,preserveScroll:g,preserveState:u??i!=="get",replace:f,only:c,except:m,headers:l,async:d},W={...$,onCancelToken:h,onBefore:F,onStart(o){j(w=>w+1),I(o)},onProgress:E,onFinish(o){j(w=>w-1),Y(o)},onCancel:N,onSuccess:z,onError:M},H=()=>{re.prefetch(A,$,{cacheFor:te})},R=ye(()=>v===!0?["hover"]:v===!1?[]:Array.isArray(v)?v:[v],Array.isArray(v)?v:[v]),te=ye(()=>b!==0?b:R.length===1&&R[0]==="click"?0:3e4,[b,R]);Pe(()=>()=>{clearTimeout(L.current)},[]),Pe(()=>{R.includes("mount")&&setTimeout(()=>H())},R);let n={onClick:o=>{r(o),oe(o)&&(o.preventDefault(),re.visit(A,W))}},y={onMouseEnter:()=>{L.current=window.setTimeout(()=>{H()},75)},onMouseLeave:()=>{clearTimeout(L.current)},onClick:n.onClick},P={onMouseDown:o=>{oe(o)&&(o.preventDefault(),H())},onMouseUp:o=>{o.preventDefault(),re.visit(A,W)},onClick:o=>{r(o),oe(o)&&o.preventDefault()}};return i!=="get"&&(t="button"),_e(t,{...G,...{a:{href:A},button:{type:"button"}}[t]||{},ref:X,...R.includes("hover")?y:R.includes("click")?P:n,"data-loading":Z>0?"":void 0},s)});he.displayName="InertiaLink";var Ye=he;import{router as Se}from"@inertiajs/core";import{cloneDeep as J,isEqual as Xe}from"es-toolkit";import{get as Ze,has as et,set as ne}from"es-toolkit/compat";import{useCallback as T,useEffect as tt,useRef as Q,useState as D}from"react";import{router as Fe}from"@inertiajs/core";import{useEffect as ze,useState as Ge}from"react";function V(s,t){let[a,p]=Ge(()=>{let i=Fe.restore(t);return i!==void 0?i:s});return ze(()=>{Fe.remember(a,t)},[a,t]),[a,p]}function ve(s,t){let a=Q(null),p=typeof s=="string"?s:null,[i,g]=D((typeof s=="string"?t:s)||{}),u=Q(null),f=Q(null),[c,m]=p?V(i,`${p}:data`):D(i),[l,e]=p?V({},`${p}:errors`):D({}),[d,r]=D(!1),[h,F]=D(!1),[I,E]=D(null),[Y,N]=D(!1),[z,M]=D(!1),v=Q(n=>n);tt(()=>(a.current=!0,()=>{a.current=!1}),[]);let b=T((...n)=>{let y=typeof n[0]=="object",P=y?n[0].method:n[0],C=y?n[0].url:n[1],o=(y?n[1]:n[2])??{},w={...o,onCancelToken:S=>{if(u.current=S,o.onCancelToken)return o.onCancelToken(S)},onBefore:S=>{if(N(!1),M(!1),clearTimeout(f.current),o.onBefore)return o.onBefore(S)},onStart:S=>{if(F(!0),o.onStart)return o.onStart(S)},onProgress:S=>{if(E(S),o.onProgress)return o.onProgress(S)},onSuccess:S=>{if(a.current&&(F(!1),E(null),e({}),r(!1),N(!0),M(!0),g(J(c)),f.current=setTimeout(()=>{a.current&&M(!1)},2e3)),o.onSuccess)return o.onSuccess(S)},onError:S=>{if(a.current&&(F(!1),E(null),e(S),r(!0)),o.onError)return o.onError(S)},onCancel:()=>{if(a.current&&(F(!1),E(null)),o.onCancel)return o.onCancel()},onFinish:S=>{if(a.current&&(F(!1),E(null)),u.current=null,o.onFinish)return o.onFinish(S)}};P==="delete"?Se.delete(C,{...w,data:v.current(c)}):Se[P](C,v.current(c),w)},[c,e,v]),G=T((n,y)=>{m(typeof n=="string"?P=>ne(J(P),n,y):typeof n=="function"?P=>n(P):n)},[m]),X=T((n,y)=>{g(typeof n>"u"?()=>c:P=>typeof n=="string"?ne(J(P),n,y):Object.assign(J(P),n))},[c,g]),Z=T((...n)=>{n.length===0?m(i):m(y=>n.filter(P=>et(i,P)).reduce((P,C)=>ne(P,C,Ze(i,C)),{...y}))},[m,i]),j=T((n,y)=>{e(P=>{let C={...P,...typeof n=="string"?{[n]:y}:n};return r(Object.keys(C).length>0),C})},[e,r]),L=T((...n)=>{e(y=>{let P=Object.keys(y).reduce((C,o)=>({...C,...n.length>0&&!n.includes(o)?{[o]:y[o]}:{}}),{});return r(Object.keys(P).length>0),P})},[e,r]),k=n=>(y,P)=>{b(n,y,P)},ee=T(k("get"),[b]),A=T(k("post"),[b]),$=T(k("put"),[b]),W=T(k("patch"),[b]),H=T(k("delete"),[b]),R=T(()=>{u.current&&u.current.cancel()},[]),te=T(n=>{v.current=n},[]);return{data:c,setData:G,isDirty:!Xe(c,i),errors:l,hasErrors:d,processing:h,progress:I,wasSuccessful:Y,recentlySuccessful:z,transform:te,setDefaults:X,reset:Z,setError:j,clearErrors:L,submit:b,get:ee,post:A,put:$,patch:W,delete:H,cancel:R}}import{router as rt}from"@inertiajs/core";import{useEffect as ot,useRef as nt}from"react";function Te(s,t={},a={keepAlive:!1,autoStart:!0}){let p=nt(rt.poll(s,t,{...a,autoStart:!1}));return ot(()=>((a.autoStart??!0)&&p.current.start(),()=>p.current.stop()),[]),{stop:p.current.stop,start:p.current.start}}import{router as U}from"@inertiajs/core";import{useEffect as st,useState as se}from"react";function be(s={}){let t=typeof window>"u"?null:U.getCached(window.location.pathname,s),a=typeof window>"u"?null:U.getPrefetching(window.location.pathname,s),[p,i]=se(t?.staleTimestamp||null),[g,u]=se(a!==null),[f,c]=se(t!==null);return st(()=>{let m=U.on("prefetching",e=>{e.detail.visit.url.pathname===window.location.pathname&&u(!0)}),l=U.on("prefetched",e=>{e.detail.visit.url.pathname===window.location.pathname&&(u(!1),c(!0),i(e.detail.fetchedAt))});return()=>{l(),m()}},[]),{lastUpdatedAt:p,isPrefetching:g,isPrefetched:f,flush:()=>U.flush(window.location.pathname,s)}}import{router as at}from"@inertiajs/core";import{createElement as it,useCallback as pt,useEffect as ut,useRef as ae,useState as ct}from"react";var Ce=({children:s,data:t,params:a,buffer:p,as:i,always:g,fallback:u})=>{g=g??!1,i=i??"div",u=u??null;let[f,c]=ct(!1),m=ae(!1),l=ae(!1),e=ae(null),d=pt(()=>{if(t)return{only:Array.isArray(t)?t:[t]};if(!a)throw new Error("You must provide either a `data` or `params` prop.");return a},[a,t]);return ut(()=>{if(!e.current)return;let r=new IntersectionObserver(h=>{if(!h[0].isIntersecting||(!g&&m.current&&r.disconnect(),l.current))return;m.current=!0,l.current=!0;let F=d();at.reload({...F,onStart:I=>{l.current=!0,F.onStart?.(I)},onFinish:I=>{c(!0),l.current=!1,F.onFinish?.(I),g||r.disconnect()}})},{rootMargin:`${p||0}px`});return r.observe(e.current),()=>{r.disconnect()}},[e,d,p]),g||!f?it(i,{props:null,ref:e},f?s:u):f?s:null};Ce.displayName="InertiaWhenVisible";var lt=Ce;var me=dt;export{Be as Deferred,$e as Head,Ye as Link,lt as WhenVisible,ce as createInertiaApp,me as router,ve as useForm,q as usePage,Te as usePoll,be as usePrefetch,V as useRemember};
|
|
1
|
+
import{router as St}from"@inertiajs/core";import{router as Ke,setupProgress as Be}from"@inertiajs/core";import{createElement as Ve}from"react";import{createHeadManager as Oe,router as fe}from"@inertiajs/core";import{createElement as O,useEffect as Me,useMemo as Le,useState as He}from"react";import{createContext as ke}from"react";var le=ke(void 0);le.displayName="InertiaHeadContext";var B=le;import{createContext as we}from"react";var de=we(void 0);de.displayName="InertiaPageContext";var V=de;var ne=!0,me=!1,ge=async()=>{ne=!1};function q({children:o,initialPage:t,initialComponent:a,resolveComponent:i,titleCallback:s,onHeadUpdate:f}){let[l,m]=He({component:a||null,page:t,key:null}),u=Le(()=>Oe(typeof window>"u",s||(c=>c),f||(()=>{})),[]);if(me||(fe.init({initialPage:t,resolveComponent:i,swapComponent:async c=>ge(c)}),me=!0),Me(()=>{ge=async({component:c,page:e,preserveState:d})=>{if(ne){ne=!1;return}m(r=>({component:c,page:e,key:d?r.key:Date.now()}))},fe.on("navigate",()=>u.forceUpdate())},[]),!l.component)return O(B.Provider,{value:u},O(V.Provider,{value:l.page},null));let g=o||(({Component:c,props:e,key:d})=>{let r=O(c,{key:d,...e});return typeof c.layout=="function"?c.layout(r):Array.isArray(c.layout)?c.layout.concat(r).reverse().reduce((h,F)=>O(F,{children:h,...e})):r});return O(B.Provider,{value:u},O(V.Provider,{value:l.page},g({Component:l.component,key:l.key,props:l.page.props})))}q.displayName="Inertia";async function Pe({id:o="app",resolve:t,setup:a,title:i,progress:s={},page:f,render:l}){let m=typeof window>"u",u=m?null:document.getElementById(o),g=f||JSON.parse(u.dataset.page),c=r=>Promise.resolve(t(r)).then(h=>h.default||h),e=[],d=await Promise.all([c(g.component),Ke.decryptHistory().catch(()=>{})]).then(([r])=>a({el:u,App:q,props:{initialPage:g,initialComponent:r,resolveComponent:c,titleCallback:i,onHeadUpdate:m?h=>e=h:null}}));if(!m&&s&&Be(s),m){let r=await l(Ve("div",{id:o,"data-page":JSON.stringify(g)},d));return{head:e,body:r}}}import{useEffect as ye,useMemo as Ne,useState as je}from"react";import{useContext as Ue}from"react";function J(){let o=Ue(V);if(!o)throw new Error("usePage must be used within the Inertia component");return o}var he=o=>(o=new URL(o.href),o.hash="",o),$e=(o,t)=>he(o).href===he(t).href,Fe=({children:o,data:t,fallback:a})=>{if(!t)throw new Error("`<Deferred>` requires a `data` prop to be a string or array of strings");let[i,s]=je(!1),f=J().props,l=Ne(()=>Array.isArray(t)?t:[t],[t]);return ye(()=>{let m=Se.on("start",u=>{let g=u.detail.visit.only.length>0||u.detail.visit.except.length>0,c=u.detail.visit.only.find(e=>l.includes(e));$e(u.detail.visit.url,window.location)&&(!g||c)&&s(!1)});return()=>{m()}},[]),ye(()=>{s(l.every(m=>f[m]!==void 0))},[f,l]),i?o:a};Fe.displayName="InertiaDeferred";var We=Fe;import Te,{useContext as _e,useEffect as qe,useMemo as Je}from"react";var ze=function({children:o,title:t}){let a=_e(B),i=Je(()=>a.createProvider(),[a]);qe(()=>(i.reconnect(),i.update(c(o)),()=>{i.disconnect()}),[i,o,t]);function s(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 d=Object.keys(e.props).reduce((r,h)=>{if(["head-key","children","dangerouslySetInnerHTML"].includes(h))return r;let F=e.props[h];return F===""?r+` ${h}`:r+` ${h}="${F}"`},"");return`<${e.type}${d}>`}function l(e){return typeof e.props.children=="string"?e.props.children:e.props.children.reduce((d,r)=>d+m(r),"")}function m(e){let d=f(e);return e.props.children&&(d+=l(e)),e.props.dangerouslySetInnerHTML&&(d+=e.props.dangerouslySetInnerHTML.__html),s(e)||(d+=`</${e.type}>`),d}function u(e){return Te.cloneElement(e,{inertia:e.props["head-key"]!==void 0?e.props["head-key"]:""})}function g(e){return m(u(e))}function c(e){let d=Te.Children.toArray(e).filter(r=>r).map(r=>g(r));return t&&!d.find(r=>r.startsWith("<title"))&&d.push(`<title inertia>${t}</title>`),d}return null},Qe=ze;import{mergeDataIntoQueryString as Ye,router as se,shouldIntercept as ae}from"@inertiajs/core";import{createElement as Ge,forwardRef as Xe,useEffect as ve,useMemo as be,useRef as Ze,useState as et}from"react";var R=()=>{},Ce=Xe(({children:o,as:t="a",data:a={},href:i,method:s="get",preserveScroll:f=!1,preserveState:l=null,replace:m=!1,only:u=[],except:g=[],headers:c={},queryStringArrayFormat:e="brackets",async:d=!1,onClick:r=R,onCancelToken:h=R,onBefore:F=R,onStart:A=R,onProgress:E=R,onFinish:Y=R,onCancel:j=R,onSuccess:G=R,onError:M=R,prefetch:T=!1,cacheFor:k=0,...C},X)=>{let[$,L]=et(0),H=Ze(null);t=t.toLowerCase(),s=typeof i=="object"?i.method:s.toLowerCase();let[Z,ee]=Ye(s,typeof i=="object"?i.url:i||"",a,e),w=Z;a=ee;let I={data:a,method:s,preserveScroll:f,preserveState:l??s!=="get",replace:m,only:u,except:g,headers:c,async:d},W={...I,onCancelToken:h,onBefore:F,onStart(p){L(P=>P+1),A(p)},onProgress:E,onFinish(p){L(P=>P-1),Y(p)},onCancel:j,onSuccess:G,onError:M},K=()=>{se.prefetch(w,I,{cacheFor:te})},D=be(()=>T===!0?["hover"]:T===!1?[]:Array.isArray(T)?T:[T],Array.isArray(T)?T:[T]),te=be(()=>k!==0?k:D.length===1&&D[0]==="click"?0:3e4,[k,D]);ve(()=>()=>{clearTimeout(H.current)},[]),ve(()=>{D.includes("mount")&&setTimeout(()=>K())},D);let _={onClick:p=>{r(p),ae(p)&&(p.preventDefault(),se.visit(w,W))}},re={onMouseEnter:()=>{H.current=window.setTimeout(()=>{K()},75)},onMouseLeave:()=>{clearTimeout(H.current)},onClick:_.onClick},oe={onMouseDown:p=>{ae(p)&&(p.preventDefault(),K())},onMouseUp:p=>{p.preventDefault(),se.visit(w,W)},onClick:p=>{r(p),ae(p)&&p.preventDefault()}};return s!=="get"&&(t="button"),Ge(t,{...C,...{a:{href:w},button:{type:"button"}}[t]||{},ref:X,...D.includes("hover")?re:D.includes("click")?oe:_,"data-loading":$>0?"":void 0},o)});Ce.displayName="InertiaLink";var tt=Ce;import{router as Re}from"@inertiajs/core";import{cloneDeep as z,isEqual as nt}from"es-toolkit";import{get as st,has as at,set as ie}from"es-toolkit/compat";import{useCallback as v,useEffect as it,useLayoutEffect as pt,useMemo as ut,useRef as Q,useState as x}from"react";import{router as De}from"@inertiajs/core";import{useEffect as rt,useState as ot}from"react";function U(o,t){let[a,i]=ot(()=>{let s=De.restore(t);return s!==void 0?s:o});return rt(()=>{De.remember(a,t)},[a,t]),[a,i]}function xe(o,t){let a=Q(null),i=typeof o=="string"?o:null,[s,f]=x((typeof o=="string"?t:o)||{}),l=Q(null),m=Q(null),[u,g]=i?U(s,`${i}:data`):x(s),[c,e]=i?U({},`${i}:errors`):x({}),[d,r]=x(!1),[h,F]=x(!1),[A,E]=x(null),[Y,j]=x(!1),[G,M]=x(!1),T=Q(n=>n),k=ut(()=>!nt(u,s),[u,s]);it(()=>(a.current=!0,()=>{a.current=!1}),[]);let C=v((...n)=>{let p=typeof n[0]=="object",P=p?n[0].method:n[0],b=p?n[0].url:n[1],y=(p?n[1]:n[2])??{},ce={...y,onCancelToken:S=>{if(l.current=S,y.onCancelToken)return y.onCancelToken(S)},onBefore:S=>{if(j(!1),M(!1),clearTimeout(m.current),y.onBefore)return y.onBefore(S)},onStart:S=>{if(F(!0),y.onStart)return y.onStart(S)},onProgress:S=>{if(E(S),y.onProgress)return y.onProgress(S)},onSuccess:S=>{if(a.current&&(F(!1),E(null),e({}),r(!1),j(!0),M(!0),f(z(u)),m.current=setTimeout(()=>{a.current&&M(!1)},2e3)),y.onSuccess)return y.onSuccess(S)},onError:S=>{if(a.current&&(F(!1),E(null),e(S),r(!0)),y.onError)return y.onError(S)},onCancel:()=>{if(a.current&&(F(!1),E(null)),y.onCancel)return y.onCancel()},onFinish:S=>{if(a.current&&(F(!1),E(null)),l.current=null,y.onFinish)return y.onFinish(S)}};P==="delete"?Re.delete(b,{...ce,data:T.current(u)}):Re[P](b,T.current(u),ce)},[u,e,T]),X=v((n,p)=>{g(typeof n=="string"?P=>ie(z(P),n,p):typeof n=="function"?P=>n(P):n)},[g]),[$,L]=x(!1),H=v((n,p)=>{typeof n>"u"?(f(u),L(!0)):f(P=>typeof n=="string"?ie(z(P),n,p):Object.assign(z(P),n))},[u,f]);pt(()=>{$&&(k&&f(u),L(!1))},[$]);let Z=v((...n)=>{n.length===0?g(s):g(p=>n.filter(P=>at(s,P)).reduce((P,b)=>ie(P,b,st(s,b)),{...p}))},[g,s]),ee=v((n,p)=>{e(P=>{let b={...P,...typeof n=="string"?{[n]:p}:n};return r(Object.keys(b).length>0),b})},[e,r]),w=v((...n)=>{e(p=>{let P=Object.keys(p).reduce((b,y)=>({...b,...n.length>0&&!n.includes(y)?{[y]:p[y]}:{}}),{});return r(Object.keys(P).length>0),P})},[e,r]),I=n=>(p,P)=>{C(n,p,P)},W=v(I("get"),[C]),K=v(I("post"),[C]),D=v(I("put"),[C]),te=v(I("patch"),[C]),_=v(I("delete"),[C]),re=v(()=>{l.current&&l.current.cancel()},[]),oe=v(n=>{T.current=n},[]);return{data:u,setData:X,isDirty:k,errors:c,hasErrors:d,processing:h,progress:A,wasSuccessful:Y,recentlySuccessful:G,transform:oe,setDefaults:H,reset:Z,setError:ee,clearErrors:w,submit:C,get:W,post:K,put:D,patch:te,delete:_,cancel:re}}import{router as ct}from"@inertiajs/core";import{useEffect as lt,useRef as dt}from"react";function Ie(o,t={},a={keepAlive:!1,autoStart:!0}){let i=dt(ct.poll(o,t,{...a,autoStart:!1}));return lt(()=>((a.autoStart??!0)&&i.current.start(),()=>i.current.stop()),[]),{stop:i.current.stop,start:i.current.start}}import{router as N}from"@inertiajs/core";import{useEffect as ft,useState as pe}from"react";function Ae(o={}){let t=typeof window>"u"?null:N.getCached(window.location.pathname,o),a=typeof window>"u"?null:N.getPrefetching(window.location.pathname,o),[i,s]=pe(t?.staleTimestamp||null),[f,l]=pe(a!==null),[m,u]=pe(t!==null);return ft(()=>{let g=N.on("prefetching",e=>{e.detail.visit.url.pathname===window.location.pathname&&l(!0)}),c=N.on("prefetched",e=>{e.detail.visit.url.pathname===window.location.pathname&&(l(!1),u(!0),s(e.detail.fetchedAt))});return()=>{c(),g()}},[]),{lastUpdatedAt:i,isPrefetching:f,isPrefetched:m,flush:()=>N.flush(window.location.pathname,o)}}import{router as mt}from"@inertiajs/core";import{createElement as gt,useCallback as Pt,useEffect as yt,useRef as ue,useState as ht}from"react";var Ee=({children:o,data:t,params:a,buffer:i,as:s,always:f,fallback:l})=>{f=f??!1,s=s??"div",l=l??null;let[m,u]=ht(!1),g=ue(!1),c=ue(!1),e=ue(null),d=Pt(()=>{if(t)return{only:Array.isArray(t)?t:[t]};if(!a)throw new Error("You must provide either a `data` or `params` prop.");return a},[a,t]);return yt(()=>{if(!e.current)return;let r=new IntersectionObserver(h=>{if(!h[0].isIntersecting||(!f&&g.current&&r.disconnect(),c.current))return;g.current=!0,c.current=!0;let F=d();mt.reload({...F,onStart:A=>{c.current=!0,F.onStart?.(A)},onFinish:A=>{u(!0),c.current=!1,F.onFinish?.(A),f||r.disconnect()}})},{rootMargin:`${i||0}px`});return r.observe(e.current),()=>{r.disconnect()}},[e,d,i]),f||!m?gt(s,{props:null,ref:e},m?o:l):m?o:null};Ee.displayName="InertiaWhenVisible";var Ft=Ee;var Se=St;export{We as Deferred,Qe as Head,tt as Link,Ft as WhenVisible,Pe as createInertiaApp,Se as router,xe as useForm,J as usePage,Ie as usePoll,Ae as usePrefetch,U as useRemember};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|
package/dist/index.esm.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, useMemo, useState } from 'react'\nimport { router } from '.'\nimport usePage from './usePage'\n\nconst urlWithoutHash = (url: URL | Location): URL => {\n url = new URL(url.href)\n url.hash = ''\n\n return url\n}\n\nconst isSameUrlWithoutHash = (url1: URL | Location, url2: URL | Location): boolean => {\n return urlWithoutHash(url1).href === urlWithoutHash(url2).href\n}\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 = useMemo(() => (Array.isArray(data) ? data : [data]), [data])\n\n useEffect(() => {\n const removeListener = router.on('start', (e) => {\n const isPartialVisit = e.detail.visit.only.length > 0 || e.detail.visit.except.length > 0\n const isReloadingKey = e.detail.visit.only.find((key) => keys.includes(key))\n\n if (isSameUrlWithoutHash(e.detail.visit.url, window.location) && (!isPartialVisit || isReloadingKey)) {\n setLoaded(false)\n }\n })\n\n return () => {\n removeListener()\n }\n }, [])\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 {\n FormDataConvertible,\n FormDataKeys,\n FormDataValues,\n Method,\n Progress,\n router,\n VisitOptions,\n} from '@inertiajs/core'\nimport { cloneDeep, isEqual } from 'es-toolkit'\nimport { get, has, set } from 'es-toolkit/compat'\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 extends Record<any, any>> = <K extends FormDataKeys<TForm>>(key: K, value: FormDataValues<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<FormDataKeys<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: FormDataKeys<TForm>, value: FormDataConvertible): void\n setDefaults(fields: Partial<TForm>): void\n reset: (...fields: FormDataKeys<TForm>[]) => void\n clearErrors: (...fields: FormDataKeys<TForm>[]) => void\n setError(field: FormDataKeys<TForm>, value: string): void\n setError(errors: Record<FormDataKeys<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<FormDataKeys<TForm>, string>>, `${rememberKey}:errors`)\n : useState({} as Partial<Record<FormDataKeys<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: FormDataKeys<TForm> | Function | TForm, maybeValue?: any) => {\n if (typeof keyOrData === 'string') {\n setData((data) => set(cloneDeep(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?: FormDataKeys<TForm> | Partial<TForm>, maybeValue?: FormDataConvertible) => {\n if (typeof fieldOrFields === 'undefined') {\n setDefaults(() => data)\n } else {\n setDefaults((defaults) => {\n return typeof fieldOrFields === 'string'\n ? set(cloneDeep(defaults), fieldOrFields, maybeValue)\n : Object.assign(cloneDeep(defaults), fieldOrFields)\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 (fields as Array<FormDataKeys<TForm>>)\n .filter((key) => has(defaults, key))\n .reduce(\n (carry, key) => {\n return set(carry, key, get(defaults, key))\n },\n { ...data } as TForm,\n ),\n )\n }\n },\n [setData, defaults],\n )\n\n const setError = useCallback(\n (fieldOrFields: FormDataKeys<TForm> | Record<FormDataKeys<TForm>, string>, maybeValue?: string) => {\n setErrors((errors) => {\n const newErrors = {\n ...errors,\n ...(typeof fieldOrFields === 'string'\n ? { [fieldOrFields]: maybeValue }\n : (fieldOrFields as Record<FormDataKeys<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<FormDataKeys<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 getMethod = 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: getMethod,\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", "
|
|
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, SetDataByObject, SetDataByMethod, SetDataByKeyValuePair, SetDataAction, 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, PageHandler, router } from '@inertiajs/core'\nimport { createElement, useEffect, useMemo, useState } from 'react'\nimport HeadContext from './HeadContext'\nimport PageContext from './PageContext'\n\nlet currentIsInitialPage = true\nlet routerIsInitialized = false\nlet swapComponent: PageHandler = async () => {\n // Dummy function so we can init the router outside of the useEffect hook. This is\n // needed so `router.reload()` works right away (on mount) in any of the user's\n // components. We swap in the real function in the useEffect hook below.\n currentIsInitialPage = false\n}\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 if (!routerIsInitialized) {\n router.init({\n initialPage,\n resolveComponent,\n swapComponent: async (args) => swapComponent(args),\n })\n\n routerIsInitialized = true\n }\n\n useEffect(() => {\n swapComponent = async ({ component, page, preserveState }) => {\n if (currentIsInitialPage) {\n // We block setting the current page on the initial page to\n // prevent the initial page from being re-rendered again.\n currentIsInitialPage = false\n return\n }\n\n setCurrent((current) => ({\n component,\n page,\n key: preserveState ? current.key : Date.now(),\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, useMemo, useState } from 'react'\nimport { router } from '.'\nimport usePage from './usePage'\n\nconst urlWithoutHash = (url: URL | Location): URL => {\n url = new URL(url.href)\n url.hash = ''\n\n return url\n}\n\nconst isSameUrlWithoutHash = (url1: URL | Location, url2: URL | Location): boolean => {\n return urlWithoutHash(url1).href === urlWithoutHash(url2).href\n}\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 = useMemo(() => (Array.isArray(data) ? data : [data]), [data])\n\n useEffect(() => {\n const removeListener = router.on('start', (e) => {\n const isPartialVisit = e.detail.visit.only.length > 0 || e.detail.visit.except.length > 0\n const isReloadingKey = e.detail.visit.only.find((key) => keys.includes(key))\n\n if (isSameUrlWithoutHash(e.detail.visit.url, window.location) && (!isPartialVisit || isReloadingKey)) {\n setLoaded(false)\n }\n })\n\n return () => {\n removeListener()\n }\n }, [])\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 provider.reconnect()\n provider.update(renderNodes(children))\n return () => {\n provider.disconnect()\n }\n }, [provider, children, title])\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 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 {\n FormDataConvertible,\n FormDataKeys,\n FormDataValues,\n Method,\n Progress,\n router,\n VisitOptions,\n} from '@inertiajs/core'\nimport { cloneDeep, isEqual } from 'es-toolkit'\nimport { get, has, set } from 'es-toolkit/compat'\nimport { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react'\nimport useRemember from './useRemember'\n\nexport type SetDataByObject<TForm> = (data: TForm) => void\nexport type SetDataByMethod<TForm> = (data: (previousData: TForm) => TForm) => void\nexport type SetDataByKeyValuePair<TForm extends Record<any, any>> = <K extends FormDataKeys<TForm>>(key: K, value: FormDataValues<TForm, K>) => void\nexport type SetDataAction<TForm> = SetDataByObject<TForm> & SetDataByMethod<TForm> & SetDataByKeyValuePair<TForm>\n\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<FormDataKeys<TForm>, string>>\n hasErrors: boolean\n processing: boolean\n progress: Progress | null\n wasSuccessful: boolean\n recentlySuccessful: boolean\n setData: SetDataAction<TForm>\n transform: (callback: (data: TForm) => object) => void\n setDefaults(): void\n setDefaults(field: FormDataKeys<TForm>, value: FormDataConvertible): void\n setDefaults(fields: Partial<TForm>): void\n reset: (...fields: FormDataKeys<TForm>[]) => void\n clearErrors: (...fields: FormDataKeys<TForm>[]) => void\n setError(field: FormDataKeys<TForm>, value: string): void\n setError(errors: Record<FormDataKeys<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<FormDataKeys<TForm>, string>>, `${rememberKey}:errors`)\n : useState({} as Partial<Record<FormDataKeys<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 const isDirty = useMemo(() => !isEqual(data, defaults), [data, defaults])\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: FormDataKeys<TForm> | Function | TForm, maybeValue?: any) => {\n if (typeof keyOrData === 'string') {\n setData((data) => set(cloneDeep(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 [dataAsDefaults, setDataAsDefaults] = useState(false)\n\n const setDefaultsFunction = useCallback(\n (fieldOrFields?: FormDataKeys<TForm> | Partial<TForm>, maybeValue?: FormDataConvertible) => {\n if (typeof fieldOrFields === 'undefined') {\n setDefaults(data)\n // If setData was called right before setDefaults, data was not\n // updated in that render yet, so we set a flag to update\n // defaults right after the next render.\n setDataAsDefaults(true)\n } else {\n setDefaults((defaults) => {\n return typeof fieldOrFields === 'string'\n ? set(cloneDeep(defaults), fieldOrFields, maybeValue)\n : Object.assign(cloneDeep(defaults), fieldOrFields)\n })\n }\n },\n [data, setDefaults],\n )\n \n useLayoutEffect(() => {\n if (!dataAsDefaults) {\n return\n }\n\n if (isDirty) {\n // Data has been updated in this next render and is different from\n // the defaults, so now we can set defaults to the current data.\n setDefaults(data)\n }\n\n setDataAsDefaults(false)\n }, [dataAsDefaults])\n\n const reset = useCallback(\n (...fields) => {\n if (fields.length === 0) {\n setData(defaults)\n } else {\n setData((data) =>\n (fields as Array<FormDataKeys<TForm>>)\n .filter((key) => has(defaults, key))\n .reduce(\n (carry, key) => {\n return set(carry, key, get(defaults, key))\n },\n { ...data } as TForm,\n ),\n )\n }\n },\n [setData, defaults],\n )\n\n const setError = useCallback(\n (fieldOrFields: FormDataKeys<TForm> | Record<FormDataKeys<TForm>, string>, maybeValue?: string) => {\n setErrors((errors) => {\n const newErrors = {\n ...errors,\n ...(typeof fieldOrFields === 'string'\n ? { [fieldOrFields]: maybeValue }\n : (fieldOrFields as Record<FormDataKeys<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<FormDataKeys<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 getMethod = 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,\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: getMethod,\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,GAAgC,UAAAC,OAAc,kBACvD,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,GFAf,IAAIE,GAAuB,GACvBC,GAAsB,GACtBC,GAA6B,SAAY,CAI3CF,GAAuB,EACzB,EAEe,SAARG,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,EA+BL,GA7BKR,KACHgB,GAAO,KAAK,CACV,YAAAZ,EACA,iBAAAE,EACA,cAAe,MAAOW,GAAShB,GAAcgB,CAAI,CACnD,CAAC,EAEDjB,GAAsB,IAGxBkB,GAAU,IAAM,CACdjB,GAAgB,MAAO,CAAE,UAAAkB,EAAW,KAAAC,EAAM,cAAAC,CAAc,IAAM,CAC5D,GAAItB,GAAsB,CAGxBA,GAAuB,GACvB,MACF,CAEAW,EAAYD,IAAa,CACvB,UAAAU,EACA,KAAAC,EACA,IAAKC,EAAgBZ,EAAQ,IAAM,KAAK,IAAI,CAC9C,EAAE,CACJ,EAEAO,GAAO,GAAG,WAAY,IAAMJ,EAAY,YAAY,CAAC,CACvD,EAAG,CAAC,CAAC,EAED,CAACH,EAAQ,UACX,OAAOa,EACLC,EAAY,SACZ,CAAE,MAAOX,CAAY,EACrBU,EAAcE,EAAY,SAAU,CAAE,MAAOf,EAAQ,IAAK,EAAG,IAAI,CACnE,EAGF,IAAMgB,EACJtB,IACC,CAAC,CAAE,UAAAuB,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,CAAC1B,EAAU2B,IAAWR,EAAcQ,EAAQ,CAAE,SAAA3B,EAAU,GAAGwB,CAAM,CAAC,CAAC,EAGxEE,CACT,GAEF,OAAOP,EACLC,EAAY,SACZ,CAAE,MAAOX,CAAY,EACrBU,EACEE,EAAY,SACZ,CAAE,MAAOf,EAAQ,IAAK,EACtBgB,EAAe,CACb,UAAWhB,EAAQ,UACnB,IAAKA,EAAQ,IACb,MAAOA,EAAQ,KAAK,KACtB,CAAC,CACH,CACF,CACF,CAEAP,EAAI,YAAc,UD1ClB,eAAO6B,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,WAAAC,GAAS,YAAAC,OAAgB,QCC3D,OAAS,cAAAC,OAAkB,QAGZ,SAARC,GAAuF,CAC5F,IAAMC,EAAOC,GAAWC,CAAW,EAEnC,GAAI,CAACF,EACH,MAAM,IAAI,MAAM,mDAAmD,EAGrE,OAAOA,CACT,CDRA,IAAMG,GAAkBC,IACtBA,EAAM,IAAI,IAAIA,EAAI,IAAI,EACtBA,EAAI,KAAO,GAEJA,GAGHC,GAAuB,CAACC,EAAsBC,IAC3CJ,GAAeG,CAAI,EAAE,OAASH,GAAeI,CAAI,EAAE,KAStDC,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,EAAOC,GAAQ,IAAO,MAAM,QAAQR,CAAI,EAAIA,EAAO,CAACA,CAAI,EAAI,CAACA,CAAI,CAAC,EAExE,OAAAS,GAAU,IAAM,CACd,IAAMC,EAAiBC,GAAO,GAAG,QAAUC,GAAM,CAC/C,IAAMC,EAAiBD,EAAE,OAAO,MAAM,KAAK,OAAS,GAAKA,EAAE,OAAO,MAAM,OAAO,OAAS,EAClFE,EAAiBF,EAAE,OAAO,MAAM,KAAK,KAAMG,GAAQR,EAAK,SAASQ,CAAG,CAAC,EAEvEpB,GAAqBiB,EAAE,OAAO,MAAM,IAAK,OAAO,QAAQ,IAAM,CAACC,GAAkBC,IACnFX,EAAU,EAAK,CAEnB,CAAC,EAED,MAAO,IAAM,CACXO,EAAe,CACjB,CACF,EAAG,CAAC,CAAC,EAELD,GAAU,IAAM,CACdN,EAAUI,EAAK,MAAOQ,GAAQV,EAAUU,CAAG,IAAM,MAAS,CAAC,CAC7D,EAAG,CAACV,EAAWE,CAAI,CAAC,EAEbL,EAASH,EAAWE,CAC7B,EAEAH,GAAS,YAAc,kBAEvB,IAAOkB,GAAQlB,GEtDf,OAAOmB,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,KACRF,EAAS,UAAU,EACnBA,EAAS,OAAOG,EAAYR,CAAQ,CAAC,EAC9B,IAAM,CACXK,EAAS,WAAW,CACtB,GACC,CAACA,EAAUL,EAAUC,CAAK,CAAC,EAE9B,SAASQ,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,SAASF,EAAYe,EAAO,CAC1B,IAAMC,EAAWH,GAAM,SAAS,QAAQE,CAAK,EAC1C,OAAQb,GAASA,CAAI,EACrB,IAAKA,GAASY,EAAWZ,CAAI,CAAC,EACjC,OAAIT,GAAS,CAACuB,EAAS,KAAMC,GAAQA,EAAI,WAAW,QAAQ,CAAC,GAC3DD,EAAS,KAAK,kBAAkBvB,CAAK,UAAU,EAE1CuB,CACT,CAEA,OAAO,IACT,EACOE,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,EAAK,EAAIzC,GACrBe,EACA,OAAOD,GAAS,SAAWA,EAAK,IAAMA,GAAQ,GAC9CD,EACAS,CACF,EACMoB,EAAMF,EACZ3B,EAAO4B,GAEP,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,GAAsB,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,GAAsB,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,GAGLF,EAAc,SAAS,OAAO,EACzBG,GAGFF,EAET,eAAgBb,EAAgB,EAAI,GAAK,MAC3C,EACA1B,CACF,CACF,CACF,EACAD,GAAK,YAAc,cAEnB,IAAO2C,GAAQ3C,GC1Pf,OAME,UAAA4C,OAEK,kBACP,OAAS,aAAAC,EAAW,WAAAC,OAAe,aACnC,OAAS,OAAAC,GAAK,OAAAC,GAAK,OAAAC,OAAW,oBAC9B,OAAS,eAAAC,EAAa,aAAAC,GAAW,mBAAAC,GAAiB,WAAAC,GAAS,UAAAC,EAAQ,YAAAC,MAAgB,QCXnF,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,CDmCe,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,EAAmD,GAAGR,CAAW,SAAS,EACvFG,EAAS,CAAC,CAAiD,EACzD,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,EACjCgB,EAAUC,GAAQ,IAAM,CAACC,GAAQlB,EAAML,CAAQ,EAAG,CAACK,EAAML,CAAQ,CAAC,EAExEwB,GAAU,KACR3B,EAAU,QAAU,GACb,IAAM,CACXA,EAAU,QAAU,EACtB,GACC,CAAC,CAAC,EAEL,IAAM4B,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,GAAW,CACf,GAAGD,EACH,cAAgBE,GAAU,CAGxB,GAFA9B,EAAY,QAAU8B,EAElBF,EAAQ,cACV,OAAOA,EAAQ,cAAcE,CAAK,CAEtC,EACA,SAAWC,GAAU,CAKnB,GAJAjB,EAAiB,EAAK,EACtBE,EAAsB,EAAK,EAC3B,aAAaf,EAA4B,OAAO,EAE5C2B,EAAQ,SACV,OAAOA,EAAQ,SAASG,CAAK,CAEjC,EACA,QAAUA,GAAU,CAGlB,GAFArB,EAAc,EAAI,EAEdkB,EAAQ,QACV,OAAOA,EAAQ,QAAQG,CAAK,CAEhC,EACA,WAAaC,GAAU,CAGrB,GAFApB,EAAYoB,CAAK,EAEbJ,EAAQ,WACV,OAAOA,EAAQ,WAAWI,CAAK,CAEnC,EACA,UAAYC,GAAS,CAgBnB,GAfIvC,EAAU,UACZgB,EAAc,EAAK,EACnBE,EAAY,IAAI,EAChBN,EAAU,CAAC,CAAC,EACZE,EAAa,EAAK,EAClBM,EAAiB,EAAI,EACrBE,EAAsB,EAAI,EAC1BlB,EAAYoC,EAAUhC,CAAI,CAAC,EAC3BD,EAA4B,QAAU,WAAW,IAAM,CACjDP,EAAU,SACZsB,EAAsB,EAAK,CAE/B,EAAG,GAAI,GAGLY,EAAQ,UACV,OAAOA,EAAQ,UAAUK,CAAI,CAEjC,EACA,QAAU5B,GAAW,CAQnB,GAPIX,EAAU,UACZgB,EAAc,EAAK,EACnBE,EAAY,IAAI,EAChBN,EAAUD,CAAM,EAChBG,EAAa,EAAI,GAGfoB,EAAQ,QACV,OAAOA,EAAQ,QAAQvB,CAAM,CAEjC,EACA,SAAU,IAAM,CAMd,GALIX,EAAU,UACZgB,EAAc,EAAK,EACnBE,EAAY,IAAI,GAGdgB,EAAQ,SACV,OAAOA,EAAQ,SAAS,CAE5B,EACA,SAAWG,GAAU,CAQnB,GAPIrC,EAAU,UACZgB,EAAc,EAAK,EACnBE,EAAY,IAAI,GAGlBZ,EAAY,QAAU,KAElB4B,EAAQ,SACV,OAAOA,EAAQ,SAASG,CAAK,CAEjC,CACF,EAEIL,IAAW,SACbS,GAAO,OAAOR,EAAK,CAAE,GAAGE,GAAU,KAAMZ,EAAU,QAAQf,CAAI,CAAE,CAAC,EAEjEiC,GAAOT,CAAM,EAAEC,EAAKV,EAAU,QAAQf,CAAI,EAAG2B,EAAQ,CAEzD,EACA,CAAC3B,EAAMI,EAAWW,CAAS,CAC7B,EAEMmB,EAAkBb,EACtB,CAACc,EAAmDC,IAAqB,CAErEnC,EADE,OAAOkC,GAAc,SACdnC,GAASqC,GAAIL,EAAUhC,CAAI,EAAGmC,EAAWC,CAAU,EACnD,OAAOD,GAAc,WACrBnC,GAASmC,EAAUnC,CAAI,EAExBmC,CAJqD,CAMjE,EACA,CAAClC,CAAO,CACV,EAEM,CAACqC,EAAgBC,CAAiB,EAAI1C,EAAS,EAAK,EAEpD2C,EAAsBnB,EAC1B,CAACoB,EAAsDL,IAAqC,CACtF,OAAOK,EAAkB,KAC3B7C,EAAYI,CAAI,EAIhBuC,EAAkB,EAAI,GAEtB3C,EAAaD,GACJ,OAAO8C,GAAkB,SAC5BJ,GAAIL,EAAUrC,CAAQ,EAAG8C,EAAeL,CAAU,EAClD,OAAO,OAAOJ,EAAUrC,CAAQ,EAAG8C,CAAa,CACrD,CAEL,EACA,CAACzC,EAAMJ,CAAW,CACpB,EAEA8C,GAAgB,IAAM,CACfJ,IAIDtB,GAGFpB,EAAYI,CAAI,EAGlBuC,EAAkB,EAAK,EACzB,EAAG,CAACD,CAAc,CAAC,EAEnB,IAAMK,EAAQtB,EACZ,IAAIuB,IAAW,CACTA,EAAO,SAAW,EACpB3C,EAAQN,CAAQ,EAEhBM,EAASD,GACN4C,EACE,OAAQC,GAAQC,GAAInD,EAAUkD,CAAG,CAAC,EAClC,OACC,CAACE,EAAOF,IACCR,GAAIU,EAAOF,EAAKG,GAAIrD,EAAUkD,CAAG,CAAC,EAE3C,CAAE,GAAG7C,CAAK,CACZ,CACJ,CAEJ,EACA,CAACC,EAASN,CAAQ,CACpB,EAEMsD,GAAW5B,EACf,CAACoB,EAA0EL,IAAwB,CACjGhC,EAAWD,GAAW,CACpB,IAAM+C,EAAY,CAChB,GAAG/C,EACH,GAAI,OAAOsC,GAAkB,SACzB,CAAE,CAACA,CAAa,EAAGL,CAAW,EAC7BK,CACP,EACA,OAAAnC,EAAa,OAAO,KAAK4C,CAAS,EAAE,OAAS,CAAC,EACvCA,CACT,CAAC,CACH,EACA,CAAC9C,EAAWE,CAAY,CAC1B,EAEM6C,EAAc9B,EAClB,IAAIuB,IAAW,CACbxC,EAAWD,GAAW,CACpB,IAAM+C,EAAa,OAAO,KAAK/C,CAAM,EAAiC,OACpE,CAAC4C,EAAOK,KAAW,CACjB,GAAGL,EACH,GAAIH,EAAO,OAAS,GAAK,CAACA,EAAO,SAASQ,CAAK,EAAI,CAAE,CAACA,CAAK,EAAGjD,EAAOiD,CAAK,CAAE,EAAI,CAAC,CACnF,GACA,CAAC,CACH,EACA,OAAA9C,EAAa,OAAO,KAAK4C,CAAS,EAAE,OAAS,CAAC,EACvCA,CACT,CAAC,CACH,EACA,CAAC9C,EAAWE,CAAY,CAC1B,EAEM+C,EAAsB7B,GAAW,CAACC,EAAKC,IAAY,CACvDN,EAAOI,EAAQC,EAAKC,CAAO,CAC7B,EACM4B,EAAYjC,EAAYgC,EAAmB,KAAK,EAAG,CAACjC,CAAM,CAAC,EAC3DmC,EAAOlC,EAAYgC,EAAmB,MAAM,EAAG,CAACjC,CAAM,CAAC,EACvDoC,EAAMnC,EAAYgC,EAAmB,KAAK,EAAG,CAACjC,CAAM,CAAC,EACrDqC,GAAQpC,EAAYgC,EAAmB,OAAO,EAAG,CAACjC,CAAM,CAAC,EACzDsC,EAAerC,EAAYgC,EAAmB,QAAQ,EAAG,CAACjC,CAAM,CAAC,EAEjEuC,GAAStC,EAAY,IAAM,CAC3BvB,EAAY,SACdA,EAAY,QAAQ,OAAO,CAE/B,EAAG,CAAC,CAAC,EAEC8D,GAAoBvC,EAAawC,GAAa,CAClD9C,EAAU,QAAU8C,CACtB,EAAG,CAAC,CAAC,EAEL,MAAO,CACL,KAAA7D,EACA,QAASkC,EACT,QAAAlB,EACA,OAAAb,EACA,UAAAE,EACA,WAAAE,EACA,SAAAE,EACA,cAAAE,EACA,mBAAAE,EACA,UAAW+C,GACX,YAAapB,EACb,MAAAG,EACA,SAAAM,GACA,YAAAE,EACA,OAAA/B,EACA,IAAKkC,EACL,KAAAC,EACA,IAAAC,EACA,MAAAC,GACA,OAAQC,EACR,OAAAC,EACF,CACF,CE3UA,OAAqC,UAAAG,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", "currentIsInitialPage", "routerIsInitialized", "swapComponent", "App", "children", "initialPage", "initialComponent", "resolveComponent", "titleCallback", "onHeadUpdate", "current", "setCurrent", "useState", "headManager", "useMemo", "createHeadManager", "title", "router", "args", "useEffect", "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", "useMemo", "useState", "useContext", "usePage", "page", "useContext", "PageContext_default", "urlWithoutHash", "url", "isSameUrlWithoutHash", "url1", "url2", "Deferred", "children", "data", "fallback", "loaded", "setLoaded", "useState", "pageProps", "usePage", "keys", "useMemo", "useEffect", "removeListener", "router", "e", "isPartialVisit", "isReloadingKey", "key", "Deferred_default", "React", "useContext", "useEffect", "useMemo", "Head", "children", "title", "headManager", "useContext", "HeadContext_default", "provider", "useMemo", "useEffect", "renderNodes", "isUnaryTag", "node", "renderTagStart", "attrs", "carry", "name", "value", "renderTagChildren", "html", "child", "renderTag", "ensureNodeHasInertiaProp", "React", "renderNode", "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", "get", "has", "set", "useCallback", "useEffect", "useLayoutEffect", "useMemo", "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", "isDirty", "useMemo", "isEqual", "useEffect", "submit", "useCallback", "args", "objectPassed", "method", "url", "options", "_options", "token", "visit", "event", "page", "cloneDeep", "router", "setDataFunction", "keyOrData", "maybeValue", "set", "dataAsDefaults", "setDataAsDefaults", "setDefaultsFunction", "fieldOrFields", "useLayoutEffect", "reset", "fields", "key", "has", "carry", "get", "setError", "newErrors", "clearErrors", "field", "createSubmitMethod", "getMethod", "post", "put", "patch", "deleteMethod", "cancel", "transformFunction", "callback", "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 Ke=Object.create;var ee=Object.defineProperty;var Be=Object.getOwnPropertyDescriptor;var Ve=Object.getOwnPropertyNames;var Ue=Object.getPrototypeOf,Ne=Object.prototype.hasOwnProperty;var je=(t,r)=>{for(var o in r)ee(t,o,{get:r[o],enumerable:!0})},Fe=(t,r,o,p)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Ve(r))!Ne.call(t,n)&&n!==o&&ee(t,n,{get:()=>r[n],enumerable:!(p=Be(r,n))||p.enumerable});return t};var $e=(t,r,o)=>(o=t!=null?Ke(Ue(t)):{},Fe(r||!t||!t.__esModule?ee(o,"default",{value:t,enumerable:!0}):o,t)),We=t=>Fe(ee({},"__esModule",{value:!0}),t);var Je={};je(Je,{Deferred:()=>Ie,Head:()=>Ee,Link:()=>Ae,WhenVisible:()=>Le,createInertiaApp:()=>de,router:()=>fe,useForm:()=>Pe,usePage:()=>Y,usePoll:()=>ye,usePrefetch:()=>he,useRemember:()=>U});module.exports=We(Je);var He=require("@inertiajs/core");var re=require("@inertiajs/core"),Ce=require("react");var Q=require("@inertiajs/core"),C=require("react");var Se=require("react"),ve=(0,Se.createContext)(void 0);ve.displayName="InertiaHeadContext";var q=ve;var Te=require("react"),be=(0,Te.createContext)(void 0);be.displayName="InertiaPageContext";var J=be;function te({children:t,initialPage:r,initialComponent:o,resolveComponent:p,titleCallback:n,onHeadUpdate:P}){let[c,m]=(0,C.useState)({component:o||null,page:r,key:null}),l=(0,C.useMemo)(()=>(0,Q.createHeadManager)(typeof window>"u",n||(d=>d),P||(()=>{})),[]);if((0,C.useEffect)(()=>{Q.router.init({initialPage:r,resolveComponent:p,swapComponent:async({component:d,page:e,preserveState:f})=>{m(s=>({component:d,page:e,key:f?s.key:Date.now()}))}}),Q.router.on("navigate",()=>l.forceUpdate())},[]),!c.component)return(0,C.createElement)(q.Provider,{value:l},(0,C.createElement)(J.Provider,{value:c.page},null));let g=t||(({Component:d,props:e,key:f})=>{let s=(0,C.createElement)(d,{key:f,...e});return typeof d.layout=="function"?d.layout(s):Array.isArray(d.layout)?d.layout.concat(s).reverse().reduce((F,S)=>(0,C.createElement)(S,{children:F,...e})):s});return(0,C.createElement)(q.Provider,{value:l},(0,C.createElement)(J.Provider,{value:c.page},g({Component:c.component,key:c.key,props:c.page.props})))}te.displayName="Inertia";async function de({id:t="app",resolve:r,setup:o,title:p,progress:n={},page:P,render:c}){let m=typeof window>"u",l=m?null:document.getElementById(t),g=P||JSON.parse(l.dataset.page),d=s=>Promise.resolve(r(s)).then(F=>F.default||F),e=[],f=await Promise.all([d(g.component),re.router.decryptHistory().catch(()=>{})]).then(([s])=>o({el:l,App:te,props:{initialPage:g,initialComponent:s,resolveComponent:d,titleCallback:p,onHeadUpdate:m?F=>e=F:null}}));if(!m&&n&&(0,re.setupProgress)(n),m){let s=await c((0,Ce.createElement)("div",{id:t,"data-page":JSON.stringify(g)},f));return{head:e,body:s}}}var H=require("react");var Re=require("react");function Y(){let t=(0,Re.useContext)(J);if(!t)throw new Error("usePage must be used within the Inertia component");return t}var xe=t=>(t=new URL(t.href),t.hash="",t),_e=(t,r)=>xe(t).href===xe(r).href,De=({children:t,data:r,fallback:o})=>{if(!r)throw new Error("`<Deferred>` requires a `data` prop to be a string or array of strings");let[p,n]=(0,H.useState)(!1),P=Y().props,c=(0,H.useMemo)(()=>Array.isArray(r)?r:[r],[r]);return(0,H.useEffect)(()=>{let m=fe.on("start",l=>{let g=l.detail.visit.only.length>0||l.detail.visit.except.length>0,d=l.detail.visit.only.find(e=>c.includes(e));_e(l.detail.visit.url,window.location)&&(!g||d)&&n(!1)});return()=>{m()}},[]),(0,H.useEffect)(()=>{n(c.every(m=>P[m]!==void 0))},[P,c]),p?t:o};De.displayName="InertiaDeferred";var Ie=De;var k=$e(require("react"),1);var qe=function({children:t,title:r}){let o=(0,k.useContext)(q),p=(0,k.useMemo)(()=>o.createProvider(),[o]);(0,k.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 P(e){let f=Object.keys(e.props).reduce((s,F)=>{if(["head-key","children","dangerouslySetInnerHTML"].includes(F))return s;let S=e.props[F];return S===""?s+` ${F}`:s+` ${F}="${S}"`},"");return`<${e.type}${f}>`}function c(e){return typeof e.props.children=="string"?e.props.children:e.props.children.reduce((f,s)=>f+m(s),"")}function m(e){let f=P(e);return e.props.children&&(f+=c(e)),e.props.dangerouslySetInnerHTML&&(f+=e.props.dangerouslySetInnerHTML.__html),n(e)||(f+=`</${e.type}>`),f}function l(e){return k.default.cloneElement(e,{inertia:e.props["head-key"]!==void 0?e.props["head-key"]:""})}function g(e){return m(l(e))}function d(e){let f=k.default.Children.toArray(e).filter(s=>s).map(s=>g(s));return r&&!f.find(s=>s.startsWith("<title"))&&f.push(`<title inertia>${r}</title>`),f}return p.update(d(t)),null},Ee=qe;var I=require("@inertiajs/core"),T=require("react"),A=()=>{},ke=(0,T.forwardRef)(({children:t,as:r="a",data:o={},href:p,method:n="get",preserveScroll:P=!1,preserveState:c=null,replace:m=!1,only:l=[],except:g=[],headers:d={},queryStringArrayFormat:e="brackets",async:f=!1,onClick:s=A,onCancelToken:F=A,onBefore:S=A,onStart:O=A,onProgress:M=A,onFinish:se=A,onCancel:z=A,onSuccess:ae=A,onError:$=A,prefetch:b=!1,cacheFor:x=0,...ie},pe)=>{let[ue,G]=(0,T.useState)(0),W=(0,T.useRef)(null);r=r.toLowerCase(),n=typeof p=="object"?p.method:n.toLowerCase();let[L,ce]=(0,I.mergeDataIntoQueryString)(n,typeof p=="object"?p.url:p||"",o,e),B=L;o=ce;let X={data:o,method:n,preserveScroll:P,preserveState:c??n!=="get",replace:m,only:l,except:g,headers:d,async:f},Z={...X,onCancelToken:F,onBefore:S,onStart(a){G(V=>V+1),O(a)},onProgress:M,onFinish(a){G(V=>V-1),se(a)},onCancel:z,onSuccess:ae,onError:$},_=()=>{I.router.prefetch(B,X,{cacheFor:le})},E=(0,T.useMemo)(()=>b===!0?["hover"]:b===!1?[]:Array.isArray(b)?b:[b],Array.isArray(b)?b:[b]),le=(0,T.useMemo)(()=>x!==0?x:E.length===1&&E[0]==="click"?0:3e4,[x,E]);(0,T.useEffect)(()=>()=>{clearTimeout(W.current)},[]),(0,T.useEffect)(()=>{E.includes("mount")&&setTimeout(()=>_())},E);let i={onClick:a=>{s(a),(0,I.shouldIntercept)(a)&&(a.preventDefault(),I.router.visit(B,Z))}},h={onMouseEnter:()=>{W.current=window.setTimeout(()=>{_()},75)},onMouseLeave:()=>{clearTimeout(W.current)},onClick:i.onClick},y={onMouseDown:a=>{(0,I.shouldIntercept)(a)&&(a.preventDefault(),_())},onMouseUp:a=>{a.preventDefault(),I.router.visit(B,Z)},onClick:a=>{s(a),(0,I.shouldIntercept)(a)&&a.preventDefault()}};return n!=="get"&&(r="button"),(0,T.createElement)(r,{...ie,...{a:{href:B},button:{type:"button"}}[r]||{},ref:pe,...E.includes("hover")?h:E.includes("click")?y:i,"data-loading":ue>0?"":void 0},t)});ke.displayName="InertiaLink";var Ae=ke;var ge=require("@inertiajs/core"),K=require("es-toolkit"),w=require("es-toolkit/compat"),u=require("react");var me=require("@inertiajs/core"),oe=require("react");function U(t,r){let[o,p]=(0,oe.useState)(()=>{let n=me.router.restore(r);return n!==void 0?n:t});return(0,oe.useEffect)(()=>{me.router.remember(o,r)},[o,r]),[o,p]}function Pe(t,r){let o=(0,u.useRef)(null),p=typeof t=="string"?t:null,[n,P]=(0,u.useState)((typeof t=="string"?r:t)||{}),c=(0,u.useRef)(null),m=(0,u.useRef)(null),[l,g]=p?U(n,`${p}:data`):(0,u.useState)(n),[d,e]=p?U({},`${p}:errors`):(0,u.useState)({}),[f,s]=(0,u.useState)(!1),[F,S]=(0,u.useState)(!1),[O,M]=(0,u.useState)(null),[se,z]=(0,u.useState)(!1),[ae,$]=(0,u.useState)(!1),b=(0,u.useRef)(i=>i);(0,u.useEffect)(()=>(o.current=!0,()=>{o.current=!1}),[]);let x=(0,u.useCallback)((...i)=>{let h=typeof i[0]=="object",y=h?i[0].method:i[0],D=h?i[0].url:i[1],a=(h?i[1]:i[2])??{},V={...a,onCancelToken:v=>{if(c.current=v,a.onCancelToken)return a.onCancelToken(v)},onBefore:v=>{if(z(!1),$(!1),clearTimeout(m.current),a.onBefore)return a.onBefore(v)},onStart:v=>{if(S(!0),a.onStart)return a.onStart(v)},onProgress:v=>{if(M(v),a.onProgress)return a.onProgress(v)},onSuccess:v=>{if(o.current&&(S(!1),M(null),e({}),s(!1),z(!0),$(!0),P((0,K.cloneDeep)(l)),m.current=setTimeout(()=>{o.current&&$(!1)},2e3)),a.onSuccess)return a.onSuccess(v)},onError:v=>{if(o.current&&(S(!1),M(null),e(v),s(!0)),a.onError)return a.onError(v)},onCancel:()=>{if(o.current&&(S(!1),M(null)),a.onCancel)return a.onCancel()},onFinish:v=>{if(o.current&&(S(!1),M(null)),c.current=null,a.onFinish)return a.onFinish(v)}};y==="delete"?ge.router.delete(D,{...V,data:b.current(l)}):ge.router[y](D,b.current(l),V)},[l,e,b]),ie=(0,u.useCallback)((i,h)=>{g(typeof i=="string"?y=>(0,w.set)((0,K.cloneDeep)(y),i,h):typeof i=="function"?y=>i(y):i)},[g]),pe=(0,u.useCallback)((i,h)=>{P(typeof i>"u"?()=>l:y=>typeof i=="string"?(0,w.set)((0,K.cloneDeep)(y),i,h):Object.assign((0,K.cloneDeep)(y),i))},[l,P]),ue=(0,u.useCallback)((...i)=>{i.length===0?g(n):g(h=>i.filter(y=>(0,w.has)(n,y)).reduce((y,D)=>(0,w.set)(y,D,(0,w.get)(n,D)),{...h}))},[g,n]),G=(0,u.useCallback)((i,h)=>{e(y=>{let D={...y,...typeof i=="string"?{[i]:h}:i};return s(Object.keys(D).length>0),D})},[e,s]),W=(0,u.useCallback)((...i)=>{e(h=>{let y=Object.keys(h).reduce((D,a)=>({...D,...i.length>0&&!i.includes(a)?{[a]:h[a]}:{}}),{});return s(Object.keys(y).length>0),y})},[e,s]),L=i=>(h,y)=>{x(i,h,y)},ce=(0,u.useCallback)(L("get"),[x]),B=(0,u.useCallback)(L("post"),[x]),X=(0,u.useCallback)(L("put"),[x]),Z=(0,u.useCallback)(L("patch"),[x]),_=(0,u.useCallback)(L("delete"),[x]),E=(0,u.useCallback)(()=>{c.current&&c.current.cancel()},[]),le=(0,u.useCallback)(i=>{b.current=i},[]);return{data:l,setData:ie,isDirty:!(0,K.isEqual)(l,n),errors:d,hasErrors:f,processing:F,progress:O,wasSuccessful:se,recentlySuccessful:ae,transform:le,setDefaults:pe,reset:ue,setError:G,clearErrors:W,submit:x,get:ce,post:B,put:X,patch:Z,delete:_,cancel:E}}var we=require("@inertiajs/core"),ne=require("react");function ye(t,r={},o={keepAlive:!1,autoStart:!0}){let p=(0,ne.useRef)(we.router.poll(t,r,{...o,autoStart:!1}));return(0,ne.useEffect)(()=>((o.autoStart??!0)&&p.current.start(),()=>p.current.stop()),[]),{stop:p.current.stop,start:p.current.start}}var N=require("@inertiajs/core"),j=require("react");function he(t={}){let r=typeof window>"u"?null:N.router.getCached(window.location.pathname,t),o=typeof window>"u"?null:N.router.getPrefetching(window.location.pathname,t),[p,n]=(0,j.useState)(r?.staleTimestamp||null),[P,c]=(0,j.useState)(o!==null),[m,l]=(0,j.useState)(r!==null);return(0,j.useEffect)(()=>{let g=N.router.on("prefetching",e=>{e.detail.visit.url.pathname===window.location.pathname&&c(!0)}),d=N.router.on("prefetched",e=>{e.detail.visit.url.pathname===window.location.pathname&&(c(!1),l(!0),n(e.detail.fetchedAt))});return()=>{d(),g()}},[]),{lastUpdatedAt:p,isPrefetching:P,isPrefetched:m,flush:()=>N.router.flush(window.location.pathname,t)}}var Oe=require("@inertiajs/core"),R=require("react"),Me=({children:t,data:r,params:o,buffer:p,as:n,always:P,fallback:c})=>{P=P??!1,n=n??"div",c=c??null;let[m,l]=(0,R.useState)(!1),g=(0,R.useRef)(!1),d=(0,R.useRef)(!1),e=(0,R.useRef)(null),f=(0,R.useCallback)(()=>{if(r)return{only:Array.isArray(r)?r:[r]};if(!o)throw new Error("You must provide either a `data` or `params` prop.");return o},[o,r]);return(0,R.useEffect)(()=>{if(!e.current)return;let s=new IntersectionObserver(F=>{if(!F[0].isIntersecting||(!P&&g.current&&s.disconnect(),d.current))return;g.current=!0,d.current=!0;let S=f();Oe.router.reload({...S,onStart:O=>{d.current=!0,S.onStart?.(O)},onFinish:O=>{l(!0),d.current=!1,S.onFinish?.(O),P||s.disconnect()}})},{rootMargin:`${p||0}px`});return s.observe(e.current),()=>{s.disconnect()}},[e,f,p]),P||!m?(0,R.createElement)(n,{props:null,ref:e},m?t:c):m?t:null};Me.displayName="InertiaWhenVisible";var Le=Me;var fe=He.router;
|
|
1
|
+
var $e=Object.create;var te=Object.defineProperty;var We=Object.getOwnPropertyDescriptor;var _e=Object.getOwnPropertyNames;var qe=Object.getPrototypeOf,Je=Object.prototype.hasOwnProperty;var ze=(t,r)=>{for(var o in r)te(t,o,{get:r[o],enumerable:!0})},be=(t,r,o,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of _e(r))!Je.call(t,n)&&n!==o&&te(t,n,{get:()=>r[n],enumerable:!(a=We(r,n))||a.enumerable});return t};var Qe=(t,r,o)=>(o=t!=null?$e(qe(t)):{},be(r||!t||!t.__esModule?te(o,"default",{value:t,enumerable:!0}):o,t)),Ye=t=>be(te({},"__esModule",{value:!0}),t);var Ze={};ze(Ze,{Deferred:()=>Me,Head:()=>Le,Link:()=>Ke,WhenVisible:()=>Ne,createInertiaApp:()=>ge,router:()=>Pe,useForm:()=>Fe,usePage:()=>Y,usePoll:()=>Se,usePrefetch:()=>Te,useRemember:()=>U});module.exports=Ye(Ze);var je=require("@inertiajs/core");var oe=require("@inertiajs/core"),Ee=require("react");var Q=require("@inertiajs/core"),C=require("react");var Ce=require("react"),De=(0,Ce.createContext)(void 0);De.displayName="InertiaHeadContext";var J=De;var Re=require("react"),xe=(0,Re.createContext)(void 0);xe.displayName="InertiaPageContext";var z=xe;var me=!0,Ie=!1,Ae=async()=>{me=!1};function re({children:t,initialPage:r,initialComponent:o,resolveComponent:a,titleCallback:n,onHeadUpdate:m}){let[d,g]=(0,C.useState)({component:o||null,page:r,key:null}),c=(0,C.useMemo)(()=>(0,Q.createHeadManager)(typeof window>"u",n||(l=>l),m||(()=>{})),[]);if(Ie||(Q.router.init({initialPage:r,resolveComponent:a,swapComponent:async l=>Ae(l)}),Ie=!0),(0,C.useEffect)(()=>{Ae=async({component:l,page:e,preserveState:f})=>{if(me){me=!1;return}g(s=>({component:l,page:e,key:f?s.key:Date.now()}))},Q.router.on("navigate",()=>c.forceUpdate())},[]),!d.component)return(0,C.createElement)(J.Provider,{value:c},(0,C.createElement)(z.Provider,{value:d.page},null));let P=t||(({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((F,S)=>(0,C.createElement)(S,{children:F,...e})):s});return(0,C.createElement)(J.Provider,{value:c},(0,C.createElement)(z.Provider,{value:d.page},P({Component:d.component,key:d.key,props:d.page.props})))}re.displayName="Inertia";async function ge({id:t="app",resolve:r,setup:o,title:a,progress:n={},page:m,render:d}){let g=typeof window>"u",c=g?null:document.getElementById(t),P=m||JSON.parse(c.dataset.page),l=s=>Promise.resolve(r(s)).then(F=>F.default||F),e=[],f=await Promise.all([l(P.component),oe.router.decryptHistory().catch(()=>{})]).then(([s])=>o({el:c,App:re,props:{initialPage:P,initialComponent:s,resolveComponent:l,titleCallback:a,onHeadUpdate:g?F=>e=F:null}}));if(!g&&n&&(0,oe.setupProgress)(n),g){let s=await d((0,Ee.createElement)("div",{id:t,"data-page":JSON.stringify(P)},f));return{head:e,body:s}}}var H=require("react");var ke=require("react");function Y(){let t=(0,ke.useContext)(z);if(!t)throw new Error("usePage must be used within the Inertia component");return t}var we=t=>(t=new URL(t.href),t.hash="",t),Ge=(t,r)=>we(t).href===we(r).href,Oe=({children:t,data:r,fallback:o})=>{if(!r)throw new Error("`<Deferred>` requires a `data` prop to be a string or array of strings");let[a,n]=(0,H.useState)(!1),m=Y().props,d=(0,H.useMemo)(()=>Array.isArray(r)?r:[r],[r]);return(0,H.useEffect)(()=>{let g=Pe.on("start",c=>{let P=c.detail.visit.only.length>0||c.detail.visit.except.length>0,l=c.detail.visit.only.find(e=>d.includes(e));Ge(c.detail.visit.url,window.location)&&(!P||l)&&n(!1)});return()=>{g()}},[]),(0,H.useEffect)(()=>{n(d.every(g=>m[g]!==void 0))},[m,d]),a?t:o};Oe.displayName="InertiaDeferred";var Me=Oe;var E=Qe(require("react"),1);var Xe=function({children:t,title:r}){let o=(0,E.useContext)(J),a=(0,E.useMemo)(()=>o.createProvider(),[o]);(0,E.useEffect)(()=>(a.reconnect(),a.update(l(t)),()=>{a.disconnect()}),[a,t,r]);function n(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((s,F)=>{if(["head-key","children","dangerouslySetInnerHTML"].includes(F))return s;let S=e.props[F];return S===""?s+` ${F}`:s+` ${F}="${S}"`},"");return`<${e.type}${f}>`}function d(e){return typeof e.props.children=="string"?e.props.children:e.props.children.reduce((f,s)=>f+g(s),"")}function g(e){let f=m(e);return e.props.children&&(f+=d(e)),e.props.dangerouslySetInnerHTML&&(f+=e.props.dangerouslySetInnerHTML.__html),n(e)||(f+=`</${e.type}>`),f}function c(e){return E.default.cloneElement(e,{inertia:e.props["head-key"]!==void 0?e.props["head-key"]:""})}function P(e){return g(c(e))}function l(e){let f=E.default.Children.toArray(e).filter(s=>s).map(s=>P(s));return r&&!f.find(s=>s.startsWith("<title"))&&f.push(`<title inertia>${r}</title>`),f}return null},Le=Xe;var x=require("@inertiajs/core"),v=require("react"),k=()=>{},He=(0,v.forwardRef)(({children:t,as:r="a",data:o={},href:a,method:n="get",preserveScroll:m=!1,preserveState:d=null,replace:g=!1,only:c=[],except:P=[],headers:l={},queryStringArrayFormat:e="brackets",async:f=!1,onClick:s=k,onCancelToken:F=k,onBefore:S=k,onStart:M=k,onProgress:L=k,onFinish:ae=k,onCancel:G=k,onSuccess:ie=k,onError:$=k,prefetch:b=!1,cacheFor:B=0,...I},pe)=>{let[X,W]=(0,v.useState)(0),_=(0,v.useRef)(null);r=r.toLowerCase(),n=typeof a=="object"?a.method:n.toLowerCase();let[ue,ce]=(0,x.mergeDataIntoQueryString)(n,typeof a=="object"?a.url:a||"",o,e),V=ue;o=ce;let w={data:o,method:n,preserveScroll:m,preserveState:d??n!=="get",replace:g,only:c,except:P,headers:l,async:f},Z={...w,onCancelToken:F,onBefore:S,onStart(u){W(y=>y+1),M(u)},onProgress:L,onFinish(u){W(y=>y-1),ae(u)},onCancel:G,onSuccess:ie,onError:$},q=()=>{x.router.prefetch(V,w,{cacheFor:le})},A=(0,v.useMemo)(()=>b===!0?["hover"]:b===!1?[]:Array.isArray(b)?b:[b],Array.isArray(b)?b:[b]),le=(0,v.useMemo)(()=>B!==0?B:A.length===1&&A[0]==="click"?0:3e4,[B,A]);(0,v.useEffect)(()=>()=>{clearTimeout(_.current)},[]),(0,v.useEffect)(()=>{A.includes("mount")&&setTimeout(()=>q())},A);let ee={onClick:u=>{s(u),(0,x.shouldIntercept)(u)&&(u.preventDefault(),x.router.visit(V,Z))}},de={onMouseEnter:()=>{_.current=window.setTimeout(()=>{q()},75)},onMouseLeave:()=>{clearTimeout(_.current)},onClick:ee.onClick},fe={onMouseDown:u=>{(0,x.shouldIntercept)(u)&&(u.preventDefault(),q())},onMouseUp:u=>{u.preventDefault(),x.router.visit(V,Z)},onClick:u=>{s(u),(0,x.shouldIntercept)(u)&&u.preventDefault()}};return n!=="get"&&(r="button"),(0,v.createElement)(r,{...I,...{a:{href:V},button:{type:"button"}}[r]||{},ref:pe,...A.includes("hover")?de:A.includes("click")?fe:ee,"data-loading":X>0?"":void 0},t)});He.displayName="InertiaLink";var Ke=He;var he=require("@inertiajs/core"),K=require("es-toolkit"),O=require("es-toolkit/compat"),p=require("react");var ye=require("@inertiajs/core"),ne=require("react");function U(t,r){let[o,a]=(0,ne.useState)(()=>{let n=ye.router.restore(r);return n!==void 0?n:t});return(0,ne.useEffect)(()=>{ye.router.remember(o,r)},[o,r]),[o,a]}function Fe(t,r){let o=(0,p.useRef)(null),a=typeof t=="string"?t:null,[n,m]=(0,p.useState)((typeof t=="string"?r:t)||{}),d=(0,p.useRef)(null),g=(0,p.useRef)(null),[c,P]=a?U(n,`${a}:data`):(0,p.useState)(n),[l,e]=a?U({},`${a}:errors`):(0,p.useState)({}),[f,s]=(0,p.useState)(!1),[F,S]=(0,p.useState)(!1),[M,L]=(0,p.useState)(null),[ae,G]=(0,p.useState)(!1),[ie,$]=(0,p.useState)(!1),b=(0,p.useRef)(i=>i),B=(0,p.useMemo)(()=>!(0,K.isEqual)(c,n),[c,n]);(0,p.useEffect)(()=>(o.current=!0,()=>{o.current=!1}),[]);let I=(0,p.useCallback)((...i)=>{let u=typeof i[0]=="object",y=u?i[0].method:i[0],R=u?i[0].url:i[1],h=(u?i[1]:i[2])??{},ve={...h,onCancelToken:T=>{if(d.current=T,h.onCancelToken)return h.onCancelToken(T)},onBefore:T=>{if(G(!1),$(!1),clearTimeout(g.current),h.onBefore)return h.onBefore(T)},onStart:T=>{if(S(!0),h.onStart)return h.onStart(T)},onProgress:T=>{if(L(T),h.onProgress)return h.onProgress(T)},onSuccess:T=>{if(o.current&&(S(!1),L(null),e({}),s(!1),G(!0),$(!0),m((0,K.cloneDeep)(c)),g.current=setTimeout(()=>{o.current&&$(!1)},2e3)),h.onSuccess)return h.onSuccess(T)},onError:T=>{if(o.current&&(S(!1),L(null),e(T),s(!0)),h.onError)return h.onError(T)},onCancel:()=>{if(o.current&&(S(!1),L(null)),h.onCancel)return h.onCancel()},onFinish:T=>{if(o.current&&(S(!1),L(null)),d.current=null,h.onFinish)return h.onFinish(T)}};y==="delete"?he.router.delete(R,{...ve,data:b.current(c)}):he.router[y](R,b.current(c),ve)},[c,e,b]),pe=(0,p.useCallback)((i,u)=>{P(typeof i=="string"?y=>(0,O.set)((0,K.cloneDeep)(y),i,u):typeof i=="function"?y=>i(y):i)},[P]),[X,W]=(0,p.useState)(!1),_=(0,p.useCallback)((i,u)=>{typeof i>"u"?(m(c),W(!0)):m(y=>typeof i=="string"?(0,O.set)((0,K.cloneDeep)(y),i,u):Object.assign((0,K.cloneDeep)(y),i))},[c,m]);(0,p.useLayoutEffect)(()=>{X&&(B&&m(c),W(!1))},[X]);let ue=(0,p.useCallback)((...i)=>{i.length===0?P(n):P(u=>i.filter(y=>(0,O.has)(n,y)).reduce((y,R)=>(0,O.set)(y,R,(0,O.get)(n,R)),{...u}))},[P,n]),ce=(0,p.useCallback)((i,u)=>{e(y=>{let R={...y,...typeof i=="string"?{[i]:u}:i};return s(Object.keys(R).length>0),R})},[e,s]),V=(0,p.useCallback)((...i)=>{e(u=>{let y=Object.keys(u).reduce((R,h)=>({...R,...i.length>0&&!i.includes(h)?{[h]:u[h]}:{}}),{});return s(Object.keys(y).length>0),y})},[e,s]),w=i=>(u,y)=>{I(i,u,y)},Z=(0,p.useCallback)(w("get"),[I]),q=(0,p.useCallback)(w("post"),[I]),A=(0,p.useCallback)(w("put"),[I]),le=(0,p.useCallback)(w("patch"),[I]),ee=(0,p.useCallback)(w("delete"),[I]),de=(0,p.useCallback)(()=>{d.current&&d.current.cancel()},[]),fe=(0,p.useCallback)(i=>{b.current=i},[]);return{data:c,setData:pe,isDirty:B,errors:l,hasErrors:f,processing:F,progress:M,wasSuccessful:ae,recentlySuccessful:ie,transform:fe,setDefaults:_,reset:ue,setError:ce,clearErrors:V,submit:I,get:Z,post:q,put:A,patch:le,delete:ee,cancel:de}}var Be=require("@inertiajs/core"),se=require("react");function Se(t,r={},o={keepAlive:!1,autoStart:!0}){let a=(0,se.useRef)(Be.router.poll(t,r,{...o,autoStart:!1}));return(0,se.useEffect)(()=>((o.autoStart??!0)&&a.current.start(),()=>a.current.stop()),[]),{stop:a.current.stop,start:a.current.start}}var N=require("@inertiajs/core"),j=require("react");function Te(t={}){let r=typeof window>"u"?null:N.router.getCached(window.location.pathname,t),o=typeof window>"u"?null:N.router.getPrefetching(window.location.pathname,t),[a,n]=(0,j.useState)(r?.staleTimestamp||null),[m,d]=(0,j.useState)(o!==null),[g,c]=(0,j.useState)(r!==null);return(0,j.useEffect)(()=>{let P=N.router.on("prefetching",e=>{e.detail.visit.url.pathname===window.location.pathname&&d(!0)}),l=N.router.on("prefetched",e=>{e.detail.visit.url.pathname===window.location.pathname&&(d(!1),c(!0),n(e.detail.fetchedAt))});return()=>{l(),P()}},[]),{lastUpdatedAt:a,isPrefetching:m,isPrefetched:g,flush:()=>N.router.flush(window.location.pathname,t)}}var Ve=require("@inertiajs/core"),D=require("react"),Ue=({children:t,data:r,params:o,buffer:a,as:n,always:m,fallback:d})=>{m=m??!1,n=n??"div",d=d??null;let[g,c]=(0,D.useState)(!1),P=(0,D.useRef)(!1),l=(0,D.useRef)(!1),e=(0,D.useRef)(null),f=(0,D.useCallback)(()=>{if(r)return{only:Array.isArray(r)?r:[r]};if(!o)throw new Error("You must provide either a `data` or `params` prop.");return o},[o,r]);return(0,D.useEffect)(()=>{if(!e.current)return;let s=new IntersectionObserver(F=>{if(!F[0].isIntersecting||(!m&&P.current&&s.disconnect(),l.current))return;P.current=!0,l.current=!0;let S=f();Ve.router.reload({...S,onStart:M=>{l.current=!0,S.onStart?.(M)},onFinish:M=>{c(!0),l.current=!1,S.onFinish?.(M),m||s.disconnect()}})},{rootMargin:`${a||0}px`});return s.observe(e.current),()=>{s.disconnect()}},[e,f,a]),m||!g?(0,D.createElement)(n,{props:null,ref:e},g?t:d):g?t:null};Ue.displayName="InertiaWhenVisible";var Ne=Ue;var Pe=je.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, useMemo, useState } from 'react'\nimport { router } from '.'\nimport usePage from './usePage'\n\nconst urlWithoutHash = (url: URL | Location): URL => {\n url = new URL(url.href)\n url.hash = ''\n\n return url\n}\n\nconst isSameUrlWithoutHash = (url1: URL | Location, url2: URL | Location): boolean => {\n return urlWithoutHash(url1).href === urlWithoutHash(url2).href\n}\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 = useMemo(() => (Array.isArray(data) ? data : [data]), [data])\n\n useEffect(() => {\n const removeListener = router.on('start', (e) => {\n const isPartialVisit = e.detail.visit.only.length > 0 || e.detail.visit.except.length > 0\n const isReloadingKey = e.detail.visit.only.find((key) => keys.includes(key))\n\n if (isSameUrlWithoutHash(e.detail.visit.url, window.location) && (!isPartialVisit || isReloadingKey)) {\n setLoaded(false)\n }\n })\n\n return () => {\n removeListener()\n }\n }, [])\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 {\n FormDataConvertible,\n FormDataKeys,\n FormDataValues,\n Method,\n Progress,\n router,\n VisitOptions,\n} from '@inertiajs/core'\nimport { cloneDeep, isEqual } from 'es-toolkit'\nimport { get, has, set } from 'es-toolkit/compat'\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 extends Record<any, any>> = <K extends FormDataKeys<TForm>>(key: K, value: FormDataValues<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<FormDataKeys<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: FormDataKeys<TForm>, value: FormDataConvertible): void\n setDefaults(fields: Partial<TForm>): void\n reset: (...fields: FormDataKeys<TForm>[]) => void\n clearErrors: (...fields: FormDataKeys<TForm>[]) => void\n setError(field: FormDataKeys<TForm>, value: string): void\n setError(errors: Record<FormDataKeys<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<FormDataKeys<TForm>, string>>, `${rememberKey}:errors`)\n : useState({} as Partial<Record<FormDataKeys<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: FormDataKeys<TForm> | Function | TForm, maybeValue?: any) => {\n if (typeof keyOrData === 'string') {\n setData((data) => set(cloneDeep(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?: FormDataKeys<TForm> | Partial<TForm>, maybeValue?: FormDataConvertible) => {\n if (typeof fieldOrFields === 'undefined') {\n setDefaults(() => data)\n } else {\n setDefaults((defaults) => {\n return typeof fieldOrFields === 'string'\n ? set(cloneDeep(defaults), fieldOrFields, maybeValue)\n : Object.assign(cloneDeep(defaults), fieldOrFields)\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 (fields as Array<FormDataKeys<TForm>>)\n .filter((key) => has(defaults, key))\n .reduce(\n (carry, key) => {\n return set(carry, key, get(defaults, key))\n },\n { ...data } as TForm,\n ),\n )\n }\n },\n [setData, defaults],\n )\n\n const setError = useCallback(\n (fieldOrFields: FormDataKeys<TForm> | Record<FormDataKeys<TForm>, string>, maybeValue?: string) => {\n setErrors((errors) => {\n const newErrors = {\n ...errors,\n ...(typeof fieldOrFields === 'string'\n ? { [fieldOrFields]: maybeValue }\n : (fieldOrFields as Record<FormDataKeys<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<FormDataKeys<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 getMethod = 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: getMethod,\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", "urlWithoutHash", "url", "isSameUrlWithoutHash", "url1", "url2", "Deferred", "children", "data", "fallback", "loaded", "setLoaded", "pageProps", "usePage", "keys", "removeListener", "router", "e", "isPartialVisit", "isReloadingKey", "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", "
|
|
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, SetDataByObject, SetDataByMethod, SetDataByKeyValuePair, SetDataAction, 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, PageHandler, router } from '@inertiajs/core'\nimport { createElement, useEffect, useMemo, useState } from 'react'\nimport HeadContext from './HeadContext'\nimport PageContext from './PageContext'\n\nlet currentIsInitialPage = true\nlet routerIsInitialized = false\nlet swapComponent: PageHandler = async () => {\n // Dummy function so we can init the router outside of the useEffect hook. This is\n // needed so `router.reload()` works right away (on mount) in any of the user's\n // components. We swap in the real function in the useEffect hook below.\n currentIsInitialPage = false\n}\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 if (!routerIsInitialized) {\n router.init({\n initialPage,\n resolveComponent,\n swapComponent: async (args) => swapComponent(args),\n })\n\n routerIsInitialized = true\n }\n\n useEffect(() => {\n swapComponent = async ({ component, page, preserveState }) => {\n if (currentIsInitialPage) {\n // We block setting the current page on the initial page to\n // prevent the initial page from being re-rendered again.\n currentIsInitialPage = false\n return\n }\n\n setCurrent((current) => ({\n component,\n page,\n key: preserveState ? current.key : Date.now(),\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, useMemo, useState } from 'react'\nimport { router } from '.'\nimport usePage from './usePage'\n\nconst urlWithoutHash = (url: URL | Location): URL => {\n url = new URL(url.href)\n url.hash = ''\n\n return url\n}\n\nconst isSameUrlWithoutHash = (url1: URL | Location, url2: URL | Location): boolean => {\n return urlWithoutHash(url1).href === urlWithoutHash(url2).href\n}\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 = useMemo(() => (Array.isArray(data) ? data : [data]), [data])\n\n useEffect(() => {\n const removeListener = router.on('start', (e) => {\n const isPartialVisit = e.detail.visit.only.length > 0 || e.detail.visit.except.length > 0\n const isReloadingKey = e.detail.visit.only.find((key) => keys.includes(key))\n\n if (isSameUrlWithoutHash(e.detail.visit.url, window.location) && (!isPartialVisit || isReloadingKey)) {\n setLoaded(false)\n }\n })\n\n return () => {\n removeListener()\n }\n }, [])\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 provider.reconnect()\n provider.update(renderNodes(children))\n return () => {\n provider.disconnect()\n }\n }, [provider, children, title])\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 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 {\n FormDataConvertible,\n FormDataKeys,\n FormDataValues,\n Method,\n Progress,\n router,\n VisitOptions,\n} from '@inertiajs/core'\nimport { cloneDeep, isEqual } from 'es-toolkit'\nimport { get, has, set } from 'es-toolkit/compat'\nimport { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react'\nimport useRemember from './useRemember'\n\nexport type SetDataByObject<TForm> = (data: TForm) => void\nexport type SetDataByMethod<TForm> = (data: (previousData: TForm) => TForm) => void\nexport type SetDataByKeyValuePair<TForm extends Record<any, any>> = <K extends FormDataKeys<TForm>>(key: K, value: FormDataValues<TForm, K>) => void\nexport type SetDataAction<TForm> = SetDataByObject<TForm> & SetDataByMethod<TForm> & SetDataByKeyValuePair<TForm>\n\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<FormDataKeys<TForm>, string>>\n hasErrors: boolean\n processing: boolean\n progress: Progress | null\n wasSuccessful: boolean\n recentlySuccessful: boolean\n setData: SetDataAction<TForm>\n transform: (callback: (data: TForm) => object) => void\n setDefaults(): void\n setDefaults(field: FormDataKeys<TForm>, value: FormDataConvertible): void\n setDefaults(fields: Partial<TForm>): void\n reset: (...fields: FormDataKeys<TForm>[]) => void\n clearErrors: (...fields: FormDataKeys<TForm>[]) => void\n setError(field: FormDataKeys<TForm>, value: string): void\n setError(errors: Record<FormDataKeys<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<FormDataKeys<TForm>, string>>, `${rememberKey}:errors`)\n : useState({} as Partial<Record<FormDataKeys<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 const isDirty = useMemo(() => !isEqual(data, defaults), [data, defaults])\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: FormDataKeys<TForm> | Function | TForm, maybeValue?: any) => {\n if (typeof keyOrData === 'string') {\n setData((data) => set(cloneDeep(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 [dataAsDefaults, setDataAsDefaults] = useState(false)\n\n const setDefaultsFunction = useCallback(\n (fieldOrFields?: FormDataKeys<TForm> | Partial<TForm>, maybeValue?: FormDataConvertible) => {\n if (typeof fieldOrFields === 'undefined') {\n setDefaults(data)\n // If setData was called right before setDefaults, data was not\n // updated in that render yet, so we set a flag to update\n // defaults right after the next render.\n setDataAsDefaults(true)\n } else {\n setDefaults((defaults) => {\n return typeof fieldOrFields === 'string'\n ? set(cloneDeep(defaults), fieldOrFields, maybeValue)\n : Object.assign(cloneDeep(defaults), fieldOrFields)\n })\n }\n },\n [data, setDefaults],\n )\n \n useLayoutEffect(() => {\n if (!dataAsDefaults) {\n return\n }\n\n if (isDirty) {\n // Data has been updated in this next render and is different from\n // the defaults, so now we can set defaults to the current data.\n setDefaults(data)\n }\n\n setDataAsDefaults(false)\n }, [dataAsDefaults])\n\n const reset = useCallback(\n (...fields) => {\n if (fields.length === 0) {\n setData(defaults)\n } else {\n setData((data) =>\n (fields as Array<FormDataKeys<TForm>>)\n .filter((key) => has(defaults, key))\n .reduce(\n (carry, key) => {\n return set(carry, key, get(defaults, key))\n },\n { ...data } as TForm,\n ),\n )\n }\n },\n [setData, defaults],\n )\n\n const setError = useCallback(\n (fieldOrFields: FormDataKeys<TForm> | Record<FormDataKeys<TForm>, string>, maybeValue?: string) => {\n setErrors((errors) => {\n const newErrors = {\n ...errors,\n ...(typeof fieldOrFields === 'string'\n ? { [fieldOrFields]: maybeValue }\n : (fieldOrFields as Record<FormDataKeys<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<FormDataKeys<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 getMethod = 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,\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: getMethod,\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", "currentIsInitialPage", "routerIsInitialized", "swapComponent", "App", "children", "initialPage", "initialComponent", "resolveComponent", "titleCallback", "onHeadUpdate", "current", "setCurrent", "headManager", "title", "args", "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", "urlWithoutHash", "url", "isSameUrlWithoutHash", "url1", "url2", "Deferred", "children", "data", "fallback", "loaded", "setLoaded", "pageProps", "usePage", "keys", "removeListener", "router", "e", "isPartialVisit", "isReloadingKey", "key", "Deferred_default", "import_react", "Head", "children", "title", "headManager", "HeadContext_default", "provider", "renderNodes", "isUnaryTag", "node", "renderTagStart", "attrs", "carry", "name", "value", "renderTagChildren", "html", "child", "renderTag", "ensureNodeHasInertiaProp", "React", "renderNode", "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_es_toolkit", "import_compat", "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", "isDirty", "submit", "args", "objectPassed", "method", "url", "options", "_options", "token", "visit", "event", "page", "setDataFunction", "keyOrData", "maybeValue", "dataAsDefaults", "setDataAsDefaults", "setDefaultsFunction", "fieldOrFields", "reset", "fields", "key", "carry", "setError", "newErrors", "clearErrors", "field", "createSubmitMethod", "getMethod", "post", "put", "patch", "deleteMethod", "cancel", "transformFunction", "callback", "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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inertiajs/react",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.13",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "The React adapter for Inertia.js",
|
|
6
6
|
"contributors": [
|
|
@@ -59,7 +59,7 @@
|
|
|
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.
|
|
62
|
+
"@inertiajs/core": "2.0.13",
|
|
63
63
|
"es-toolkit": "^1.33.0"
|
|
64
64
|
}
|
|
65
65
|
}
|
package/types/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export { default as createInertiaApp } from './createInertiaApp';
|
|
|
3
3
|
export { default as Deferred } from './Deferred';
|
|
4
4
|
export { default as Head } from './Head';
|
|
5
5
|
export { InertiaLinkProps, default as Link } from './Link';
|
|
6
|
-
export { InertiaFormProps, default as useForm } from './useForm';
|
|
6
|
+
export { InertiaFormProps, SetDataByObject, SetDataByMethod, SetDataByKeyValuePair, SetDataAction, default as useForm } from './useForm';
|
|
7
7
|
export { default as usePage } from './usePage';
|
|
8
8
|
export { default as usePoll } from './usePoll';
|
|
9
9
|
export { default as usePrefetch } from './usePrefetch';
|
package/types/useForm.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { FormDataConvertible, FormDataKeys, FormDataValues, Method, Progress, VisitOptions } from '@inertiajs/core';
|
|
2
|
-
type SetDataByObject<TForm> = (data: TForm) => void;
|
|
3
|
-
type SetDataByMethod<TForm> = (data: (previousData: TForm) => TForm) => void;
|
|
4
|
-
type SetDataByKeyValuePair<TForm extends Record<any, any>> = <K extends FormDataKeys<TForm>>(key: K, value: FormDataValues<TForm, K>) => void;
|
|
2
|
+
export type SetDataByObject<TForm> = (data: TForm) => void;
|
|
3
|
+
export type SetDataByMethod<TForm> = (data: (previousData: TForm) => TForm) => void;
|
|
4
|
+
export type SetDataByKeyValuePair<TForm extends Record<any, any>> = <K extends FormDataKeys<TForm>>(key: K, value: FormDataValues<TForm, K>) => void;
|
|
5
|
+
export type SetDataAction<TForm> = SetDataByObject<TForm> & SetDataByMethod<TForm> & SetDataByKeyValuePair<TForm>;
|
|
5
6
|
type FormDataType = Record<string, FormDataConvertible>;
|
|
6
7
|
type FormOptions = Omit<VisitOptions, 'data'>;
|
|
7
8
|
export interface InertiaFormProps<TForm extends FormDataType> {
|
|
@@ -13,7 +14,7 @@ export interface InertiaFormProps<TForm extends FormDataType> {
|
|
|
13
14
|
progress: Progress | null;
|
|
14
15
|
wasSuccessful: boolean;
|
|
15
16
|
recentlySuccessful: boolean;
|
|
16
|
-
setData:
|
|
17
|
+
setData: SetDataAction<TForm>;
|
|
17
18
|
transform: (callback: (data: TForm) => object) => void;
|
|
18
19
|
setDefaults(): void;
|
|
19
20
|
setDefaults(field: FormDataKeys<TForm>, value: FormDataConvertible): void;
|