@inertiajs/react
Advanced tools
Comparing version
@@ -1,2 +0,2 @@ | ||
import{router as ct}from"@inertiajs/core";import{router as ke,setupProgress as Ae}from"@inertiajs/core";import{createElement as Oe}from"react";import{createHeadManager as De,router as ue}from"@inertiajs/core";import{createElement as w,useEffect as xe,useMemo as Ie,useState as Ee}from"react";import{createContext as Ce}from"react";var ie=Ce(void 0);ie.displayName="InertiaHeadContext";var K=ie;import{createContext as Re}from"react";var pe=Re(void 0);pe.displayName="InertiaPageContext";var B=pe;function _({children:p,initialPage:n,initialComponent:s,resolveComponent:i,titleCallback:a,onHeadUpdate:g}){let[u,f]=Ee({component:s||null,page:n,key:null}),c=Ie(()=>De(typeof window>"u",a||(l=>l),g||(()=>{})),[]);if(xe(()=>{ue.init({initialPage:n,resolveComponent:i,swapComponent:async({component:l,page:e,preserveState:d})=>{f(t=>({component:l,page:e,key:d?t.key:Date.now()}))}}),ue.on("navigate",()=>c.forceUpdate())},[]),!u.component)return w(K.Provider,{value:c},w(B.Provider,{value:u.page},null));let m=p||(({Component:l,props:e,key:d})=>{let t=w(l,{key:d,...e});return typeof l.layout=="function"?l.layout(t):Array.isArray(l.layout)?l.layout.concat(t).reverse().reduce((h,F)=>w(F,{children:h,...e})):t});return w(K.Provider,{value:c},w(B.Provider,{value:u.page},m({Component:u.component,key:u.key,props:u.page.props})))}_.displayName="Inertia";async function ce({id:p="app",resolve:n,setup:s,title:i,progress:a={},page:g,render:u}){let f=typeof window>"u",c=f?null:document.getElementById(p),m=g||JSON.parse(c.dataset.page),l=t=>Promise.resolve(n(t)).then(h=>h.default||h),e=[],d=await Promise.all([l(m.component),ke.decryptHistory().catch(()=>{})]).then(([t])=>s({el:c,App:_,props:{initialPage:m,initialComponent:t,resolveComponent:l,titleCallback:i,onHeadUpdate:f?h=>e=h:null}}));if(!f&&a&&Ae(a),f){let t=await u(Oe("div",{id:p,"data-page":JSON.stringify(m)},d));return{head:e,body:t}}}import{useEffect as le,useMemo as Me,useState as Le}from"react";import{useContext as we}from"react";function q(){let p=we(B);if(!p)throw new Error("usePage must be used within the Inertia component");return p}var de=({children:p,data:n,fallback:s})=>{if(!n)throw new Error("`<Deferred>` requires a `data` prop to be a string or array of strings");let[i,a]=Le(!1),g=q().props,u=Me(()=>Array.isArray(n)?n:[n],[n]);return le(()=>{let f=fe.on("start",c=>{(c.detail.visit.only.length===0&&c.detail.visit.except.length===0||c.detail.visit.only.find(m=>u.includes(m)))&&a(!1)});return()=>{f()}},[]),le(()=>{a(u.every(f=>g[f]!==void 0))},[g,u]),i?p:s};de.displayName="InertiaDeferred";var He=de;import me,{useContext as Ke,useEffect as Be,useMemo as Ve}from"react";var Ne=function({children:p,title:n}){let s=Ke(K),i=Ve(()=>s.createProvider(),[s]);Be(()=>()=>{i.disconnect()},[i]);function a(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((t,h)=>{if(["head-key","children","dangerouslySetInnerHTML"].includes(h))return t;let F=e.props[h];return F===""?t+` ${h}`:t+` ${h}="${F}"`},"");return`<${e.type}${d}>`}function u(e){return typeof e.props.children=="string"?e.props.children:e.props.children.reduce((d,t)=>d+f(t),"")}function f(e){let d=g(e);return e.props.children&&(d+=u(e)),e.props.dangerouslySetInnerHTML&&(d+=e.props.dangerouslySetInnerHTML.__html),a(e)||(d+=`</${e.type}>`),d}function c(e){return me.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=me.Children.toArray(e).filter(t=>t).map(t=>m(t));return n&&!d.find(t=>t.startsWith("<title"))&&d.push(`<title inertia>${n}</title>`),d}return i.update(l(p)),null},je=Ne;import{mergeDataIntoQueryString as Ue,router as re,shouldIntercept as oe}from"@inertiajs/core";import{createElement as $e,forwardRef as We,useEffect as ge,useMemo as Pe,useRef as _e,useState as qe}from"react";var D=()=>{},ye=We(({children:p,as:n="a",data:s={},href:i,method:a="get",preserveScroll:g=!1,preserveState:u=null,replace:f=!1,only:c=[],except:m=[],headers:l={},queryStringArrayFormat:e="brackets",async:d=!1,onClick:t=D,onCancelToken:h=D,onBefore:F=D,onStart:I=D,onProgress:E=D,onFinish:Y=D,onCancel:j=D,onSuccess:z=D,onError:M=D,prefetch:T=!1,cacheFor:b=0,...G},X)=>{let[Z,U]=qe(0),L=_e(null);n=n.toLowerCase(),a=typeof i=="object"?i.method:a.toLowerCase();let[k,ee]=Ue(a,typeof i=="object"?i.url:i||"",s,e),A=k;s=ee;let $={data:s,method:a,preserveScroll:g,preserveState:u??a!=="get",replace:f,only:c,except:m,headers:l,async:d},W={...$,onCancelToken:h,onBefore:F,onStart(r){U(O=>O+1),I(r)},onProgress:E,onFinish(r){U(O=>O-1),Y(r)},onCancel:j,onSuccess:z,onError:M},H=()=>{re.prefetch(A,$,{cacheFor:te})},R=Pe(()=>T===!0?["hover"]:T===!1?[]:Array.isArray(T)?T:[T],Array.isArray(T)?T:[T]),te=Pe(()=>b!==0?b:R.length===1&&R[0]==="click"?0:3e4,[b,R]);ge(()=>()=>{clearTimeout(L.current)},[]),ge(()=>{R.includes("mount")&&setTimeout(()=>H())},R);let o={onClick:r=>{t(r),oe(r)&&(r.preventDefault(),re.visit(A,W))}},y={onMouseEnter:()=>{L.current=window.setTimeout(()=>{H()},75)},onMouseLeave:()=>{clearTimeout(L.current)},onClick:o.onClick},P={onMouseDown:r=>{oe(r)&&(r.preventDefault(),H())},onMouseUp:r=>{r.preventDefault(),re.visit(A,W)},onClick:r=>{t(r),oe(r)&&r.preventDefault()}};return a!=="get"&&(n="button"),$e(n,{...G,...{a:{href:A},button:{type:"button"}}[n]||{},ref:X,...R.includes("hover")?y:R.includes("click")?P:o,"data-loading":Z>0?"":void 0},p)});ye.displayName="InertiaLink";var Je=ye;import{router as Fe}from"@inertiajs/core";import{cloneDeep as J,isEqual as ze}from"es-toolkit";import{get as Ge,has as Xe,set as ne}from"es-toolkit/compat";import{useCallback as v,useEffect as Ze,useRef as Q,useState as x}from"react";import{router as he}from"@inertiajs/core";import{useEffect as Qe,useState as Ye}from"react";function V(p,n){let[s,i]=Ye(()=>{let a=he.restore(n);return a!==void 0?a:p});return Qe(()=>{he.remember(s,n)},[s,n]),[s,i]}function Se(p,n){let s=Q(null),i=typeof p=="string"?p:null,[a,g]=x((typeof p=="string"?n:p)||{}),u=Q(null),f=Q(null),[c,m]=i?V(a,`${i}:data`):x(a),[l,e]=i?V({},`${i}:errors`):x({}),[d,t]=x(!1),[h,F]=x(!1),[I,E]=x(null),[Y,j]=x(!1),[z,M]=x(!1),T=Q(o=>o);Ze(()=>(s.current=!0,()=>{s.current=!1}),[]);let b=v((...o)=>{let y=typeof o[0]=="object",P=y?o[0].method:o[0],C=y?o[0].url:o[1],r=(y?o[1]:o[2])??{},O={...r,onCancelToken:S=>{if(u.current=S,r.onCancelToken)return r.onCancelToken(S)},onBefore:S=>{if(j(!1),M(!1),clearTimeout(f.current),r.onBefore)return r.onBefore(S)},onStart:S=>{if(F(!0),r.onStart)return r.onStart(S)},onProgress:S=>{if(E(S),r.onProgress)return r.onProgress(S)},onSuccess:S=>{if(s.current&&(F(!1),E(null),e({}),t(!1),j(!0),M(!0),g(J(c)),f.current=setTimeout(()=>{s.current&&M(!1)},2e3)),r.onSuccess)return r.onSuccess(S)},onError:S=>{if(s.current&&(F(!1),E(null),e(S),t(!0)),r.onError)return r.onError(S)},onCancel:()=>{if(s.current&&(F(!1),E(null)),r.onCancel)return r.onCancel()},onFinish:S=>{if(s.current&&(F(!1),E(null)),u.current=null,r.onFinish)return r.onFinish(S)}};P==="delete"?Fe.delete(C,{...O,data:T.current(c)}):Fe[P](C,T.current(c),O)},[c,e,T]),G=v((o,y)=>{m(typeof o=="string"?P=>ne(J(P),o,y):typeof o=="function"?P=>o(P):o)},[m]),X=v((o,y)=>{g(typeof o>"u"?()=>c:P=>typeof o=="string"?ne(J(P),o,y):Object.assign(J(P),o))},[c,g]),Z=v((...o)=>{o.length===0?m(a):m(y=>o.filter(P=>Xe(a,P)).reduce((P,C)=>ne(P,C,Ge(a,C)),{...y}))},[m,a]),U=v((o,y)=>{e(P=>{let C={...P,...typeof o=="string"?{[o]:y}:o};return t(Object.keys(C).length>0),C})},[e,t]),L=v((...o)=>{e(y=>{let P=Object.keys(y).reduce((C,r)=>({...C,...o.length>0&&!o.includes(r)?{[r]:y[r]}:{}}),{});return t(Object.keys(P).length>0),P})},[e,t]),k=o=>(y,P)=>{b(o,y,P)},ee=v(k("get"),[b]),A=v(k("post"),[b]),$=v(k("put"),[b]),W=v(k("patch"),[b]),H=v(k("delete"),[b]),R=v(()=>{u.current&&u.current.cancel()},[]),te=v(o=>{T.current=o},[]);return{data:c,setData:G,isDirty:!ze(c,a),errors:l,hasErrors:d,processing:h,progress:I,wasSuccessful:Y,recentlySuccessful:z,transform:te,setDefaults:X,reset:Z,setError:U,clearErrors:L,submit:b,get:ee,post:A,put:$,patch:W,delete:H,cancel:R}}import{router as et}from"@inertiajs/core";import{useEffect as tt,useRef as rt}from"react";function Te(p,n={},s={keepAlive:!1,autoStart:!0}){let i=rt(et.poll(p,n,{...s,autoStart:!1}));return tt(()=>((s.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 ot,useState as se}from"react";function ve(p={}){let n=typeof window>"u"?null:N.getCached(window.location.pathname,p),s=typeof window>"u"?null:N.getPrefetching(window.location.pathname,p),[i,a]=se(n?.staleTimestamp||null),[g,u]=se(s!==null),[f,c]=se(n!==null);return ot(()=>{let m=N.on("prefetching",e=>{e.detail.visit.url.pathname===window.location.pathname&&u(!0)}),l=N.on("prefetched",e=>{e.detail.visit.url.pathname===window.location.pathname&&(u(!1),c(!0),a(e.detail.fetchedAt))});return()=>{l(),m()}},[]),{lastUpdatedAt:i,isPrefetching:g,isPrefetched:f,flush:()=>N.flush(window.location.pathname,p)}}import{router as nt}from"@inertiajs/core";import{createElement as st,useCallback as at,useEffect as it,useRef as ae,useState as pt}from"react";var be=({children:p,data:n,params:s,buffer:i,as:a,always:g,fallback:u})=>{g=g??!1,a=a??"div",u=u??null;let[f,c]=pt(!1),m=ae(!1),l=ae(!1),e=ae(null),d=at(()=>{if(n)return{only:Array.isArray(n)?n:[n]};if(!s)throw new Error("You must provide either a `data` or `params` prop.");return s},[s,n]);return it(()=>{if(!e.current)return;let t=new IntersectionObserver(h=>{if(!h[0].isIntersecting||(!g&&m.current&&t.disconnect(),l.current))return;m.current=!0,l.current=!0;let F=d();nt.reload({...F,onStart:I=>{l.current=!0,F.onStart?.(I)},onFinish:I=>{c(!0),l.current=!1,F.onFinish?.(I),g||t.disconnect()}})},{rootMargin:`${i||0}px`});return t.observe(e.current),()=>{t.disconnect()}},[e,d,i]),g||!f?st(a,{props:null,ref:e},f?p:u):f?p:null};be.displayName="InertiaWhenVisible";var ut=be;var fe=ct;export{He as Deferred,je as Head,Je as Link,ut as WhenVisible,ce as createInertiaApp,fe as router,Se as useForm,q as usePage,Te as usePoll,ve as usePrefetch,V as useRemember}; | ||
import{router as ct}from"@inertiajs/core";import{router as ke,setupProgress as Ae}from"@inertiajs/core";import{createElement as Oe}from"react";import{createHeadManager as xe,router as ue}from"@inertiajs/core";import{createElement as w,useEffect as De,useMemo as Ie,useState as Ee}from"react";import{createContext as Ce}from"react";var ie=Ce(void 0);ie.displayName="InertiaHeadContext";var K=ie;import{createContext as Re}from"react";var pe=Re(void 0);pe.displayName="InertiaPageContext";var B=pe;function _({children:p,initialPage:n,initialComponent:s,resolveComponent:i,titleCallback:a,onHeadUpdate:g}){let[u,f]=Ee({component:s||null,page:n,key:null}),c=Ie(()=>xe(typeof window>"u",a||(l=>l),g||(()=>{})),[]);if(De(()=>{ue.init({initialPage:n,resolveComponent:i,swapComponent:async({component:l,page:e,preserveState:d})=>{f(t=>({component:l,page:e,key:d?t.key:Date.now()}))}}),ue.on("navigate",()=>c.forceUpdate())},[]),!u.component)return w(K.Provider,{value:c},w(B.Provider,{value:u.page},null));let m=p||(({Component:l,props:e,key:d})=>{let t=w(l,{key:d,...e});return typeof l.layout=="function"?l.layout(t):Array.isArray(l.layout)?l.layout.concat(t).reverse().reduce((h,F)=>w(F,{children:h,...e})):t});return w(K.Provider,{value:c},w(B.Provider,{value:u.page},m({Component:u.component,key:u.key,props:u.page.props})))}_.displayName="Inertia";async function ce({id:p="app",resolve:n,setup:s,title:i,progress:a={},page:g,render:u}){let f=typeof window>"u",c=f?null:document.getElementById(p),m=g||JSON.parse(c.dataset.page),l=t=>Promise.resolve(n(t)).then(h=>h.default||h),e=[],d=await Promise.all([l(m.component),ke.decryptHistory().catch(()=>{})]).then(([t])=>s({el:c,App:_,props:{initialPage:m,initialComponent:t,resolveComponent:l,titleCallback:i,onHeadUpdate:f?h=>e=h:null}}));if(!f&&a&&Ae(a),f){let t=await u(Oe("div",{id:p,"data-page":JSON.stringify(m)},d));return{head:e,body:t}}}import{useEffect as le,useMemo as Me,useState as Le}from"react";import{useContext as we}from"react";function q(){let p=we(B);if(!p)throw new Error("usePage must be used within the Inertia component");return p}var de=({children:p,data:n,fallback:s})=>{if(!n)throw new Error("`<Deferred>` requires a `data` prop to be a string or array of strings");let[i,a]=Le(!1),g=q().props,u=Me(()=>Array.isArray(n)?n:[n],[n]);return le(()=>{let f=fe.on("start",c=>{(c.detail.visit.only.length===0&&c.detail.visit.except.length===0||c.detail.visit.only.find(m=>u.includes(m)))&&a(!1)});return()=>{f()}},[]),le(()=>{a(u.every(f=>g[f]!==void 0))},[g,u]),i?p:s};de.displayName="InertiaDeferred";var He=de;import me,{useContext as Ke,useEffect as Be,useMemo as Ve}from"react";var Ne=function({children:p,title:n}){let s=Ke(K),i=Ve(()=>s.createProvider(),[s]);Be(()=>()=>{i.disconnect()},[i]);function a(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((t,h)=>{if(["head-key","children","dangerouslySetInnerHTML"].includes(h))return t;let F=e.props[h];return F===""?t+` ${h}`:t+` ${h}="${F}"`},"");return`<${e.type}${d}>`}function u(e){return typeof e.props.children=="string"?e.props.children:e.props.children.reduce((d,t)=>d+f(t),"")}function f(e){let d=g(e);return e.props.children&&(d+=u(e)),e.props.dangerouslySetInnerHTML&&(d+=e.props.dangerouslySetInnerHTML.__html),a(e)||(d+=`</${e.type}>`),d}function c(e){return me.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=me.Children.toArray(e).filter(t=>t).map(t=>m(t));return n&&!d.find(t=>t.startsWith("<title"))&&d.push(`<title inertia>${n}</title>`),d}return i.update(l(p)),null},je=Ne;import{mergeDataIntoQueryString as Ue,router as re,shouldIntercept as oe}from"@inertiajs/core";import{createElement as $e,forwardRef as We,useEffect as ge,useMemo as Pe,useRef as _e,useState as qe}from"react";var x=()=>{},ye=We(({children:p,as:n="a",data:s={},href:i,method:a="get",preserveScroll:g=!1,preserveState:u=null,replace:f=!1,only:c=[],except:m=[],headers:l={},queryStringArrayFormat:e="brackets",async:d=!1,onClick:t=x,onCancelToken:h=x,onBefore:F=x,onStart:I=x,onProgress:E=x,onFinish:Y=x,onCancel:j=x,onSuccess:z=x,onError:M=x,prefetch:T=!1,cacheFor:b=0,...G},X)=>{let[Z,U]=qe(0),L=_e(null);n=n.toLowerCase(),a=typeof i=="object"?i.method:a.toLowerCase();let[k,ee]=Ue(a,typeof i=="object"?i.url:i||"",s,e),A=k;s=ee;let $={data:s,method:a,preserveScroll:g,preserveState:u??a!=="get",replace:f,only:c,except:m,headers:l,async:d},W={...$,onCancelToken:h,onBefore:F,onStart(r){U(O=>O+1),I(r)},onProgress:E,onFinish(r){U(O=>O-1),Y(r)},onCancel:j,onSuccess:z,onError:M},H=()=>{re.prefetch(A,$,{cacheFor:te})},R=Pe(()=>T===!0?["hover"]:T===!1?[]:Array.isArray(T)?T:[T],Array.isArray(T)?T:[T]),te=Pe(()=>b!==0?b:R.length===1&&R[0]==="click"?0:3e4,[b,R]);ge(()=>()=>{clearTimeout(L.current)},[]),ge(()=>{R.includes("mount")&&setTimeout(()=>H())},R);let o={onClick:r=>{t(r),oe(r)&&(r.preventDefault(),re.visit(A,W))}},y={onMouseEnter:()=>{L.current=window.setTimeout(()=>{H()},75)},onMouseLeave:()=>{clearTimeout(L.current)},onClick:o.onClick},P={onMouseDown:r=>{oe(r)&&(r.preventDefault(),H())},onMouseUp:r=>{r.preventDefault(),re.visit(A,W)},onClick:r=>{t(r),oe(r)&&r.preventDefault()}};return a!=="get"&&(n="button"),$e(n,{...G,...{a:{href:A},button:{type:"button"}}[n]||{},ref:X,...R.includes("hover")?y:R.includes("click")?P:o,"data-loading":Z>0?"":void 0},p)});ye.displayName="InertiaLink";var Je=ye;import{router as Fe}from"@inertiajs/core";import{cloneDeep as J,isEqual as ze}from"es-toolkit";import{get as Ge,has as Xe,set as ne}from"es-toolkit/compat";import{useCallback as v,useEffect as Ze,useRef as Q,useState as D}from"react";import{router as he}from"@inertiajs/core";import{useEffect as Qe,useState as Ye}from"react";function V(p,n){let[s,i]=Ye(()=>{let a=he.restore(n);return a!==void 0?a:p});return Qe(()=>{he.remember(s,n)},[s,n]),[s,i]}function Se(p,n){let s=Q(null),i=typeof p=="string"?p:null,[a,g]=D((typeof p=="string"?n:p)||{}),u=Q(null),f=Q(null),[c,m]=i?V(a,`${i}:data`):D(a),[l,e]=i?V({},`${i}:errors`):D({}),[d,t]=D(!1),[h,F]=D(!1),[I,E]=D(null),[Y,j]=D(!1),[z,M]=D(!1),T=Q(o=>o);Ze(()=>(s.current=!0,()=>{s.current=!1}),[]);let b=v((...o)=>{let y=typeof o[0]=="object",P=y?o[0].method:o[0],C=y?o[0].url:o[1],r=(y?o[1]:o[2])??{},O={...r,onCancelToken:S=>{if(u.current=S,r.onCancelToken)return r.onCancelToken(S)},onBefore:S=>{if(j(!1),M(!1),clearTimeout(f.current),r.onBefore)return r.onBefore(S)},onStart:S=>{if(F(!0),r.onStart)return r.onStart(S)},onProgress:S=>{if(E(S),r.onProgress)return r.onProgress(S)},onSuccess:S=>{if(s.current&&(F(!1),E(null),e({}),t(!1),j(!0),M(!0),g(J(c)),f.current=setTimeout(()=>{s.current&&M(!1)},2e3)),r.onSuccess)return r.onSuccess(S)},onError:S=>{if(s.current&&(F(!1),E(null),e(S),t(!0)),r.onError)return r.onError(S)},onCancel:()=>{if(s.current&&(F(!1),E(null)),r.onCancel)return r.onCancel()},onFinish:S=>{if(s.current&&(F(!1),E(null)),u.current=null,r.onFinish)return r.onFinish(S)}};P==="delete"?Fe.delete(C,{...O,data:T.current(c)}):Fe[P](C,T.current(c),O)},[c,e,T]),G=v((o,y)=>{m(typeof o=="string"?P=>ne(J(P),o,y):typeof o=="function"?P=>o(P):o)},[m]),X=v((o,y)=>{g(typeof o>"u"?()=>c:P=>typeof o=="string"?ne(J(P),o,y):Object.assign(J(P),o))},[c,g]),Z=v((...o)=>{o.length===0?m(a):m(y=>o.filter(P=>Xe(a,P)).reduce((P,C)=>ne(P,C,Ge(a,C)),{...y}))},[m,a]),U=v((o,y)=>{e(P=>{let C={...P,...typeof o=="string"?{[o]:y}:o};return t(Object.keys(C).length>0),C})},[e,t]),L=v((...o)=>{e(y=>{let P=Object.keys(y).reduce((C,r)=>({...C,...o.length>0&&!o.includes(r)?{[r]:y[r]}:{}}),{});return t(Object.keys(P).length>0),P})},[e,t]),k=o=>(y,P)=>{b(o,y,P)},ee=v(k("get"),[b]),A=v(k("post"),[b]),$=v(k("put"),[b]),W=v(k("patch"),[b]),H=v(k("delete"),[b]),R=v(()=>{u.current&&u.current.cancel()},[]),te=v(o=>{T.current=o},[]);return{data:c,setData:G,isDirty:!ze(c,a),errors:l,hasErrors:d,processing:h,progress:I,wasSuccessful:Y,recentlySuccessful:z,transform:te,setDefaults:X,reset:Z,setError:U,clearErrors:L,submit:b,get:ee,post:A,put:$,patch:W,delete:H,cancel:R}}import{router as et}from"@inertiajs/core";import{useEffect as tt,useRef as rt}from"react";function Te(p,n={},s={keepAlive:!1,autoStart:!0}){let i=rt(et.poll(p,n,{...s,autoStart:!1}));return tt(()=>((s.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 ot,useState as se}from"react";function ve(p={}){let n=typeof window>"u"?null:N.getCached(window.location.pathname,p),s=typeof window>"u"?null:N.getPrefetching(window.location.pathname,p),[i,a]=se(n?.staleTimestamp||null),[g,u]=se(s!==null),[f,c]=se(n!==null);return ot(()=>{let m=N.on("prefetching",e=>{e.detail.visit.url.pathname===window.location.pathname&&u(!0)}),l=N.on("prefetched",e=>{e.detail.visit.url.pathname===window.location.pathname&&(u(!1),c(!0),a(e.detail.fetchedAt))});return()=>{l(),m()}},[]),{lastUpdatedAt:i,isPrefetching:g,isPrefetched:f,flush:()=>N.flush(window.location.pathname,p)}}import{router as nt}from"@inertiajs/core";import{createElement as st,useCallback as at,useEffect as it,useRef as ae,useState as pt}from"react";var be=({children:p,data:n,params:s,buffer:i,as:a,always:g,fallback:u})=>{g=g??!1,a=a??"div",u=u??null;let[f,c]=pt(!1),m=ae(!1),l=ae(!1),e=ae(null),d=at(()=>{if(n)return{only:Array.isArray(n)?n:[n]};if(!s)throw new Error("You must provide either a `data` or `params` prop.");return s},[s,n]);return it(()=>{if(!e.current)return;let t=new IntersectionObserver(h=>{if(!h[0].isIntersecting||(!g&&m.current&&t.disconnect(),l.current))return;m.current=!0,l.current=!0;let F=d();nt.reload({...F,onStart:I=>{l.current=!0,F.onStart?.(I)},onFinish:I=>{c(!0),l.current=!1,F.onFinish?.(I),g||t.disconnect()}})},{rootMargin:`${i||0}px`});return t.observe(e.current),()=>{t.disconnect()}},[e,d,i]),g||!f?st(a,{props:null,ref:e},f?p:u):f?p:null};be.displayName="InertiaWhenVisible";var ut=be;var fe=ct;export{He as Deferred,je as Head,Je as Link,ut as WhenVisible,ce as createInertiaApp,fe as router,Se as useForm,q as usePage,Te as usePoll,ve as usePrefetch,V as useRemember}; | ||
//# sourceMappingURL=index.esm.js.map |
@@ -1,2 +0,2 @@ | ||
var He=Object.create;var ee=Object.defineProperty;var Ke=Object.getOwnPropertyDescriptor;var Be=Object.getOwnPropertyNames;var Ve=Object.getPrototypeOf,Ne=Object.prototype.hasOwnProperty;var je=(r,t)=>{for(var o in t)ee(r,o,{get:t[o],enumerable:!0})},Fe=(r,t,o,p)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Be(t))!Ne.call(r,n)&&n!==o&&ee(r,n,{get:()=>t[n],enumerable:!(p=Ke(t,n))||p.enumerable});return r};var Ue=(r,t,o)=>(o=r!=null?He(Ve(r)):{},Fe(t||!r||!r.__esModule?ee(o,"default",{value:r,enumerable:!0}):o,r)),$e=r=>Fe(ee({},"__esModule",{value:!0}),r);var _e={};je(_e,{Deferred:()=>xe,Head:()=>Ie,Link:()=>ke,WhenVisible:()=>Me,createInertiaApp:()=>de,router:()=>fe,useForm:()=>Pe,usePage:()=>Y,usePoll:()=>ye,usePrefetch:()=>he,useRemember:()=>N});module.exports=$e(_e);var Le=require("@inertiajs/core");var re=require("@inertiajs/core"),Ce=require("react");var Q=require("@inertiajs/core"),C=require("react");var Se=require("react"),Te=(0,Se.createContext)(void 0);Te.displayName="InertiaHeadContext";var q=Te;var ve=require("react"),be=(0,ve.createContext)(void 0);be.displayName="InertiaPageContext";var J=be;function te({children:r,initialPage:t,initialComponent:o,resolveComponent:p,titleCallback:n,onHeadUpdate:P}){let[c,m]=(0,C.useState)({component:o||null,page:t,key:null}),l=(0,C.useMemo)(()=>(0,Q.createHeadManager)(typeof window>"u",n||(d=>d),P||(()=>{})),[]);if((0,C.useEffect)(()=>{Q.router.init({initialPage:t,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=r||(({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:r="app",resolve:t,setup:o,title:p,progress:n={},page:P,render:c}){let m=typeof window>"u",l=m?null:document.getElementById(r),g=P||JSON.parse(l.dataset.page),d=s=>Promise.resolve(t(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:r,"data-page":JSON.stringify(g)},f));return{head:e,body:s}}}var H=require("react");var Re=require("react");function Y(){let r=(0,Re.useContext)(J);if(!r)throw new Error("usePage must be used within the Inertia component");return r}var De=({children:r,data:t,fallback:o})=>{if(!t)throw new Error("`<Deferred>` requires a `data` prop to be a string or array of strings");let[p,n]=(0,H.useState)(!1),P=Y().props,c=(0,H.useMemo)(()=>Array.isArray(t)?t:[t],[t]);return(0,H.useEffect)(()=>{let m=fe.on("start",l=>{(l.detail.visit.only.length===0&&l.detail.visit.except.length===0||l.detail.visit.only.find(g=>c.includes(g)))&&n(!1)});return()=>{m()}},[]),(0,H.useEffect)(()=>{n(c.every(m=>P[m]!==void 0))},[P,c]),p?r:o};De.displayName="InertiaDeferred";var xe=De;var k=Ue(require("react"),1);var We=function({children:r,title:t}){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 t&&!f.find(s=>s.startsWith("<title"))&&f.push(`<title inertia>${t}</title>`),f}return p.update(d(r)),null},Ie=We;var I=require("@inertiajs/core"),v=require("react"),A=()=>{},Ee=(0,v.forwardRef)(({children:r,as:t="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:w=A,onProgress:M=A,onFinish:se=A,onCancel:z=A,onSuccess:ae=A,onError:$=A,prefetch:b=!1,cacheFor:D=0,...ie},pe)=>{let[ue,G]=(0,v.useState)(0),W=(0,v.useRef)(null);t=t.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),w(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,v.useMemo)(()=>b===!0?["hover"]:b===!1?[]:Array.isArray(b)?b:[b],Array.isArray(b)?b:[b]),le=(0,v.useMemo)(()=>D!==0?D:E.length===1&&E[0]==="click"?0:3e4,[D,E]);(0,v.useEffect)(()=>()=>{clearTimeout(W.current)},[]),(0,v.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"&&(t="button"),(0,v.createElement)(t,{...ie,...{a:{href:B},button:{type:"button"}}[t]||{},ref:pe,...E.includes("hover")?h:E.includes("click")?y:i,"data-loading":ue>0?"":void 0},r)});Ee.displayName="InertiaLink";var ke=Ee;var ge=require("@inertiajs/core"),K=require("es-toolkit"),O=require("es-toolkit/compat"),u=require("react");var me=require("@inertiajs/core"),oe=require("react");function N(r,t){let[o,p]=(0,oe.useState)(()=>{let n=me.router.restore(t);return n!==void 0?n:r});return(0,oe.useEffect)(()=>{me.router.remember(o,t)},[o,t]),[o,p]}function Pe(r,t){let o=(0,u.useRef)(null),p=typeof r=="string"?r:null,[n,P]=(0,u.useState)((typeof r=="string"?t:r)||{}),c=(0,u.useRef)(null),m=(0,u.useRef)(null),[l,g]=p?N(n,`${p}:data`):(0,u.useState)(n),[d,e]=p?N({},`${p}:errors`):(0,u.useState)({}),[f,s]=(0,u.useState)(!1),[F,S]=(0,u.useState)(!1),[w,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 D=(0,u.useCallback)((...i)=>{let h=typeof i[0]=="object",y=h?i[0].method:i[0],x=h?i[0].url:i[1],a=(h?i[1]:i[2])??{},V={...a,onCancelToken:T=>{if(c.current=T,a.onCancelToken)return a.onCancelToken(T)},onBefore:T=>{if(z(!1),$(!1),clearTimeout(m.current),a.onBefore)return a.onBefore(T)},onStart:T=>{if(S(!0),a.onStart)return a.onStart(T)},onProgress:T=>{if(M(T),a.onProgress)return a.onProgress(T)},onSuccess:T=>{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(T)},onError:T=>{if(o.current&&(S(!1),M(null),e(T),s(!0)),a.onError)return a.onError(T)},onCancel:()=>{if(o.current&&(S(!1),M(null)),a.onCancel)return a.onCancel()},onFinish:T=>{if(o.current&&(S(!1),M(null)),c.current=null,a.onFinish)return a.onFinish(T)}};y==="delete"?ge.router.delete(x,{...V,data:b.current(l)}):ge.router[y](x,b.current(l),V)},[l,e,b]),ie=(0,u.useCallback)((i,h)=>{g(typeof i=="string"?y=>(0,O.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,O.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,O.has)(n,y)).reduce((y,x)=>(0,O.set)(y,x,(0,O.get)(n,x)),{...h}))},[g,n]),G=(0,u.useCallback)((i,h)=>{e(y=>{let x={...y,...typeof i=="string"?{[i]:h}:i};return s(Object.keys(x).length>0),x})},[e,s]),W=(0,u.useCallback)((...i)=>{e(h=>{let y=Object.keys(h).reduce((x,a)=>({...x,...i.length>0&&!i.includes(a)?{[a]:h[a]}:{}}),{});return s(Object.keys(y).length>0),y})},[e,s]),L=i=>(h,y)=>{D(i,h,y)},ce=(0,u.useCallback)(L("get"),[D]),B=(0,u.useCallback)(L("post"),[D]),X=(0,u.useCallback)(L("put"),[D]),Z=(0,u.useCallback)(L("patch"),[D]),_=(0,u.useCallback)(L("delete"),[D]),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:w,wasSuccessful:se,recentlySuccessful:ae,transform:le,setDefaults:pe,reset:ue,setError:G,clearErrors:W,submit:D,get:ce,post:B,put:X,patch:Z,delete:_,cancel:E}}var Ae=require("@inertiajs/core"),ne=require("react");function ye(r,t={},o={keepAlive:!1,autoStart:!0}){let p=(0,ne.useRef)(Ae.router.poll(r,t,{...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 j=require("@inertiajs/core"),U=require("react");function he(r={}){let t=typeof window>"u"?null:j.router.getCached(window.location.pathname,r),o=typeof window>"u"?null:j.router.getPrefetching(window.location.pathname,r),[p,n]=(0,U.useState)(t?.staleTimestamp||null),[P,c]=(0,U.useState)(o!==null),[m,l]=(0,U.useState)(t!==null);return(0,U.useEffect)(()=>{let g=j.router.on("prefetching",e=>{e.detail.visit.url.pathname===window.location.pathname&&c(!0)}),d=j.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:()=>j.router.flush(window.location.pathname,r)}}var Oe=require("@inertiajs/core"),R=require("react"),we=({children:r,data:t,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(t)return{only:Array.isArray(t)?t:[t]};if(!o)throw new Error("You must provide either a `data` or `params` prop.");return o},[o,t]);return(0,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:w=>{d.current=!0,S.onStart?.(w)},onFinish:w=>{l(!0),d.current=!1,S.onFinish?.(w),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?r:c):m?r:null};we.displayName="InertiaWhenVisible";var Me=we;var fe=Le.router; | ||
var He=Object.create;var ee=Object.defineProperty;var Ke=Object.getOwnPropertyDescriptor;var Be=Object.getOwnPropertyNames;var Ve=Object.getPrototypeOf,Ne=Object.prototype.hasOwnProperty;var je=(r,t)=>{for(var o in t)ee(r,o,{get:t[o],enumerable:!0})},Fe=(r,t,o,p)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Be(t))!Ne.call(r,n)&&n!==o&&ee(r,n,{get:()=>t[n],enumerable:!(p=Ke(t,n))||p.enumerable});return r};var Ue=(r,t,o)=>(o=r!=null?He(Ve(r)):{},Fe(t||!r||!r.__esModule?ee(o,"default",{value:r,enumerable:!0}):o,r)),$e=r=>Fe(ee({},"__esModule",{value:!0}),r);var _e={};je(_e,{Deferred:()=>De,Head:()=>Ie,Link:()=>ke,WhenVisible:()=>Me,createInertiaApp:()=>de,router:()=>fe,useForm:()=>Pe,usePage:()=>Y,usePoll:()=>ye,usePrefetch:()=>he,useRemember:()=>N});module.exports=$e(_e);var Le=require("@inertiajs/core");var re=require("@inertiajs/core"),Ce=require("react");var Q=require("@inertiajs/core"),C=require("react");var Se=require("react"),Te=(0,Se.createContext)(void 0);Te.displayName="InertiaHeadContext";var q=Te;var ve=require("react"),be=(0,ve.createContext)(void 0);be.displayName="InertiaPageContext";var J=be;function te({children:r,initialPage:t,initialComponent:o,resolveComponent:p,titleCallback:n,onHeadUpdate:P}){let[c,m]=(0,C.useState)({component:o||null,page:t,key:null}),l=(0,C.useMemo)(()=>(0,Q.createHeadManager)(typeof window>"u",n||(d=>d),P||(()=>{})),[]);if((0,C.useEffect)(()=>{Q.router.init({initialPage:t,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=r||(({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:r="app",resolve:t,setup:o,title:p,progress:n={},page:P,render:c}){let m=typeof window>"u",l=m?null:document.getElementById(r),g=P||JSON.parse(l.dataset.page),d=s=>Promise.resolve(t(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:r,"data-page":JSON.stringify(g)},f));return{head:e,body:s}}}var H=require("react");var Re=require("react");function Y(){let r=(0,Re.useContext)(J);if(!r)throw new Error("usePage must be used within the Inertia component");return r}var xe=({children:r,data:t,fallback:o})=>{if(!t)throw new Error("`<Deferred>` requires a `data` prop to be a string or array of strings");let[p,n]=(0,H.useState)(!1),P=Y().props,c=(0,H.useMemo)(()=>Array.isArray(t)?t:[t],[t]);return(0,H.useEffect)(()=>{let m=fe.on("start",l=>{(l.detail.visit.only.length===0&&l.detail.visit.except.length===0||l.detail.visit.only.find(g=>c.includes(g)))&&n(!1)});return()=>{m()}},[]),(0,H.useEffect)(()=>{n(c.every(m=>P[m]!==void 0))},[P,c]),p?r:o};xe.displayName="InertiaDeferred";var De=xe;var k=Ue(require("react"),1);var We=function({children:r,title:t}){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 t&&!f.find(s=>s.startsWith("<title"))&&f.push(`<title inertia>${t}</title>`),f}return p.update(d(r)),null},Ie=We;var I=require("@inertiajs/core"),v=require("react"),A=()=>{},Ee=(0,v.forwardRef)(({children:r,as:t="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:w=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,v.useState)(0),W=(0,v.useRef)(null);t=t.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),w(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,v.useMemo)(()=>b===!0?["hover"]:b===!1?[]:Array.isArray(b)?b:[b],Array.isArray(b)?b:[b]),le=(0,v.useMemo)(()=>x!==0?x:E.length===1&&E[0]==="click"?0:3e4,[x,E]);(0,v.useEffect)(()=>()=>{clearTimeout(W.current)},[]),(0,v.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"&&(t="button"),(0,v.createElement)(t,{...ie,...{a:{href:B},button:{type:"button"}}[t]||{},ref:pe,...E.includes("hover")?h:E.includes("click")?y:i,"data-loading":ue>0?"":void 0},r)});Ee.displayName="InertiaLink";var ke=Ee;var ge=require("@inertiajs/core"),K=require("es-toolkit"),O=require("es-toolkit/compat"),u=require("react");var me=require("@inertiajs/core"),oe=require("react");function N(r,t){let[o,p]=(0,oe.useState)(()=>{let n=me.router.restore(t);return n!==void 0?n:r});return(0,oe.useEffect)(()=>{me.router.remember(o,t)},[o,t]),[o,p]}function Pe(r,t){let o=(0,u.useRef)(null),p=typeof r=="string"?r:null,[n,P]=(0,u.useState)((typeof r=="string"?t:r)||{}),c=(0,u.useRef)(null),m=(0,u.useRef)(null),[l,g]=p?N(n,`${p}:data`):(0,u.useState)(n),[d,e]=p?N({},`${p}:errors`):(0,u.useState)({}),[f,s]=(0,u.useState)(!1),[F,S]=(0,u.useState)(!1),[w,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:T=>{if(c.current=T,a.onCancelToken)return a.onCancelToken(T)},onBefore:T=>{if(z(!1),$(!1),clearTimeout(m.current),a.onBefore)return a.onBefore(T)},onStart:T=>{if(S(!0),a.onStart)return a.onStart(T)},onProgress:T=>{if(M(T),a.onProgress)return a.onProgress(T)},onSuccess:T=>{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(T)},onError:T=>{if(o.current&&(S(!1),M(null),e(T),s(!0)),a.onError)return a.onError(T)},onCancel:()=>{if(o.current&&(S(!1),M(null)),a.onCancel)return a.onCancel()},onFinish:T=>{if(o.current&&(S(!1),M(null)),c.current=null,a.onFinish)return a.onFinish(T)}};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,O.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,O.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,O.has)(n,y)).reduce((y,D)=>(0,O.set)(y,D,(0,O.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:w,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 Ae=require("@inertiajs/core"),ne=require("react");function ye(r,t={},o={keepAlive:!1,autoStart:!0}){let p=(0,ne.useRef)(Ae.router.poll(r,t,{...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 j=require("@inertiajs/core"),U=require("react");function he(r={}){let t=typeof window>"u"?null:j.router.getCached(window.location.pathname,r),o=typeof window>"u"?null:j.router.getPrefetching(window.location.pathname,r),[p,n]=(0,U.useState)(t?.staleTimestamp||null),[P,c]=(0,U.useState)(o!==null),[m,l]=(0,U.useState)(t!==null);return(0,U.useEffect)(()=>{let g=j.router.on("prefetching",e=>{e.detail.visit.url.pathname===window.location.pathname&&c(!0)}),d=j.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:()=>j.router.flush(window.location.pathname,r)}}var Oe=require("@inertiajs/core"),R=require("react"),we=({children:r,data:t,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(t)return{only:Array.isArray(t)?t:[t]};if(!o)throw new Error("You must provide either a `data` or `params` prop.");return o},[o,t]);return(0,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:w=>{d.current=!0,S.onStart?.(w)},onFinish:w=>{l(!0),d.current=!1,S.onFinish?.(w),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?r:c):m?r:null};we.displayName="InertiaWhenVisible";var Me=we;var fe=Le.router; | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "@inertiajs/react", | ||
"version": "2.0.7", | ||
"version": "2.0.8", | ||
"license": "MIT", | ||
@@ -62,5 +62,5 @@ "description": "The React adapter for Inertia.js", | ||
"dependencies": { | ||
"@inertiajs/core": "2.0.7", | ||
"@inertiajs/core": "2.0.8", | ||
"es-toolkit": "^1.33.0" | ||
} | ||
} |
import { FormDataConvertible, FormDataKeys, FormDataValues, Method, Progress, VisitOptions } from '@inertiajs/core'; | ||
type SetDataByObject<TForm> = (data: TForm) => void; | ||
type SetDataByMethod<TForm> = (data: (previousData: TForm) => TForm) => void; | ||
type SetDataByKeyValuePair<TForm> = <K extends FormDataKeys<TForm>>(key: K, value: FormDataValues<TForm, K>) => void; | ||
type SetDataByKeyValuePair<TForm extends Record<any, any>> = <K extends FormDataKeys<TForm>>(key: K, value: FormDataValues<TForm, K>) => void; | ||
type FormDataType = Record<string, FormDataConvertible>; | ||
@@ -6,0 +6,0 @@ type FormOptions = Omit<VisitOptions, 'data'>; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
137535
0.05%+ Added
- Removed
- Removed
Updated