@inertiajs/react 1.0.0-beta.1 → 1.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -1,2 +1,2 @@
1
- import{createHeadManager as n,router as e,setupProgress as r,shouldIntercept as t,mergeDataIntoQueryString as o}from"@inertiajs/core";export{router}from"@inertiajs/core";import i,{createContext as u,useState as a,useMemo as c,useEffect as s,createElement as l,useContext as f,forwardRef as p,useCallback as d,useRef as v}from"react";import y from"lodash.isequal";function h(){return(h=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(n[t]=r[t])}return n}).apply(this,arguments)}var m=u();m.displayName="InertiaHeadContext";var g=u();function k(r){var t=r.children,o=r.initialPage,i=r.resolveComponent,u=r.titleCallback,f=r.onHeadUpdate,p=a({component:r.initialComponent||null,page:o,key:null}),d=p[0],v=p[1],y=c(function(){return n("undefined"==typeof window,u||function(n){return n},f||function(){})},[]);if(s(function(){e.init({initialPage:o,resolveComponent:i,swapComponent:function(n){var e=n.component,r=n.page,t=n.preserveState;try{return v(function(n){return{component:e,page:r,key:t?n.key:Date.now()}}),Promise.resolve()}catch(n){return Promise.reject(n)}}}),e.on("navigate",function(){return y.forceUpdate()})},[]),!d.component)return l(m.Provider,{value:y},l(g.Provider,{value:d.page},null));var k=t||function(n){var e=n.Component,r=n.props,t=l(e,h({key:n.key},r));return"function"==typeof e.layout?e.layout(t):Array.isArray(e.layout)?e.layout.concat(t).reverse().reduce(function(n,e){return l(e,h({children:n},r))}):t};return l(m.Provider,{value:y},l(g.Provider,{value:d.page},k({Component:d.component,key:d.key,props:d.page.props})))}g.displayName="InertiaPageContext",k.displayName="Inertia";var C=function(n){try{var e,t,o,i,u,a,c,s,f;t=void 0===(e=n.id)?"app":e,o=n.resolve,i=n.setup,u=n.title,c=void 0===(a=n.progress)?{}:a,s=n.page,f=n.render;var p="undefined"==typeof window,d=p?null:document.getElementById(t),v=s||JSON.parse(d.dataset.page),y=function(n){return Promise.resolve(o(n)).then(function(n){return n.default||n})},h=[];return Promise.resolve(y(v.component).then(function(n){return i({el:d,App:k,props:{initialPage:v,initialComponent:n,resolveComponent:y,titleCallback:u,onHeadUpdate:p?function(n){return h=n}:null}})})).then(function(n){return!p&&c&&r(c),function(){if(p)return Promise.resolve(f(l("div",{id:t,"data-page":JSON.stringify(v)},n))).then(function(n){return{head:h,body:n}})}()})}catch(n){return Promise.reject(n)}};function S(n){var e,r,t=n.children,o=n.title,u=f(m),a=c(function(){return u.createProvider()},[u]);return s(function(){return function(){a.disconnect()}},[a]),a.update((e=t,r=(Array.isArray(e)?e:[e]).filter(function(n){return n}).map(function(n){return function(n){return function n(e){var r=function(n){var e=Object.keys(n.props).reduce(function(e,r){if(["head-key","children","dangerouslySetInnerHTML"].includes(r))return e;var t=n.props[r];return""===t?e+" "+r:e+" "+r+'="'+t+'"'},"");return"<"+n.type+e+">"}(e);return e.props.children&&(r+=function(e){return"string"==typeof e.props.children?e.props.children:e.props.children.reduce(function(e,r){return e+n(r)},"")}(e)),e.props.dangerouslySetInnerHTML&&(r+=e.props.dangerouslySetInnerHTML.__html),function(n){return["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"].indexOf(n.type)>-1}(e)||(r+="</"+e.type+">"),r}(function(n){return i.cloneElement(n,{inertia:void 0!==n.props["head-key"]?n.props["head-key"]:""})}(n))}(n)}),o&&!r.find(function(n){return n.startsWith("<title")})&&r.push("<title inertia>"+o+"</title>"),r)),null}var P=["children","as","data","href","method","preserveScroll","preserveState","replace","only","headers","queryStringArrayFormat","onClick","onCancelToken","onBefore","onStart","onProgress","onFinish","onCancel","onSuccess","onError"],b=function(){},w=p(function(n,r){var i=n.children,u=n.as,a=void 0===u?"a":u,c=n.data,s=void 0===c?{}:c,f=n.href,p=n.method,v=void 0===p?"get":p,y=n.preserveScroll,m=void 0!==y&&y,g=n.preserveState,k=void 0===g?null:g,C=n.replace,S=void 0!==C&&C,w=n.only,O=void 0===w?[]:w,T=n.headers,E=void 0===T?{}:T,j=n.queryStringArrayFormat,F=void 0===j?"brackets":j,L=n.onClick,A=void 0===L?b:L,I=n.onCancelToken,x=void 0===I?b:I,B=n.onBefore,H=void 0===B?b:B,D=n.onStart,N=void 0===D?b:D,U=n.onProgress,q=void 0===U?b:U,M=n.onFinish,J=void 0===M?b:M,W=n.onCancel,_=void 0===W?b:W,z=n.onSuccess,G=void 0===z?b:z,K=n.onError,Q=void 0===K?b:K,R=function(n,e){if(null==n)return{};var r,t,o={},i=Object.keys(n);for(t=0;t<i.length;t++)e.indexOf(r=i[t])>=0||(o[r]=n[r]);return o}(n,P),V=d(function(n){A(n),t(n)&&(n.preventDefault(),e.visit(f,{data:s,method:v,preserveScroll:m,preserveState:null!=k?k:"get"!==v,replace:S,only:O,headers:E,onCancelToken:x,onBefore:H,onStart:N,onProgress:q,onFinish:J,onCancel:_,onSuccess:G,onError:Q}))},[s,f,v,m,k,S,O,E,A,x,H,N,q,J,_,G,Q]);a=a.toLowerCase(),v=v.toLowerCase();var X=o(v,f||"",s,F);return f=X[0],s=X[1],"a"===a&&"get"!==v&&console.warn('Creating POST/PUT/PATCH/DELETE <a> links is discouraged as it causes "Open Link in New Tab/Window" accessibility issues.\n\nPlease specify a more appropriate element using the "as" attribute. For example:\n\n<Link href="'+f+'" method="'+v+'" as="button">...</Link>'),l(a,h({},R,"a"===a?{href:f}:{},{ref:r,onClick:V}),i)});function O(n,r){var t=a(function(){var t=e.restore(r);return void 0!==t?t:n}),o=t[0],i=t[1];return s(function(){e.remember(o,r)},[o,r]),[o,i]}function T(){var n=[].slice.call(arguments),r=v(null),t="string"==typeof n[0]?n[0]:null,o=a(("string"==typeof n[0]?n[1]:n[0])||{}),i=o[0],u=o[1],c=v(null),l=v(null),f=t?O(i,t+":data"):a(i),p=f[0],m=f[1],g=t?O({},t+":errors"):a({}),k=g[0],C=g[1],S=a(!1),P=S[0],b=S[1],w=a(!1),T=w[0],E=w[1],j=a(null),F=j[0],L=j[1],A=a(!1),I=A[0],x=A[1],B=a(!1),H=B[0],D=B[1],N=function(n){return n};s(function(){return r.current=!0,function(){r.current=!1}},[]);var U=d(function(n,t,o){void 0===o&&(o={});var i=h({},o,{onCancelToken:function(n){if(c.current=n,o.onCancelToken)return o.onCancelToken(n)},onBefore:function(n){if(x(!1),D(!1),clearTimeout(l.current),o.onBefore)return o.onBefore(n)},onStart:function(n){if(E(!0),o.onStart)return o.onStart(n)},onProgress:function(n){if(L(n),o.onProgress)return o.onProgress(n)},onSuccess:function(n){if(r.current&&(E(!1),L(null),C({}),b(!1),x(!0),D(!0),l.current=setTimeout(function(){r.current&&D(!1)},2e3)),o.onSuccess)return o.onSuccess(n)},onError:function(n){if(r.current&&(E(!1),L(null),C(n),b(!0)),o.onError)return o.onError(n)},onCancel:function(){if(r.current&&(E(!1),L(null)),o.onCancel)return o.onCancel()},onFinish:function(){if(r.current&&(E(!1),L(null)),c.current=null,o.onFinish)return o.onFinish()}});"delete"===n?e.delete(t,h({},i,{data:N(p)})):e[n](t,N(p),i)},[p,C]);return{data:p,setData:function(n,e){var r;m("string"==typeof n?h({},p,((r={})[n]=e,r)):"function"==typeof n?function(e){return n(e)}:n)},isDirty:!y(p,i),errors:k,hasErrors:P,processing:T,progress:F,wasSuccessful:I,recentlySuccessful:H,transform:function(n){N=n},setDefaults:function(n,e){u(void 0===n?function(){return p}:function(r){var t;return h({},r,e?((t={})[n]=e,t):n)})},reset:function(){var n=[].slice.call(arguments);m(0===n.length?i:Object.keys(i).filter(function(e){return n.includes(e)}).reduce(function(n,e){return n[e]=i[e],n},h({},p)))},setError:function(n,e){C(function(r){var t,o=h({},r,e?((t={})[n]=e,t):n);return b(Object.keys(o).length>0),o})},clearErrors:function(){var n=[].slice.call(arguments);C(function(e){var r=Object.keys(e).reduce(function(r,t){var o;return h({},r,n.length>0&&!n.includes(t)?((o={})[t]=e[t],o):{})},{});return b(Object.keys(r).length>0),r})},submit:U,get:function(n,e){U("get",n,e)},post:function(n,e){U("post",n,e)},put:function(n,e){U("put",n,e)},patch:function(n,e){U("patch",n,e)},delete:function(n,e){U("delete",n,e)},cancel:function(){c.current&&c.current.cancel()}}}function E(){var n=f(g);if(!n)throw new Error("usePage must be used within the Inertia component");return n}export{S as Head,w as Link,C as createInertiaApp,T as useForm,E as usePage,O as useRemember};
1
+ import{createHeadManager as n,router as e,setupProgress as r,shouldIntercept as t,mergeDataIntoQueryString as o}from"@inertiajs/core";import i,{createContext as u,useState as a,useMemo as c,useEffect as s,createElement as l,useContext as f,forwardRef as p,useCallback as d,useRef as v}from"react";import y from"lodash.isequal";function h(){return(h=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(n[t]=r[t])}return n}).apply(this,arguments)}var m=u();m.displayName="InertiaHeadContext";var g=u();function k(r){var t=r.children,o=r.initialPage,i=r.resolveComponent,u=r.titleCallback,f=r.onHeadUpdate,p=a({component:r.initialComponent||null,page:o,key:null}),d=p[0],v=p[1],y=c(function(){return n("undefined"==typeof window,u||function(n){return n},f||function(){})},[]);if(s(function(){e.init({initialPage:o,resolveComponent:i,swapComponent:function(n){var e=n.component,r=n.page,t=n.preserveState;try{return v(function(n){return{component:e,page:r,key:t?n.key:Date.now()}}),Promise.resolve()}catch(n){return Promise.reject(n)}}}),e.on("navigate",function(){return y.forceUpdate()})},[]),!d.component)return l(m.Provider,{value:y},l(g.Provider,{value:d.page},null));var k=t||function(n){var e=n.Component,r=n.props,t=l(e,h({key:n.key},r));return"function"==typeof e.layout?e.layout(t):Array.isArray(e.layout)?e.layout.concat(t).reverse().reduce(function(n,e){return l(e,h({children:n},r))}):t};return l(m.Provider,{value:y},l(g.Provider,{value:d.page},k({Component:d.component,key:d.key,props:d.page.props})))}g.displayName="InertiaPageContext",k.displayName="Inertia";var C=function(n){try{var e,t,o,i,u,a,c,s,f;t=void 0===(e=n.id)?"app":e,o=n.resolve,i=n.setup,u=n.title,c=void 0===(a=n.progress)?{}:a,s=n.page,f=n.render;var p="undefined"==typeof window,d=p?null:document.getElementById(t),v=s||JSON.parse(d.dataset.page),y=function(n){return Promise.resolve(o(n)).then(function(n){return n.default||n})},h=[];return Promise.resolve(y(v.component).then(function(n){return i({el:d,App:k,props:{initialPage:v,initialComponent:n,resolveComponent:y,titleCallback:u,onHeadUpdate:p?function(n){return h=n}:null}})})).then(function(n){return!p&&c&&r(c),function(){if(p)return Promise.resolve(f(l("div",{id:t,"data-page":JSON.stringify(v)},n))).then(function(n){return{head:h,body:n}})}()})}catch(n){return Promise.reject(n)}};function S(n){var e,r,t=n.children,o=n.title,u=f(m),a=c(function(){return u.createProvider()},[u]);return s(function(){return function(){a.disconnect()}},[a]),a.update((e=t,r=(Array.isArray(e)?e:[e]).filter(function(n){return n}).map(function(n){return function(n){return function n(e){var r=function(n){var e=Object.keys(n.props).reduce(function(e,r){if(["head-key","children","dangerouslySetInnerHTML"].includes(r))return e;var t=n.props[r];return""===t?e+" "+r:e+" "+r+'="'+t+'"'},"");return"<"+n.type+e+">"}(e);return e.props.children&&(r+=function(e){return"string"==typeof e.props.children?e.props.children:e.props.children.reduce(function(e,r){return e+n(r)},"")}(e)),e.props.dangerouslySetInnerHTML&&(r+=e.props.dangerouslySetInnerHTML.__html),function(n){return["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"].indexOf(n.type)>-1}(e)||(r+="</"+e.type+">"),r}(function(n){return i.cloneElement(n,{inertia:void 0!==n.props["head-key"]?n.props["head-key"]:""})}(n))}(n)}),o&&!r.find(function(n){return n.startsWith("<title")})&&r.push("<title inertia>"+o+"</title>"),r)),null}var P=["children","as","data","href","method","preserveScroll","preserveState","replace","only","headers","queryStringArrayFormat","onClick","onCancelToken","onBefore","onStart","onProgress","onFinish","onCancel","onSuccess","onError"],b=function(){},w=p(function(n,r){var i=n.children,u=n.as,a=void 0===u?"a":u,c=n.data,s=void 0===c?{}:c,f=n.href,p=n.method,v=void 0===p?"get":p,y=n.preserveScroll,m=void 0!==y&&y,g=n.preserveState,k=void 0===g?null:g,C=n.replace,S=void 0!==C&&C,w=n.only,O=void 0===w?[]:w,T=n.headers,E=void 0===T?{}:T,j=n.queryStringArrayFormat,F=void 0===j?"brackets":j,L=n.onClick,A=void 0===L?b:L,I=n.onCancelToken,B=void 0===I?b:I,H=n.onBefore,x=void 0===H?b:H,D=n.onStart,N=void 0===D?b:D,U=n.onProgress,q=void 0===U?b:U,M=n.onFinish,J=void 0===M?b:M,W=n.onCancel,_=void 0===W?b:W,z=n.onSuccess,G=void 0===z?b:z,K=n.onError,Q=void 0===K?b:K,R=function(n,e){if(null==n)return{};var r,t,o={},i=Object.keys(n);for(t=0;t<i.length;t++)e.indexOf(r=i[t])>=0||(o[r]=n[r]);return o}(n,P),V=d(function(n){A(n),t(n)&&(n.preventDefault(),e.visit(f,{data:s,method:v,preserveScroll:m,preserveState:null!=k?k:"get"!==v,replace:S,only:O,headers:E,onCancelToken:B,onBefore:x,onStart:N,onProgress:q,onFinish:J,onCancel:_,onSuccess:G,onError:Q}))},[s,f,v,m,k,S,O,E,A,B,x,N,q,J,_,G,Q]);a=a.toLowerCase(),v=v.toLowerCase();var X=o(v,f||"",s,F);return f=X[0],s=X[1],"a"===a&&"get"!==v&&console.warn('Creating POST/PUT/PATCH/DELETE <a> links is discouraged as it causes "Open Link in New Tab/Window" accessibility issues.\n\nPlease specify a more appropriate element using the "as" attribute. For example:\n\n<Link href="'+f+'" method="'+v+'" as="button">...</Link>'),l(a,h({},R,"a"===a?{href:f}:{},{ref:r,onClick:V}),i)});function O(n,r){var t=a(function(){var t=e.restore(r);return void 0!==t?t:n}),o=t[0],i=t[1];return s(function(){e.remember(o,r)},[o,r]),[o,i]}function T(){var n=[].slice.call(arguments),r=v(null),t="string"==typeof n[0]?n[0]:null,o=a(("string"==typeof n[0]?n[1]:n[0])||{}),i=o[0],u=o[1],c=v(null),l=v(null),f=t?O(i,t+":data"):a(i),p=f[0],m=f[1],g=t?O({},t+":errors"):a({}),k=g[0],C=g[1],S=a(!1),P=S[0],b=S[1],w=a(!1),T=w[0],E=w[1],j=a(null),F=j[0],L=j[1],A=a(!1),I=A[0],B=A[1],H=a(!1),x=H[0],D=H[1],N=function(n){return n};s(function(){return r.current=!0,function(){r.current=!1}},[]);var U=d(function(n,t,o){void 0===o&&(o={});var i=h({},o,{onCancelToken:function(n){if(c.current=n,o.onCancelToken)return o.onCancelToken(n)},onBefore:function(n){if(B(!1),D(!1),clearTimeout(l.current),o.onBefore)return o.onBefore(n)},onStart:function(n){if(E(!0),o.onStart)return o.onStart(n)},onProgress:function(n){if(L(n),o.onProgress)return o.onProgress(n)},onSuccess:function(n){if(r.current&&(E(!1),L(null),C({}),b(!1),B(!0),D(!0),l.current=setTimeout(function(){r.current&&D(!1)},2e3)),o.onSuccess)return o.onSuccess(n)},onError:function(n){if(r.current&&(E(!1),L(null),C(n),b(!0)),o.onError)return o.onError(n)},onCancel:function(){if(r.current&&(E(!1),L(null)),o.onCancel)return o.onCancel()},onFinish:function(){if(r.current&&(E(!1),L(null)),c.current=null,o.onFinish)return o.onFinish()}});"delete"===n?e.delete(t,h({},i,{data:N(p)})):e[n](t,N(p),i)},[p,C]);return{data:p,setData:function(n,e){var r;m("string"==typeof n?h({},p,((r={})[n]=e,r)):"function"==typeof n?function(e){return n(e)}:n)},isDirty:!y(p,i),errors:k,hasErrors:P,processing:T,progress:F,wasSuccessful:I,recentlySuccessful:x,transform:function(n){N=n},setDefaults:function(n,e){u(void 0===n?function(){return p}:function(r){var t;return h({},r,e?((t={})[n]=e,t):n)})},reset:function(){var n=[].slice.call(arguments);m(0===n.length?i:Object.keys(i).filter(function(e){return n.includes(e)}).reduce(function(n,e){return n[e]=i[e],n},h({},p)))},setError:function(n,e){C(function(r){var t,o=h({},r,e?((t={})[n]=e,t):n);return b(Object.keys(o).length>0),o})},clearErrors:function(){var n=[].slice.call(arguments);C(function(e){var r=Object.keys(e).reduce(function(r,t){var o;return h({},r,n.length>0&&!n.includes(t)?((o={})[t]=e[t],o):{})},{});return b(Object.keys(r).length>0),r})},submit:U,get:function(n,e){U("get",n,e)},post:function(n,e){U("post",n,e)},put:function(n,e){U("put",n,e)},patch:function(n,e){U("patch",n,e)},delete:function(n,e){U("delete",n,e)},cancel:function(){c.current&&c.current.cancel()}}}function E(){var n=f(g);if(!n)throw new Error("usePage must be used within the Inertia component");return n}var j=e;export{S as Head,w as Link,C as createInertiaApp,j as router,T as useForm,E as usePage,O as useRemember};
2
2
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/HeadContext.js","../src/PageContext.js","../src/App.js","../src/createInertiaApp.js","../src/Head.js","../src/Link.js","../src/useRemember.js","../src/useForm.js","../src/usePage.js"],"sourcesContent":["import { createContext } from 'react'\n\nconst headContext = createContext()\nheadContext.displayName = 'InertiaHeadContext'\n\nexport default headContext\n","import { createContext } from 'react'\n\nconst pageContext = createContext()\npageContext.displayName = 'InertiaPageContext'\n\nexport default pageContext\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 { setupProgress } from '@inertiajs/core'\nimport { createElement } from 'react'\nimport App from './App'\n\nexport default async function createInertiaApp({ id = 'app', resolve, setup, title, progress = {}, page, render }) {\n const isServer = typeof window === 'undefined'\n const el = isServer ? null : document.getElementById(id)\n const initialPage = page || JSON.parse(el.dataset.page)\n const resolveComponent = (name) => Promise.resolve(resolve(name)).then((module) => module.default || module)\n\n let head = []\n\n const reactApp = await resolveComponent(initialPage.component).then((initialComponent) => {\n return setup({\n el,\n App,\n props: {\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback: title,\n onHeadUpdate: isServer ? (elements) => (head = elements) : null,\n },\n })\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 reactApp,\n ),\n )\n\n return { head, body }\n }\n}\n","import React, { useContext, useEffect, useMemo } from 'react'\nimport HeadContext from './HeadContext'\n\nexport default function Head({ 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 = (Array.isArray(nodes) ? nodes : [nodes]).filter((node) => node).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}\n","import { mergeDataIntoQueryString, router, shouldIntercept } from '@inertiajs/core'\nimport { createElement, forwardRef, useCallback } from 'react'\n\nconst noop = () => undefined\n\nexport default forwardRef(function Link(\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 headers = {},\n queryStringArrayFormat = 'brackets',\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 ...props\n },\n ref,\n) {\n const visit = useCallback(\n (event) => {\n onClick(event)\n\n if (shouldIntercept(event)) {\n event.preventDefault()\n\n router.visit(href, {\n data,\n method,\n preserveScroll,\n preserveState: preserveState ?? method !== 'get',\n replace,\n only,\n headers,\n onCancelToken,\n onBefore,\n onStart,\n onProgress,\n onFinish,\n onCancel,\n onSuccess,\n onError,\n })\n }\n },\n [\n data,\n href,\n method,\n preserveScroll,\n preserveState,\n replace,\n only,\n headers,\n onClick,\n onCancelToken,\n onBefore,\n onStart,\n onProgress,\n onFinish,\n onCancel,\n onSuccess,\n onError,\n ],\n )\n\n as = as.toLowerCase()\n method = method.toLowerCase()\n const [_href, _data] = mergeDataIntoQueryString(method, href || '', data, queryStringArrayFormat)\n href = _href\n data = _data\n\n if (as === 'a' && method !== 'get') {\n console.warn(\n `Creating POST/PUT/PATCH/DELETE <a> links is discouraged as it causes \"Open Link in New Tab/Window\" accessibility issues.\\n\\nPlease specify a more appropriate element using the \"as\" attribute. For example:\\n\\n<Link href=\"${href}\" method=\"${method}\" as=\"button\">...</Link>`,\n )\n }\n\n return createElement(\n as,\n {\n ...props,\n ...(as === 'a' ? { href } : {}),\n ref,\n onClick: visit,\n },\n children,\n )\n})\n","import { router } from '@inertiajs/core'\nimport { useEffect, useState } from 'react'\n\nexport default function useRemember(initialState, key) {\n const [state, setState] = useState(() => {\n const restored = router.restore(key)\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\nexport function useRememberedState(initialState, key) {\n console.warn(\n 'The \"useRememberedState\" hook has been deprecated and will be removed in a future release. Use \"useRemember\" instead.',\n )\n return useRemember(initialState, key)\n}\n","import { router } from '@inertiajs/core'\nimport isEqual from 'lodash.isequal'\nimport { useCallback, useEffect, useRef, useState } from 'react'\nimport useRemember from './useRemember'\n\nexport default function useForm(...args) {\n const isMounted = useRef(null)\n const rememberKey = typeof args[0] === 'string' ? args[0] : null\n const [defaults, setDefaults] = useState((typeof args[0] === 'string' ? args[1] : args[0]) || {})\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 ? useRemember({}, `${rememberKey}:errors`) : useState({})\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 let transform = (data) => data\n\n useEffect(() => {\n isMounted.current = true\n return () => {\n isMounted.current = false\n }\n }, [])\n\n const submit = useCallback(\n (method, url, options = {}) => {\n const _options = {\n ...options,\n onCancelToken: (token) => {\n cancelToken.current = token\n\n if (options.onCancelToken) {\n return options.onCancelToken(token)\n }\n },\n onBefore: (visit) => {\n setWasSuccessful(false)\n setRecentlySuccessful(false)\n clearTimeout(recentlySuccessfulTimeoutId.current)\n\n if (options.onBefore) {\n return options.onBefore(visit)\n }\n },\n onStart: (visit) => {\n setProcessing(true)\n\n if (options.onStart) {\n return options.onStart(visit)\n }\n },\n onProgress: (event) => {\n setProgress(event)\n\n if (options.onProgress) {\n return options.onProgress(event)\n }\n },\n onSuccess: (page) => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n setErrors({})\n setHasErrors(false)\n setWasSuccessful(true)\n setRecentlySuccessful(true)\n recentlySuccessfulTimeoutId.current = setTimeout(() => {\n if (isMounted.current) {\n setRecentlySuccessful(false)\n }\n }, 2000)\n }\n\n if (options.onSuccess) {\n return options.onSuccess(page)\n }\n },\n onError: (errors) => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n setErrors(errors)\n setHasErrors(true)\n }\n\n if (options.onError) {\n return options.onError(errors)\n }\n },\n onCancel: () => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n }\n\n if (options.onCancel) {\n return options.onCancel()\n }\n },\n onFinish: () => {\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()\n }\n },\n }\n\n if (method === 'delete') {\n router.delete(url, { ..._options, data: transform(data) })\n } else {\n router[method](url, transform(data), _options)\n }\n },\n [data, setErrors],\n )\n\n return {\n data,\n setData(key, value) {\n if (typeof key === 'string') {\n setData({ ...data, [key]: value })\n } else if (typeof key === 'function') {\n setData((data) => key(data))\n } else {\n setData(key)\n }\n },\n isDirty: !isEqual(data, defaults),\n errors,\n hasErrors,\n processing,\n progress,\n wasSuccessful,\n recentlySuccessful,\n transform(callback) {\n transform = callback\n },\n setDefaults(key, value) {\n if (typeof key === 'undefined') {\n setDefaults(() => data)\n } else {\n setDefaults((defaults) => ({\n ...defaults,\n ...(value ? { [key]: value } : key),\n }))\n }\n },\n reset(...fields) {\n if (fields.length === 0) {\n setData(defaults)\n } else {\n setData(\n Object.keys(defaults)\n .filter((key) => fields.includes(key))\n .reduce(\n (carry, key) => {\n carry[key] = defaults[key]\n return carry\n },\n { ...data },\n ),\n )\n }\n },\n setError(key, value) {\n setErrors((errors) => {\n const newErrors = {\n ...errors,\n ...(value ? { [key]: value } : key),\n }\n setHasErrors(Object.keys(newErrors).length > 0)\n return newErrors\n })\n },\n clearErrors(...fields) {\n setErrors((errors) => {\n const newErrors = Object.keys(errors).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 submit,\n get(url, options) {\n submit('get', url, options)\n },\n post(url, options) {\n submit('post', url, options)\n },\n put(url, options) {\n submit('put', url, options)\n },\n patch(url, options) {\n submit('patch', url, options)\n },\n delete(url, options) {\n submit('delete', url, options)\n },\n cancel() {\n if (cancelToken.current) {\n cancelToken.current.cancel()\n }\n },\n }\n}\n","import { useContext } from 'react'\nimport PageContext from './PageContext'\n\nexport default function usePage() {\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"],"names":["createContext","headContext","displayName","children","initialPage","resolveComponent","titleCallback","onHeadUpdate","useState","component","initialComponent","page","key","current","setCurrent","useMemo","title","useEffect","router","init","swapComponent","preserveState","Date","now","on","forceUpdate","HeadContext","Provider","value","headManager","createElement","PageContext","Component","props","layout","child","Array","isArray","concat","reverse","reduce","Layout","renderChildren","pageContext","App","id","resolve","setup","progress","render","isServer","document","getElementById","JSON","parse","el","dataset","name","then","module","elements","reactApp","setupProgress","data-page","stringify","head","body","nodes","useContext","createProvider","provider","disconnect","update","filter","node","map","Object","keys","carry","includes","type","attrs","renderTagStart","html","renderTag","renderTagChildren","dangerouslySetInnerHTML","__html","indexOf","isUnaryTag","cloneElement","inertia","undefined","ensureNodeHasInertiaProp","computed","find","tag","startsWith","push","ref","as","data","href","method","preserveScroll","replace","only","headers","queryStringArrayFormat","onClick","noop","onCancelToken","onBefore","onStart","onProgress","onFinish","onCancel","onSuccess","onError","useCallback","event","shouldIntercept","preventDefault","visit","toLowerCase","mergeDataIntoQueryString","console","warn","initialState","restore","restored","state","setState","remember","useRef","args","defaults","setDefaults","rememberKey","useRemember","setData","errors","setErrors","hasErrors","setHasErrors","processing","setProcessing","setProgress","wasSuccessful","setWasSuccessful","recentlySuccessful","setRecentlySuccessful","isMounted","url","options","token","cancelToken","clearTimeout","recentlySuccessfulTimeoutId","setTimeout","_options","transform","isDirty","isEqual","callback","reset","fields","length","setError","newErrors","clearErrors","field","submit","get","post","put","patch","cancel"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/HeadContext.js","../src/PageContext.js","../src/App.js","../src/createInertiaApp.js","../src/Head.js","../src/Link.js","../src/useRemember.js","../src/useForm.js","../src/usePage.js","../src/index.js"],"sourcesContent":["import { createContext } from 'react'\n\nconst headContext = createContext()\nheadContext.displayName = 'InertiaHeadContext'\n\nexport default headContext\n","import { createContext } from 'react'\n\nconst pageContext = createContext()\npageContext.displayName = 'InertiaPageContext'\n\nexport default pageContext\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 { setupProgress } from '@inertiajs/core'\nimport { createElement } from 'react'\nimport App from './App'\n\nexport default async function createInertiaApp({ id = 'app', resolve, setup, title, progress = {}, page, render }) {\n const isServer = typeof window === 'undefined'\n const el = isServer ? null : document.getElementById(id)\n const initialPage = page || JSON.parse(el.dataset.page)\n const resolveComponent = (name) => Promise.resolve(resolve(name)).then((module) => module.default || module)\n\n let head = []\n\n const reactApp = await resolveComponent(initialPage.component).then((initialComponent) => {\n return setup({\n el,\n App,\n props: {\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback: title,\n onHeadUpdate: isServer ? (elements) => (head = elements) : null,\n },\n })\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 reactApp,\n ),\n )\n\n return { head, body }\n }\n}\n","import React, { useContext, useEffect, useMemo } from 'react'\nimport HeadContext from './HeadContext'\n\nexport default function Head({ 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 = (Array.isArray(nodes) ? nodes : [nodes]).filter((node) => node).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}\n","import { mergeDataIntoQueryString, router, shouldIntercept } from '@inertiajs/core'\nimport { createElement, forwardRef, useCallback } from 'react'\n\nconst noop = () => undefined\n\nexport default forwardRef(function Link(\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 headers = {},\n queryStringArrayFormat = 'brackets',\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 ...props\n },\n ref,\n) {\n const visit = useCallback(\n (event) => {\n onClick(event)\n\n if (shouldIntercept(event)) {\n event.preventDefault()\n\n router.visit(href, {\n data,\n method,\n preserveScroll,\n preserveState: preserveState ?? method !== 'get',\n replace,\n only,\n headers,\n onCancelToken,\n onBefore,\n onStart,\n onProgress,\n onFinish,\n onCancel,\n onSuccess,\n onError,\n })\n }\n },\n [\n data,\n href,\n method,\n preserveScroll,\n preserveState,\n replace,\n only,\n headers,\n onClick,\n onCancelToken,\n onBefore,\n onStart,\n onProgress,\n onFinish,\n onCancel,\n onSuccess,\n onError,\n ],\n )\n\n as = as.toLowerCase()\n method = method.toLowerCase()\n const [_href, _data] = mergeDataIntoQueryString(method, href || '', data, queryStringArrayFormat)\n href = _href\n data = _data\n\n if (as === 'a' && method !== 'get') {\n console.warn(\n `Creating POST/PUT/PATCH/DELETE <a> links is discouraged as it causes \"Open Link in New Tab/Window\" accessibility issues.\\n\\nPlease specify a more appropriate element using the \"as\" attribute. For example:\\n\\n<Link href=\"${href}\" method=\"${method}\" as=\"button\">...</Link>`,\n )\n }\n\n return createElement(\n as,\n {\n ...props,\n ...(as === 'a' ? { href } : {}),\n ref,\n onClick: visit,\n },\n children,\n )\n})\n","import { router } from '@inertiajs/core'\nimport { useEffect, useState } from 'react'\n\nexport default function useRemember(initialState, key) {\n const [state, setState] = useState(() => {\n const restored = router.restore(key)\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\nexport function useRememberedState(initialState, key) {\n console.warn(\n 'The \"useRememberedState\" hook has been deprecated and will be removed in a future release. Use \"useRemember\" instead.',\n )\n return useRemember(initialState, key)\n}\n","import { router } from '@inertiajs/core'\nimport isEqual from 'lodash.isequal'\nimport { useCallback, useEffect, useRef, useState } from 'react'\nimport useRemember from './useRemember'\n\nexport default function useForm(...args) {\n const isMounted = useRef(null)\n const rememberKey = typeof args[0] === 'string' ? args[0] : null\n const [defaults, setDefaults] = useState((typeof args[0] === 'string' ? args[1] : args[0]) || {})\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 ? useRemember({}, `${rememberKey}:errors`) : useState({})\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 let transform = (data) => data\n\n useEffect(() => {\n isMounted.current = true\n return () => {\n isMounted.current = false\n }\n }, [])\n\n const submit = useCallback(\n (method, url, options = {}) => {\n const _options = {\n ...options,\n onCancelToken: (token) => {\n cancelToken.current = token\n\n if (options.onCancelToken) {\n return options.onCancelToken(token)\n }\n },\n onBefore: (visit) => {\n setWasSuccessful(false)\n setRecentlySuccessful(false)\n clearTimeout(recentlySuccessfulTimeoutId.current)\n\n if (options.onBefore) {\n return options.onBefore(visit)\n }\n },\n onStart: (visit) => {\n setProcessing(true)\n\n if (options.onStart) {\n return options.onStart(visit)\n }\n },\n onProgress: (event) => {\n setProgress(event)\n\n if (options.onProgress) {\n return options.onProgress(event)\n }\n },\n onSuccess: (page) => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n setErrors({})\n setHasErrors(false)\n setWasSuccessful(true)\n setRecentlySuccessful(true)\n recentlySuccessfulTimeoutId.current = setTimeout(() => {\n if (isMounted.current) {\n setRecentlySuccessful(false)\n }\n }, 2000)\n }\n\n if (options.onSuccess) {\n return options.onSuccess(page)\n }\n },\n onError: (errors) => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n setErrors(errors)\n setHasErrors(true)\n }\n\n if (options.onError) {\n return options.onError(errors)\n }\n },\n onCancel: () => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n }\n\n if (options.onCancel) {\n return options.onCancel()\n }\n },\n onFinish: () => {\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()\n }\n },\n }\n\n if (method === 'delete') {\n router.delete(url, { ..._options, data: transform(data) })\n } else {\n router[method](url, transform(data), _options)\n }\n },\n [data, setErrors],\n )\n\n return {\n data,\n setData(key, value) {\n if (typeof key === 'string') {\n setData({ ...data, [key]: value })\n } else if (typeof key === 'function') {\n setData((data) => key(data))\n } else {\n setData(key)\n }\n },\n isDirty: !isEqual(data, defaults),\n errors,\n hasErrors,\n processing,\n progress,\n wasSuccessful,\n recentlySuccessful,\n transform(callback) {\n transform = callback\n },\n setDefaults(key, value) {\n if (typeof key === 'undefined') {\n setDefaults(() => data)\n } else {\n setDefaults((defaults) => ({\n ...defaults,\n ...(value ? { [key]: value } : key),\n }))\n }\n },\n reset(...fields) {\n if (fields.length === 0) {\n setData(defaults)\n } else {\n setData(\n Object.keys(defaults)\n .filter((key) => fields.includes(key))\n .reduce(\n (carry, key) => {\n carry[key] = defaults[key]\n return carry\n },\n { ...data },\n ),\n )\n }\n },\n setError(key, value) {\n setErrors((errors) => {\n const newErrors = {\n ...errors,\n ...(value ? { [key]: value } : key),\n }\n setHasErrors(Object.keys(newErrors).length > 0)\n return newErrors\n })\n },\n clearErrors(...fields) {\n setErrors((errors) => {\n const newErrors = Object.keys(errors).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 submit,\n get(url, options) {\n submit('get', url, options)\n },\n post(url, options) {\n submit('post', url, options)\n },\n put(url, options) {\n submit('put', url, options)\n },\n patch(url, options) {\n submit('patch', url, options)\n },\n delete(url, options) {\n submit('delete', url, options)\n },\n cancel() {\n if (cancelToken.current) {\n cancelToken.current.cancel()\n }\n },\n }\n}\n","import { useContext } from 'react'\nimport PageContext from './PageContext'\n\nexport default function usePage() {\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 { router as Router } from '@inertiajs/core'\n\nexport const router = Router\nexport { default as createInertiaApp } from './createInertiaApp'\nexport { default as Head } from './Head'\nexport { default as Link } from './Link'\nexport { default as useForm } from './useForm'\nexport { default as usePage } from './usePage'\nexport { default as useRemember } from './useRemember'\n"],"names":["createContext","headContext","displayName","children","initialPage","resolveComponent","titleCallback","onHeadUpdate","useState","component","initialComponent","page","key","current","setCurrent","useMemo","title","useEffect","router","init","swapComponent","preserveState","Date","now","on","forceUpdate","HeadContext","Provider","value","headManager","createElement","PageContext","Component","props","layout","child","Array","isArray","concat","reverse","reduce","Layout","renderChildren","pageContext","App","id","resolve","setup","progress","render","isServer","document","getElementById","JSON","parse","el","dataset","name","then","module","elements","reactApp","setupProgress","data-page","stringify","head","body","nodes","useContext","createProvider","provider","disconnect","update","filter","node","map","Object","keys","carry","includes","type","attrs","renderTagStart","html","renderTag","renderTagChildren","dangerouslySetInnerHTML","__html","indexOf","isUnaryTag","cloneElement","inertia","undefined","ensureNodeHasInertiaProp","computed","find","tag","startsWith","push","ref","as","data","href","method","preserveScroll","replace","only","headers","queryStringArrayFormat","onClick","noop","onCancelToken","onBefore","onStart","onProgress","onFinish","onCancel","onSuccess","onError","useCallback","event","shouldIntercept","preventDefault","visit","toLowerCase","mergeDataIntoQueryString","console","warn","initialState","restore","restored","state","setState","remember","useRef","args","defaults","setDefaults","rememberKey","useRemember","setData","errors","setErrors","hasErrors","setHasErrors","processing","setProcessing","setProgress","wasSuccessful","setWasSuccessful","recentlySuccessful","setRecentlySuccessful","isMounted","url","options","token","cancelToken","clearTimeout","recentlySuccessfulTimeoutId","setTimeout","_options","transform","isDirty","isEqual","callback","reset","fields","length","setError","newErrors","clearErrors","field","submit","get","post","put","patch","cancel","Router"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var n=require("@inertiajs/core"),r=require("react"),t=e(r),o=e(require("lodash.isequal"));function u(){return(u=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e}).apply(this,arguments)}var i=r.createContext();i.displayName="InertiaHeadContext";var a=r.createContext();function c(e){var t=e.children,o=e.initialPage,c=e.resolveComponent,s=e.titleCallback,l=e.onHeadUpdate,f=r.useState({component:e.initialComponent||null,page:o,key:null}),p=f[0],d=f[1],v=r.useMemo(function(){return n.createHeadManager("undefined"==typeof window,s||function(e){return e},l||function(){})},[]);if(r.useEffect(function(){n.router.init({initialPage:o,resolveComponent:c,swapComponent:function(e){var n=e.component,r=e.page,t=e.preserveState;try{return d(function(e){return{component:n,page:r,key:t?e.key:Date.now()}}),Promise.resolve()}catch(e){return Promise.reject(e)}}}),n.router.on("navigate",function(){return v.forceUpdate()})},[]),!p.component)return r.createElement(i.Provider,{value:v},r.createElement(a.Provider,{value:p.page},null));var m=t||function(e){var n=e.Component,t=e.props,o=r.createElement(n,u({key:e.key},t));return"function"==typeof n.layout?n.layout(o):Array.isArray(n.layout)?n.layout.concat(o).reverse().reduce(function(e,n){return r.createElement(n,u({children:e},t))}):o};return r.createElement(i.Provider,{value:v},r.createElement(a.Provider,{value:p.page},m({Component:p.component,key:p.key,props:p.page.props})))}a.displayName="InertiaPageContext",c.displayName="Inertia";var s=["children","as","data","href","method","preserveScroll","preserveState","replace","only","headers","queryStringArrayFormat","onClick","onCancelToken","onBefore","onStart","onProgress","onFinish","onCancel","onSuccess","onError"],l=function(){},f=r.forwardRef(function(e,t){var o=e.children,i=e.as,a=void 0===i?"a":i,c=e.data,f=void 0===c?{}:c,p=e.href,d=e.method,v=void 0===d?"get":d,m=e.preserveScroll,y=void 0!==m&&m,g=e.preserveState,h=void 0===g?null:g,S=e.replace,k=void 0!==S&&S,C=e.only,b=void 0===C?[]:C,P=e.headers,E=void 0===P?{}:P,w=e.queryStringArrayFormat,O=void 0===w?"brackets":w,x=e.onClick,T=void 0===x?l:x,j=e.onCancelToken,I=void 0===j?l:j,F=e.onBefore,L=void 0===F?l:F,A=e.onStart,H=void 0===A?l:A,B=e.onProgress,D=void 0===B?l:B,q=e.onFinish,M=void 0===q?l:q,N=e.onCancel,R=void 0===N?l:N,U=e.onSuccess,J=void 0===U?l:U,W=e.onError,_=void 0===W?l:W,Q=function(e,n){if(null==e)return{};var r,t,o={},u=Object.keys(e);for(t=0;t<u.length;t++)n.indexOf(r=u[t])>=0||(o[r]=e[r]);return o}(e,s),z=r.useCallback(function(e){T(e),n.shouldIntercept(e)&&(e.preventDefault(),n.router.visit(p,{data:f,method:v,preserveScroll:y,preserveState:null!=h?h:"get"!==v,replace:k,only:b,headers:E,onCancelToken:I,onBefore:L,onStart:H,onProgress:D,onFinish:M,onCancel:R,onSuccess:J,onError:_}))},[f,p,v,y,h,k,b,E,T,I,L,H,D,M,R,J,_]);a=a.toLowerCase(),v=v.toLowerCase();var G=n.mergeDataIntoQueryString(v,p||"",f,O);return p=G[0],f=G[1],"a"===a&&"get"!==v&&console.warn('Creating POST/PUT/PATCH/DELETE <a> links is discouraged as it causes "Open Link in New Tab/Window" accessibility issues.\n\nPlease specify a more appropriate element using the "as" attribute. For example:\n\n<Link href="'+p+'" method="'+v+'" as="button">...</Link>'),r.createElement(a,u({},Q,"a"===a?{href:p}:{},{ref:t,onClick:z}),o)});function p(e,t){var o=r.useState(function(){var r=n.router.restore(t);return void 0!==r?r:e}),u=o[0],i=o[1];return r.useEffect(function(){n.router.remember(u,t)},[u,t]),[u,i]}Object.defineProperty(exports,"router",{enumerable:!0,get:function(){return n.router}}),exports.Head=function(e){var n,o,u=e.children,a=e.title,c=r.useContext(i),s=r.useMemo(function(){return c.createProvider()},[c]);return r.useEffect(function(){return function(){s.disconnect()}},[s]),s.update((n=u,o=(Array.isArray(n)?n:[n]).filter(function(e){return e}).map(function(e){return function(e){return function e(n){var r=function(e){var n=Object.keys(e.props).reduce(function(n,r){if(["head-key","children","dangerouslySetInnerHTML"].includes(r))return n;var t=e.props[r];return""===t?n+" "+r:n+" "+r+'="'+t+'"'},"");return"<"+e.type+n+">"}(n);return n.props.children&&(r+=function(n){return"string"==typeof n.props.children?n.props.children:n.props.children.reduce(function(n,r){return n+e(r)},"")}(n)),n.props.dangerouslySetInnerHTML&&(r+=n.props.dangerouslySetInnerHTML.__html),function(e){return["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"].indexOf(e.type)>-1}(n)||(r+="</"+n.type+">"),r}(function(e){return t.cloneElement(e,{inertia:void 0!==e.props["head-key"]?e.props["head-key"]:""})}(e))}(e)}),a&&!o.find(function(e){return e.startsWith("<title")})&&o.push("<title inertia>"+a+"</title>"),o)),null},exports.Link=f,exports.createInertiaApp=function(e){try{var t,o,u,i,a,s,l,f,p;o=void 0===(t=e.id)?"app":t,u=e.resolve,i=e.setup,a=e.title,l=void 0===(s=e.progress)?{}:s,f=e.page,p=e.render;var d="undefined"==typeof window,v=d?null:document.getElementById(o),m=f||JSON.parse(v.dataset.page),y=function(e){return Promise.resolve(u(e)).then(function(e){return e.default||e})},g=[];return Promise.resolve(y(m.component).then(function(e){return i({el:v,App:c,props:{initialPage:m,initialComponent:e,resolveComponent:y,titleCallback:a,onHeadUpdate:d?function(e){return g=e}:null}})})).then(function(e){return!d&&l&&n.setupProgress(l),function(){if(d)return Promise.resolve(p(r.createElement("div",{id:o,"data-page":JSON.stringify(m)},e))).then(function(e){return{head:g,body:e}})}()})}catch(e){return Promise.reject(e)}},exports.useForm=function(){var e=[].slice.call(arguments),t=r.useRef(null),i="string"==typeof e[0]?e[0]:null,a=r.useState(("string"==typeof e[0]?e[1]:e[0])||{}),c=a[0],s=a[1],l=r.useRef(null),f=r.useRef(null),d=i?p(c,i+":data"):r.useState(c),v=d[0],m=d[1],y=i?p({},i+":errors"):r.useState({}),g=y[0],h=y[1],S=r.useState(!1),k=S[0],C=S[1],b=r.useState(!1),P=b[0],E=b[1],w=r.useState(null),O=w[0],x=w[1],T=r.useState(!1),j=T[0],I=T[1],F=r.useState(!1),L=F[0],A=F[1],H=function(e){return e};r.useEffect(function(){return t.current=!0,function(){t.current=!1}},[]);var B=r.useCallback(function(e,r,o){void 0===o&&(o={});var i=u({},o,{onCancelToken:function(e){if(l.current=e,o.onCancelToken)return o.onCancelToken(e)},onBefore:function(e){if(I(!1),A(!1),clearTimeout(f.current),o.onBefore)return o.onBefore(e)},onStart:function(e){if(E(!0),o.onStart)return o.onStart(e)},onProgress:function(e){if(x(e),o.onProgress)return o.onProgress(e)},onSuccess:function(e){if(t.current&&(E(!1),x(null),h({}),C(!1),I(!0),A(!0),f.current=setTimeout(function(){t.current&&A(!1)},2e3)),o.onSuccess)return o.onSuccess(e)},onError:function(e){if(t.current&&(E(!1),x(null),h(e),C(!0)),o.onError)return o.onError(e)},onCancel:function(){if(t.current&&(E(!1),x(null)),o.onCancel)return o.onCancel()},onFinish:function(){if(t.current&&(E(!1),x(null)),l.current=null,o.onFinish)return o.onFinish()}});"delete"===e?n.router.delete(r,u({},i,{data:H(v)})):n.router[e](r,H(v),i)},[v,h]);return{data:v,setData:function(e,n){var r;m("string"==typeof e?u({},v,((r={})[e]=n,r)):"function"==typeof e?function(n){return e(n)}:e)},isDirty:!o(v,c),errors:g,hasErrors:k,processing:P,progress:O,wasSuccessful:j,recentlySuccessful:L,transform:function(e){H=e},setDefaults:function(e,n){s(void 0===e?function(){return v}:function(r){var t;return u({},r,n?((t={})[e]=n,t):e)})},reset:function(){var e=[].slice.call(arguments);m(0===e.length?c:Object.keys(c).filter(function(n){return e.includes(n)}).reduce(function(e,n){return e[n]=c[n],e},u({},v)))},setError:function(e,n){h(function(r){var t,o=u({},r,n?((t={})[e]=n,t):e);return C(Object.keys(o).length>0),o})},clearErrors:function(){var e=[].slice.call(arguments);h(function(n){var r=Object.keys(n).reduce(function(r,t){var o;return u({},r,e.length>0&&!e.includes(t)?((o={})[t]=n[t],o):{})},{});return C(Object.keys(r).length>0),r})},submit:B,get:function(e,n){B("get",e,n)},post:function(e,n){B("post",e,n)},put:function(e,n){B("put",e,n)},patch:function(e,n){B("patch",e,n)},delete:function(e,n){B("delete",e,n)},cancel:function(){l.current&&l.current.cancel()}}},exports.usePage=function(){var e=r.useContext(a);if(!e)throw new Error("usePage must be used within the Inertia component");return e},exports.useRemember=p;
1
+ function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var n=require("@inertiajs/core"),r=require("react"),t=e(r),o=e(require("lodash.isequal"));function u(){return(u=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e}).apply(this,arguments)}var i=r.createContext();i.displayName="InertiaHeadContext";var a=r.createContext();function c(e){var t=e.children,o=e.initialPage,c=e.resolveComponent,s=e.titleCallback,l=e.onHeadUpdate,f=r.useState({component:e.initialComponent||null,page:o,key:null}),p=f[0],d=f[1],v=r.useMemo(function(){return n.createHeadManager("undefined"==typeof window,s||function(e){return e},l||function(){})},[]);if(r.useEffect(function(){n.router.init({initialPage:o,resolveComponent:c,swapComponent:function(e){var n=e.component,r=e.page,t=e.preserveState;try{return d(function(e){return{component:n,page:r,key:t?e.key:Date.now()}}),Promise.resolve()}catch(e){return Promise.reject(e)}}}),n.router.on("navigate",function(){return v.forceUpdate()})},[]),!p.component)return r.createElement(i.Provider,{value:v},r.createElement(a.Provider,{value:p.page},null));var m=t||function(e){var n=e.Component,t=e.props,o=r.createElement(n,u({key:e.key},t));return"function"==typeof n.layout?n.layout(o):Array.isArray(n.layout)?n.layout.concat(o).reverse().reduce(function(e,n){return r.createElement(n,u({children:e},t))}):o};return r.createElement(i.Provider,{value:v},r.createElement(a.Provider,{value:p.page},m({Component:p.component,key:p.key,props:p.page.props})))}a.displayName="InertiaPageContext",c.displayName="Inertia";var s=["children","as","data","href","method","preserveScroll","preserveState","replace","only","headers","queryStringArrayFormat","onClick","onCancelToken","onBefore","onStart","onProgress","onFinish","onCancel","onSuccess","onError"],l=function(){},f=r.forwardRef(function(e,t){var o=e.children,i=e.as,a=void 0===i?"a":i,c=e.data,f=void 0===c?{}:c,p=e.href,d=e.method,v=void 0===d?"get":d,m=e.preserveScroll,y=void 0!==m&&m,g=e.preserveState,h=void 0===g?null:g,S=e.replace,k=void 0!==S&&S,C=e.only,b=void 0===C?[]:C,P=e.headers,E=void 0===P?{}:P,w=e.queryStringArrayFormat,x=void 0===w?"brackets":w,O=e.onClick,T=void 0===O?l:O,j=e.onCancelToken,I=void 0===j?l:j,F=e.onBefore,L=void 0===F?l:F,A=e.onStart,H=void 0===A?l:A,B=e.onProgress,D=void 0===B?l:B,q=e.onFinish,M=void 0===q?l:q,N=e.onCancel,R=void 0===N?l:N,U=e.onSuccess,J=void 0===U?l:U,W=e.onError,_=void 0===W?l:W,Q=function(e,n){if(null==e)return{};var r,t,o={},u=Object.keys(e);for(t=0;t<u.length;t++)n.indexOf(r=u[t])>=0||(o[r]=e[r]);return o}(e,s),z=r.useCallback(function(e){T(e),n.shouldIntercept(e)&&(e.preventDefault(),n.router.visit(p,{data:f,method:v,preserveScroll:y,preserveState:null!=h?h:"get"!==v,replace:k,only:b,headers:E,onCancelToken:I,onBefore:L,onStart:H,onProgress:D,onFinish:M,onCancel:R,onSuccess:J,onError:_}))},[f,p,v,y,h,k,b,E,T,I,L,H,D,M,R,J,_]);a=a.toLowerCase(),v=v.toLowerCase();var G=n.mergeDataIntoQueryString(v,p||"",f,x);return p=G[0],f=G[1],"a"===a&&"get"!==v&&console.warn('Creating POST/PUT/PATCH/DELETE <a> links is discouraged as it causes "Open Link in New Tab/Window" accessibility issues.\n\nPlease specify a more appropriate element using the "as" attribute. For example:\n\n<Link href="'+p+'" method="'+v+'" as="button">...</Link>'),r.createElement(a,u({},Q,"a"===a?{href:p}:{},{ref:t,onClick:z}),o)});function p(e,t){var o=r.useState(function(){var r=n.router.restore(t);return void 0!==r?r:e}),u=o[0],i=o[1];return r.useEffect(function(){n.router.remember(u,t)},[u,t]),[u,i]}var d=n.router;exports.Head=function(e){var n,o,u=e.children,a=e.title,c=r.useContext(i),s=r.useMemo(function(){return c.createProvider()},[c]);return r.useEffect(function(){return function(){s.disconnect()}},[s]),s.update((n=u,o=(Array.isArray(n)?n:[n]).filter(function(e){return e}).map(function(e){return function(e){return function e(n){var r=function(e){var n=Object.keys(e.props).reduce(function(n,r){if(["head-key","children","dangerouslySetInnerHTML"].includes(r))return n;var t=e.props[r];return""===t?n+" "+r:n+" "+r+'="'+t+'"'},"");return"<"+e.type+n+">"}(n);return n.props.children&&(r+=function(n){return"string"==typeof n.props.children?n.props.children:n.props.children.reduce(function(n,r){return n+e(r)},"")}(n)),n.props.dangerouslySetInnerHTML&&(r+=n.props.dangerouslySetInnerHTML.__html),function(e){return["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"].indexOf(e.type)>-1}(n)||(r+="</"+n.type+">"),r}(function(e){return t.cloneElement(e,{inertia:void 0!==e.props["head-key"]?e.props["head-key"]:""})}(e))}(e)}),a&&!o.find(function(e){return e.startsWith("<title")})&&o.push("<title inertia>"+a+"</title>"),o)),null},exports.Link=f,exports.createInertiaApp=function(e){try{var t,o,u,i,a,s,l,f,p;o=void 0===(t=e.id)?"app":t,u=e.resolve,i=e.setup,a=e.title,l=void 0===(s=e.progress)?{}:s,f=e.page,p=e.render;var d="undefined"==typeof window,v=d?null:document.getElementById(o),m=f||JSON.parse(v.dataset.page),y=function(e){return Promise.resolve(u(e)).then(function(e){return e.default||e})},g=[];return Promise.resolve(y(m.component).then(function(e){return i({el:v,App:c,props:{initialPage:m,initialComponent:e,resolveComponent:y,titleCallback:a,onHeadUpdate:d?function(e){return g=e}:null}})})).then(function(e){return!d&&l&&n.setupProgress(l),function(){if(d)return Promise.resolve(p(r.createElement("div",{id:o,"data-page":JSON.stringify(m)},e))).then(function(e){return{head:g,body:e}})}()})}catch(e){return Promise.reject(e)}},exports.router=d,exports.useForm=function(){var e=[].slice.call(arguments),t=r.useRef(null),i="string"==typeof e[0]?e[0]:null,a=r.useState(("string"==typeof e[0]?e[1]:e[0])||{}),c=a[0],s=a[1],l=r.useRef(null),f=r.useRef(null),d=i?p(c,i+":data"):r.useState(c),v=d[0],m=d[1],y=i?p({},i+":errors"):r.useState({}),g=y[0],h=y[1],S=r.useState(!1),k=S[0],C=S[1],b=r.useState(!1),P=b[0],E=b[1],w=r.useState(null),x=w[0],O=w[1],T=r.useState(!1),j=T[0],I=T[1],F=r.useState(!1),L=F[0],A=F[1],H=function(e){return e};r.useEffect(function(){return t.current=!0,function(){t.current=!1}},[]);var B=r.useCallback(function(e,r,o){void 0===o&&(o={});var i=u({},o,{onCancelToken:function(e){if(l.current=e,o.onCancelToken)return o.onCancelToken(e)},onBefore:function(e){if(I(!1),A(!1),clearTimeout(f.current),o.onBefore)return o.onBefore(e)},onStart:function(e){if(E(!0),o.onStart)return o.onStart(e)},onProgress:function(e){if(O(e),o.onProgress)return o.onProgress(e)},onSuccess:function(e){if(t.current&&(E(!1),O(null),h({}),C(!1),I(!0),A(!0),f.current=setTimeout(function(){t.current&&A(!1)},2e3)),o.onSuccess)return o.onSuccess(e)},onError:function(e){if(t.current&&(E(!1),O(null),h(e),C(!0)),o.onError)return o.onError(e)},onCancel:function(){if(t.current&&(E(!1),O(null)),o.onCancel)return o.onCancel()},onFinish:function(){if(t.current&&(E(!1),O(null)),l.current=null,o.onFinish)return o.onFinish()}});"delete"===e?n.router.delete(r,u({},i,{data:H(v)})):n.router[e](r,H(v),i)},[v,h]);return{data:v,setData:function(e,n){var r;m("string"==typeof e?u({},v,((r={})[e]=n,r)):"function"==typeof e?function(n){return e(n)}:e)},isDirty:!o(v,c),errors:g,hasErrors:k,processing:P,progress:x,wasSuccessful:j,recentlySuccessful:L,transform:function(e){H=e},setDefaults:function(e,n){s(void 0===e?function(){return v}:function(r){var t;return u({},r,n?((t={})[e]=n,t):e)})},reset:function(){var e=[].slice.call(arguments);m(0===e.length?c:Object.keys(c).filter(function(n){return e.includes(n)}).reduce(function(e,n){return e[n]=c[n],e},u({},v)))},setError:function(e,n){h(function(r){var t,o=u({},r,n?((t={})[e]=n,t):e);return C(Object.keys(o).length>0),o})},clearErrors:function(){var e=[].slice.call(arguments);h(function(n){var r=Object.keys(n).reduce(function(r,t){var o;return u({},r,e.length>0&&!e.includes(t)?((o={})[t]=n[t],o):{})},{});return C(Object.keys(r).length>0),r})},submit:B,get:function(e,n){B("get",e,n)},post:function(e,n){B("post",e,n)},put:function(e,n){B("put",e,n)},patch:function(e,n){B("patch",e,n)},delete:function(e,n){B("delete",e,n)},cancel:function(){l.current&&l.current.cancel()}}},exports.usePage=function(){var e=r.useContext(a);if(!e)throw new Error("usePage must be used within the Inertia component");return e},exports.useRemember=p;
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/HeadContext.js","../src/PageContext.js","../src/App.js","../src/Link.js","../src/useRemember.js","../src/Head.js","../src/createInertiaApp.js","../src/useForm.js","../src/usePage.js"],"sourcesContent":["import { createContext } from 'react'\n\nconst headContext = createContext()\nheadContext.displayName = 'InertiaHeadContext'\n\nexport default headContext\n","import { createContext } from 'react'\n\nconst pageContext = createContext()\npageContext.displayName = 'InertiaPageContext'\n\nexport default pageContext\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 { mergeDataIntoQueryString, router, shouldIntercept } from '@inertiajs/core'\nimport { createElement, forwardRef, useCallback } from 'react'\n\nconst noop = () => undefined\n\nexport default forwardRef(function Link(\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 headers = {},\n queryStringArrayFormat = 'brackets',\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 ...props\n },\n ref,\n) {\n const visit = useCallback(\n (event) => {\n onClick(event)\n\n if (shouldIntercept(event)) {\n event.preventDefault()\n\n router.visit(href, {\n data,\n method,\n preserveScroll,\n preserveState: preserveState ?? method !== 'get',\n replace,\n only,\n headers,\n onCancelToken,\n onBefore,\n onStart,\n onProgress,\n onFinish,\n onCancel,\n onSuccess,\n onError,\n })\n }\n },\n [\n data,\n href,\n method,\n preserveScroll,\n preserveState,\n replace,\n only,\n headers,\n onClick,\n onCancelToken,\n onBefore,\n onStart,\n onProgress,\n onFinish,\n onCancel,\n onSuccess,\n onError,\n ],\n )\n\n as = as.toLowerCase()\n method = method.toLowerCase()\n const [_href, _data] = mergeDataIntoQueryString(method, href || '', data, queryStringArrayFormat)\n href = _href\n data = _data\n\n if (as === 'a' && method !== 'get') {\n console.warn(\n `Creating POST/PUT/PATCH/DELETE <a> links is discouraged as it causes \"Open Link in New Tab/Window\" accessibility issues.\\n\\nPlease specify a more appropriate element using the \"as\" attribute. For example:\\n\\n<Link href=\"${href}\" method=\"${method}\" as=\"button\">...</Link>`,\n )\n }\n\n return createElement(\n as,\n {\n ...props,\n ...(as === 'a' ? { href } : {}),\n ref,\n onClick: visit,\n },\n children,\n )\n})\n","import { router } from '@inertiajs/core'\nimport { useEffect, useState } from 'react'\n\nexport default function useRemember(initialState, key) {\n const [state, setState] = useState(() => {\n const restored = router.restore(key)\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\nexport function useRememberedState(initialState, key) {\n console.warn(\n 'The \"useRememberedState\" hook has been deprecated and will be removed in a future release. Use \"useRemember\" instead.',\n )\n return useRemember(initialState, key)\n}\n","import React, { useContext, useEffect, useMemo } from 'react'\nimport HeadContext from './HeadContext'\n\nexport default function Head({ 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 = (Array.isArray(nodes) ? nodes : [nodes]).filter((node) => node).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}\n","import { setupProgress } from '@inertiajs/core'\nimport { createElement } from 'react'\nimport App from './App'\n\nexport default async function createInertiaApp({ id = 'app', resolve, setup, title, progress = {}, page, render }) {\n const isServer = typeof window === 'undefined'\n const el = isServer ? null : document.getElementById(id)\n const initialPage = page || JSON.parse(el.dataset.page)\n const resolveComponent = (name) => Promise.resolve(resolve(name)).then((module) => module.default || module)\n\n let head = []\n\n const reactApp = await resolveComponent(initialPage.component).then((initialComponent) => {\n return setup({\n el,\n App,\n props: {\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback: title,\n onHeadUpdate: isServer ? (elements) => (head = elements) : null,\n },\n })\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 reactApp,\n ),\n )\n\n return { head, body }\n }\n}\n","import { router } from '@inertiajs/core'\nimport isEqual from 'lodash.isequal'\nimport { useCallback, useEffect, useRef, useState } from 'react'\nimport useRemember from './useRemember'\n\nexport default function useForm(...args) {\n const isMounted = useRef(null)\n const rememberKey = typeof args[0] === 'string' ? args[0] : null\n const [defaults, setDefaults] = useState((typeof args[0] === 'string' ? args[1] : args[0]) || {})\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 ? useRemember({}, `${rememberKey}:errors`) : useState({})\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 let transform = (data) => data\n\n useEffect(() => {\n isMounted.current = true\n return () => {\n isMounted.current = false\n }\n }, [])\n\n const submit = useCallback(\n (method, url, options = {}) => {\n const _options = {\n ...options,\n onCancelToken: (token) => {\n cancelToken.current = token\n\n if (options.onCancelToken) {\n return options.onCancelToken(token)\n }\n },\n onBefore: (visit) => {\n setWasSuccessful(false)\n setRecentlySuccessful(false)\n clearTimeout(recentlySuccessfulTimeoutId.current)\n\n if (options.onBefore) {\n return options.onBefore(visit)\n }\n },\n onStart: (visit) => {\n setProcessing(true)\n\n if (options.onStart) {\n return options.onStart(visit)\n }\n },\n onProgress: (event) => {\n setProgress(event)\n\n if (options.onProgress) {\n return options.onProgress(event)\n }\n },\n onSuccess: (page) => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n setErrors({})\n setHasErrors(false)\n setWasSuccessful(true)\n setRecentlySuccessful(true)\n recentlySuccessfulTimeoutId.current = setTimeout(() => {\n if (isMounted.current) {\n setRecentlySuccessful(false)\n }\n }, 2000)\n }\n\n if (options.onSuccess) {\n return options.onSuccess(page)\n }\n },\n onError: (errors) => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n setErrors(errors)\n setHasErrors(true)\n }\n\n if (options.onError) {\n return options.onError(errors)\n }\n },\n onCancel: () => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n }\n\n if (options.onCancel) {\n return options.onCancel()\n }\n },\n onFinish: () => {\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()\n }\n },\n }\n\n if (method === 'delete') {\n router.delete(url, { ..._options, data: transform(data) })\n } else {\n router[method](url, transform(data), _options)\n }\n },\n [data, setErrors],\n )\n\n return {\n data,\n setData(key, value) {\n if (typeof key === 'string') {\n setData({ ...data, [key]: value })\n } else if (typeof key === 'function') {\n setData((data) => key(data))\n } else {\n setData(key)\n }\n },\n isDirty: !isEqual(data, defaults),\n errors,\n hasErrors,\n processing,\n progress,\n wasSuccessful,\n recentlySuccessful,\n transform(callback) {\n transform = callback\n },\n setDefaults(key, value) {\n if (typeof key === 'undefined') {\n setDefaults(() => data)\n } else {\n setDefaults((defaults) => ({\n ...defaults,\n ...(value ? { [key]: value } : key),\n }))\n }\n },\n reset(...fields) {\n if (fields.length === 0) {\n setData(defaults)\n } else {\n setData(\n Object.keys(defaults)\n .filter((key) => fields.includes(key))\n .reduce(\n (carry, key) => {\n carry[key] = defaults[key]\n return carry\n },\n { ...data },\n ),\n )\n }\n },\n setError(key, value) {\n setErrors((errors) => {\n const newErrors = {\n ...errors,\n ...(value ? { [key]: value } : key),\n }\n setHasErrors(Object.keys(newErrors).length > 0)\n return newErrors\n })\n },\n clearErrors(...fields) {\n setErrors((errors) => {\n const newErrors = Object.keys(errors).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 submit,\n get(url, options) {\n submit('get', url, options)\n },\n post(url, options) {\n submit('post', url, options)\n },\n put(url, options) {\n submit('put', url, options)\n },\n patch(url, options) {\n submit('patch', url, options)\n },\n delete(url, options) {\n submit('delete', url, options)\n },\n cancel() {\n if (cancelToken.current) {\n cancelToken.current.cancel()\n }\n },\n }\n}\n","import { useContext } from 'react'\nimport PageContext from './PageContext'\n\nexport default function usePage() {\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"],"names":["createContext","headContext","displayName","children","initialPage","resolveComponent","titleCallback","onHeadUpdate","useState","component","initialComponent","page","key","current","setCurrent","useMemo","title","useEffect","router","init","swapComponent","preserveState","Date","now","on","forceUpdate","HeadContext","Provider","value","headManager","createElement","PageContext","Component","props","layout","child","Array","isArray","concat","reverse","reduce","Layout","renderChildren","pageContext","App","ref","as","data","href","method","preserveScroll","replace","only","headers","queryStringArrayFormat","onClick","noop","onCancelToken","onBefore","onStart","onProgress","onFinish","onCancel","onSuccess","onError","useCallback","event","shouldIntercept","preventDefault","visit","toLowerCase","mergeDataIntoQueryString","console","warn","initialState","restore","undefined","restored","state","setState","remember","nodes","useContext","createProvider","provider","disconnect","update","filter","node","map","Object","keys","carry","name","includes","type","attrs","renderTagStart","html","renderTag","renderTagChildren","dangerouslySetInnerHTML","__html","indexOf","isUnaryTag","cloneElement","inertia","ensureNodeHasInertiaProp","computed","find","tag","startsWith","push","id","resolve","setup","progress","render","isServer","document","getElementById","JSON","parse","el","dataset","then","module","elements","reactApp","setupProgress","data-page","stringify","head","body","useRef","args","defaults","setDefaults","rememberKey","useRemember","setData","errors","setErrors","hasErrors","setHasErrors","processing","setProcessing","setProgress","wasSuccessful","setWasSuccessful","recentlySuccessful","setRecentlySuccessful","isMounted","url","options","token","cancelToken","clearTimeout","recentlySuccessfulTimeoutId","setTimeout","_options","transform","isDirty","isEqual","callback","reset","fields","length","setError","newErrors","clearErrors","field","submit","get","post","put","patch","cancel"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/HeadContext.js","../src/PageContext.js","../src/App.js","../src/Link.js","../src/useRemember.js","../src/index.js","../src/Head.js","../src/createInertiaApp.js","../src/useForm.js","../src/usePage.js"],"sourcesContent":["import { createContext } from 'react'\n\nconst headContext = createContext()\nheadContext.displayName = 'InertiaHeadContext'\n\nexport default headContext\n","import { createContext } from 'react'\n\nconst pageContext = createContext()\npageContext.displayName = 'InertiaPageContext'\n\nexport default pageContext\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 { mergeDataIntoQueryString, router, shouldIntercept } from '@inertiajs/core'\nimport { createElement, forwardRef, useCallback } from 'react'\n\nconst noop = () => undefined\n\nexport default forwardRef(function Link(\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 headers = {},\n queryStringArrayFormat = 'brackets',\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 ...props\n },\n ref,\n) {\n const visit = useCallback(\n (event) => {\n onClick(event)\n\n if (shouldIntercept(event)) {\n event.preventDefault()\n\n router.visit(href, {\n data,\n method,\n preserveScroll,\n preserveState: preserveState ?? method !== 'get',\n replace,\n only,\n headers,\n onCancelToken,\n onBefore,\n onStart,\n onProgress,\n onFinish,\n onCancel,\n onSuccess,\n onError,\n })\n }\n },\n [\n data,\n href,\n method,\n preserveScroll,\n preserveState,\n replace,\n only,\n headers,\n onClick,\n onCancelToken,\n onBefore,\n onStart,\n onProgress,\n onFinish,\n onCancel,\n onSuccess,\n onError,\n ],\n )\n\n as = as.toLowerCase()\n method = method.toLowerCase()\n const [_href, _data] = mergeDataIntoQueryString(method, href || '', data, queryStringArrayFormat)\n href = _href\n data = _data\n\n if (as === 'a' && method !== 'get') {\n console.warn(\n `Creating POST/PUT/PATCH/DELETE <a> links is discouraged as it causes \"Open Link in New Tab/Window\" accessibility issues.\\n\\nPlease specify a more appropriate element using the \"as\" attribute. For example:\\n\\n<Link href=\"${href}\" method=\"${method}\" as=\"button\">...</Link>`,\n )\n }\n\n return createElement(\n as,\n {\n ...props,\n ...(as === 'a' ? { href } : {}),\n ref,\n onClick: visit,\n },\n children,\n )\n})\n","import { router } from '@inertiajs/core'\nimport { useEffect, useState } from 'react'\n\nexport default function useRemember(initialState, key) {\n const [state, setState] = useState(() => {\n const restored = router.restore(key)\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\nexport function useRememberedState(initialState, key) {\n console.warn(\n 'The \"useRememberedState\" hook has been deprecated and will be removed in a future release. Use \"useRemember\" instead.',\n )\n return useRemember(initialState, key)\n}\n","import { router as Router } from '@inertiajs/core'\n\nexport const router = Router\nexport { default as createInertiaApp } from './createInertiaApp'\nexport { default as Head } from './Head'\nexport { default as Link } from './Link'\nexport { default as useForm } from './useForm'\nexport { default as usePage } from './usePage'\nexport { default as useRemember } from './useRemember'\n","import React, { useContext, useEffect, useMemo } from 'react'\nimport HeadContext from './HeadContext'\n\nexport default function Head({ 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 = (Array.isArray(nodes) ? nodes : [nodes]).filter((node) => node).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}\n","import { setupProgress } from '@inertiajs/core'\nimport { createElement } from 'react'\nimport App from './App'\n\nexport default async function createInertiaApp({ id = 'app', resolve, setup, title, progress = {}, page, render }) {\n const isServer = typeof window === 'undefined'\n const el = isServer ? null : document.getElementById(id)\n const initialPage = page || JSON.parse(el.dataset.page)\n const resolveComponent = (name) => Promise.resolve(resolve(name)).then((module) => module.default || module)\n\n let head = []\n\n const reactApp = await resolveComponent(initialPage.component).then((initialComponent) => {\n return setup({\n el,\n App,\n props: {\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback: title,\n onHeadUpdate: isServer ? (elements) => (head = elements) : null,\n },\n })\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 reactApp,\n ),\n )\n\n return { head, body }\n }\n}\n","import { router } from '@inertiajs/core'\nimport isEqual from 'lodash.isequal'\nimport { useCallback, useEffect, useRef, useState } from 'react'\nimport useRemember from './useRemember'\n\nexport default function useForm(...args) {\n const isMounted = useRef(null)\n const rememberKey = typeof args[0] === 'string' ? args[0] : null\n const [defaults, setDefaults] = useState((typeof args[0] === 'string' ? args[1] : args[0]) || {})\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 ? useRemember({}, `${rememberKey}:errors`) : useState({})\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 let transform = (data) => data\n\n useEffect(() => {\n isMounted.current = true\n return () => {\n isMounted.current = false\n }\n }, [])\n\n const submit = useCallback(\n (method, url, options = {}) => {\n const _options = {\n ...options,\n onCancelToken: (token) => {\n cancelToken.current = token\n\n if (options.onCancelToken) {\n return options.onCancelToken(token)\n }\n },\n onBefore: (visit) => {\n setWasSuccessful(false)\n setRecentlySuccessful(false)\n clearTimeout(recentlySuccessfulTimeoutId.current)\n\n if (options.onBefore) {\n return options.onBefore(visit)\n }\n },\n onStart: (visit) => {\n setProcessing(true)\n\n if (options.onStart) {\n return options.onStart(visit)\n }\n },\n onProgress: (event) => {\n setProgress(event)\n\n if (options.onProgress) {\n return options.onProgress(event)\n }\n },\n onSuccess: (page) => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n setErrors({})\n setHasErrors(false)\n setWasSuccessful(true)\n setRecentlySuccessful(true)\n recentlySuccessfulTimeoutId.current = setTimeout(() => {\n if (isMounted.current) {\n setRecentlySuccessful(false)\n }\n }, 2000)\n }\n\n if (options.onSuccess) {\n return options.onSuccess(page)\n }\n },\n onError: (errors) => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n setErrors(errors)\n setHasErrors(true)\n }\n\n if (options.onError) {\n return options.onError(errors)\n }\n },\n onCancel: () => {\n if (isMounted.current) {\n setProcessing(false)\n setProgress(null)\n }\n\n if (options.onCancel) {\n return options.onCancel()\n }\n },\n onFinish: () => {\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()\n }\n },\n }\n\n if (method === 'delete') {\n router.delete(url, { ..._options, data: transform(data) })\n } else {\n router[method](url, transform(data), _options)\n }\n },\n [data, setErrors],\n )\n\n return {\n data,\n setData(key, value) {\n if (typeof key === 'string') {\n setData({ ...data, [key]: value })\n } else if (typeof key === 'function') {\n setData((data) => key(data))\n } else {\n setData(key)\n }\n },\n isDirty: !isEqual(data, defaults),\n errors,\n hasErrors,\n processing,\n progress,\n wasSuccessful,\n recentlySuccessful,\n transform(callback) {\n transform = callback\n },\n setDefaults(key, value) {\n if (typeof key === 'undefined') {\n setDefaults(() => data)\n } else {\n setDefaults((defaults) => ({\n ...defaults,\n ...(value ? { [key]: value } : key),\n }))\n }\n },\n reset(...fields) {\n if (fields.length === 0) {\n setData(defaults)\n } else {\n setData(\n Object.keys(defaults)\n .filter((key) => fields.includes(key))\n .reduce(\n (carry, key) => {\n carry[key] = defaults[key]\n return carry\n },\n { ...data },\n ),\n )\n }\n },\n setError(key, value) {\n setErrors((errors) => {\n const newErrors = {\n ...errors,\n ...(value ? { [key]: value } : key),\n }\n setHasErrors(Object.keys(newErrors).length > 0)\n return newErrors\n })\n },\n clearErrors(...fields) {\n setErrors((errors) => {\n const newErrors = Object.keys(errors).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 submit,\n get(url, options) {\n submit('get', url, options)\n },\n post(url, options) {\n submit('post', url, options)\n },\n put(url, options) {\n submit('put', url, options)\n },\n patch(url, options) {\n submit('patch', url, options)\n },\n delete(url, options) {\n submit('delete', url, options)\n },\n cancel() {\n if (cancelToken.current) {\n cancelToken.current.cancel()\n }\n },\n }\n}\n","import { useContext } from 'react'\nimport PageContext from './PageContext'\n\nexport default function usePage() {\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"],"names":["createContext","headContext","displayName","children","initialPage","resolveComponent","titleCallback","onHeadUpdate","useState","component","initialComponent","page","key","current","setCurrent","useMemo","title","useEffect","router","init","swapComponent","preserveState","Date","now","on","forceUpdate","HeadContext","Provider","value","headManager","createElement","PageContext","Component","props","layout","child","Array","isArray","concat","reverse","reduce","Layout","renderChildren","pageContext","App","ref","as","data","href","method","preserveScroll","replace","only","headers","queryStringArrayFormat","onClick","noop","onCancelToken","onBefore","onStart","onProgress","onFinish","onCancel","onSuccess","onError","useCallback","event","shouldIntercept","preventDefault","visit","toLowerCase","mergeDataIntoQueryString","console","warn","initialState","restore","undefined","restored","state","setState","remember","Router","nodes","useContext","createProvider","provider","disconnect","update","filter","node","map","Object","keys","carry","name","includes","type","attrs","renderTagStart","html","renderTag","renderTagChildren","dangerouslySetInnerHTML","__html","indexOf","isUnaryTag","cloneElement","inertia","ensureNodeHasInertiaProp","computed","find","tag","startsWith","push","id","resolve","setup","progress","render","isServer","document","getElementById","JSON","parse","el","dataset","then","module","elements","reactApp","setupProgress","data-page","stringify","head","body","useRef","args","defaults","setDefaults","rememberKey","useRemember","setData","errors","setErrors","hasErrors","setHasErrors","processing","setProcessing","setProgress","wasSuccessful","setWasSuccessful","recentlySuccessful","setRecentlySuccessful","isMounted","url","options","token","cancelToken","clearTimeout","recentlySuccessfulTimeoutId","setTimeout","_options","transform","isDirty","isEqual","callback","reset","fields","length","setError","newErrors","clearErrors","field","submit","get","post","put","patch","cancel"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inertiajs/react",
3
- "version": "1.0.0-beta.1",
3
+ "version": "1.0.0-beta.2",
4
4
  "license": "MIT",
5
5
  "description": "The React adapter for Inertia.js",
6
6
  "contributors": [
@@ -41,7 +41,7 @@
41
41
  "react": "^16.9.0 || ^17.0.0 || ^18.0.0"
42
42
  },
43
43
  "dependencies": {
44
- "@inertiajs/core": "1.0.0-beta.1",
44
+ "@inertiajs/core": "1.0.0-beta.2",
45
45
  "lodash.isequal": "^4.5.0"
46
46
  }
47
47
  }
package/src/index.js CHANGED
@@ -1,4 +1,6 @@
1
- export { router } from '@inertiajs/core'
1
+ import { router as Router } from '@inertiajs/core'
2
+
3
+ export const router = Router
2
4
  export { default as createInertiaApp } from './createInertiaApp'
3
5
  export { default as Head } from './Head'
4
6
  export { default as Link } from './Link'