@inertiajs/react 1.0.13 → 1.0.15

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,6 +1,6 @@
1
- import{router as Fe}from"@inertiajs/core";import{setupProgress as ee}from"@inertiajs/core";import{createElement as te}from"react";import{createHeadManager as G,router as j}from"@inertiajs/core";import{createElement as b,useEffect as X,useMemo as Y,useState as Z}from"react";import{createContext as Q}from"react";var N=Q(void 0);N.displayName="InertiaHeadContext";var A=N;import{createContext as z}from"react";var $=z(void 0);$.displayName="InertiaPageContext";var E=$;function O({children:l,initialPage:c,initialComponent:s,resolveComponent:p,titleCallback:a,onHeadUpdate:S}){let[d,P]=Z({component:s||null,page:c,key:null}),u=Y(()=>G(typeof window>"u",a||(f=>f),S||(()=>{})),[]);if(X(()=>{j.init({initialPage:c,resolveComponent:p,swapComponent:async({component:f,page:e,preserveState:i})=>{P(r=>({component:f,page:e,key:i?r.key:Date.now()}))}}),j.on("navigate",()=>u.forceUpdate())},[]),!d.component)return b(A.Provider,{value:u},b(E.Provider,{value:d.page},null));let g=l||(({Component:f,props:e,key:i})=>{let r=b(f,{key:i,...e});return typeof f.layout=="function"?f.layout(r):Array.isArray(f.layout)?f.layout.concat(r).reverse().reduce((y,T)=>b(T,{children:y,...e})):r});return b(A.Provider,{value:u},b(E.Provider,{value:d.page},g({Component:d.component,key:d.key,props:d.page.props})))}O.displayName="Inertia";async function U({id:l="app",resolve:c,setup:s,title:p,progress:a={},page:S,render:d}){let P=typeof window>"u",u=P?null:document.getElementById(l),g=S||JSON.parse(u.dataset.page),f=r=>Promise.resolve(c(r)).then(y=>y.default||y),e=[],i=await f(g.component).then(r=>s({el:u,App:O,props:{initialPage:g,initialComponent:r,resolveComponent:f,titleCallback:p,onHeadUpdate:P?y=>e=y:null}}));if(!P&&a&&ee(a),P){let r=await d(te("div",{id:l,"data-page":JSON.stringify(g)},i));return{head:e,body:r}}}import V,{useContext as re,useEffect as oe,useMemo as ne}from"react";var ae=function({children:l,title:c}){let s=re(A),p=ne(()=>s.createProvider(),[s]);oe(()=>()=>{p.disconnect()},[p]);function a(e){return["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"].indexOf(e.type)>-1}function S(e){let i=Object.keys(e.props).reduce((r,y)=>{if(["head-key","children","dangerouslySetInnerHTML"].includes(y))return r;let T=e.props[y];return T===""?r+` ${y}`:r+` ${y}="${T}"`},"");return`<${e.type}${i}>`}function d(e){return typeof e.props.children=="string"?e.props.children:e.props.children.reduce((i,r)=>i+P(r),"")}function P(e){let i=S(e);return e.props.children&&(i+=d(e)),e.props.dangerouslySetInnerHTML&&(i+=e.props.dangerouslySetInnerHTML.__html),a(e)||(i+=`</${e.type}>`),i}function u(e){return V.cloneElement(e,{inertia:e.props["head-key"]!==void 0?e.props["head-key"]:""})}function g(e){return P(u(e))}function f(e){let i=V.Children.toArray(e).filter(r=>r).map(r=>g(r));return c&&!i.find(r=>r.startsWith("<title"))&&i.push(`<title inertia>${c}</title>`),i}return p.update(f(l)),null},se=ae;import{mergeDataIntoQueryString as ie,router as pe,shouldIntercept as ue}from"@inertiajs/core";import{createElement as ce,forwardRef as le,useCallback as de}from"react";var F=()=>{},K=le(({children:l,as:c="a",data:s={},href:p,method:a="get",preserveScroll:S=!1,preserveState:d=null,replace:P=!1,only:u=[],headers:g={},queryStringArrayFormat:f="brackets",onClick:e=F,onCancelToken:i=F,onBefore:r=F,onStart:y=F,onProgress:T=F,onFinish:H=F,onCancel:h=F,onSuccess:M=F,onError:x=F,...L},R)=>{let I=de(t=>{e(t),ue(t)&&(t.preventDefault(),pe.visit(p,{data:s,method:a,preserveScroll:S,preserveState:d??a!=="get",replace:P,only:u,headers:g,onCancelToken:i,onBefore:r,onStart:y,onProgress:T,onFinish:H,onCancel:h,onSuccess:M,onError:x}))},[s,p,a,S,d,P,u,g,e,i,r,y,T,H,h,M,x]);c=c.toLowerCase(),a=a.toLowerCase();let[v,w]=ie(a,p||"",s,f);return p=v,s=w,c==="a"&&a!=="get"&&console.warn(`Creating POST/PUT/PATCH/DELETE <a> links is discouraged as it causes "Open Link in New Tab/Window" accessibility issues.
1
+ import{router as Se}from"@inertiajs/core";import{setupProgress as Z}from"@inertiajs/core";import{createElement as ee}from"react";import{createHeadManager as z,router as $}from"@inertiajs/core";import{createElement as b,useEffect as G,useMemo as X,useState as Y}from"react";import{createContext as J}from"react";var B=J(void 0);B.displayName="InertiaHeadContext";var A=B;import{createContext as Q}from"react";var N=Q(void 0);N.displayName="InertiaPageContext";var E=N;function w({children:l,initialPage:c,initialComponent:s,resolveComponent:p,titleCallback:a,onHeadUpdate:S}){let[d,P]=Y({component:s||null,page:c,key:null}),u=X(()=>z(typeof window>"u",a||(f=>f),S||(()=>{})),[]);if(G(()=>{$.init({initialPage:c,resolveComponent:p,swapComponent:async({component:f,page:e,preserveState:i})=>{P(r=>({component:f,page:e,key:i?r.key:Date.now()}))}}),$.on("navigate",()=>u.forceUpdate())},[]),!d.component)return b(A.Provider,{value:u},b(E.Provider,{value:d.page},null));let g=l||(({Component:f,props:e,key:i})=>{let r=b(f,{key:i,...e});return typeof f.layout=="function"?f.layout(r):Array.isArray(f.layout)?f.layout.concat(r).reverse().reduce((y,T)=>b(T,{children:y,...e})):r});return b(A.Provider,{value:u},b(E.Provider,{value:d.page},g({Component:d.component,key:d.key,props:d.page.props})))}w.displayName="Inertia";async function j({id:l="app",resolve:c,setup:s,title:p,progress:a={},page:S,render:d}){let P=typeof window>"u",u=P?null:document.getElementById(l),g=S||JSON.parse(u.dataset.page),f=r=>Promise.resolve(c(r)).then(y=>y.default||y),e=[],i=await f(g.component).then(r=>s({el:u,App:w,props:{initialPage:g,initialComponent:r,resolveComponent:f,titleCallback:p,onHeadUpdate:P?y=>e=y:null}}));if(!P&&a&&Z(a),P){let r=await d(ee("div",{id:l,"data-page":JSON.stringify(g)},i));return{head:e,body:r}}}import U,{useContext as te,useEffect as re,useMemo as oe}from"react";var ne=function({children:l,title:c}){let s=te(A),p=oe(()=>s.createProvider(),[s]);re(()=>()=>{p.disconnect()},[p]);function a(e){return["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"].indexOf(e.type)>-1}function S(e){let i=Object.keys(e.props).reduce((r,y)=>{if(["head-key","children","dangerouslySetInnerHTML"].includes(y))return r;let T=e.props[y];return T===""?r+` ${y}`:r+` ${y}="${T}"`},"");return`<${e.type}${i}>`}function d(e){return typeof e.props.children=="string"?e.props.children:e.props.children.reduce((i,r)=>i+P(r),"")}function P(e){let i=S(e);return e.props.children&&(i+=d(e)),e.props.dangerouslySetInnerHTML&&(i+=e.props.dangerouslySetInnerHTML.__html),a(e)||(i+=`</${e.type}>`),i}function u(e){return U.cloneElement(e,{inertia:e.props["head-key"]!==void 0?e.props["head-key"]:""})}function g(e){return P(u(e))}function f(e){let i=U.Children.toArray(e).filter(r=>r).map(r=>g(r));return c&&!i.find(r=>r.startsWith("<title"))&&i.push(`<title inertia>${c}</title>`),i}return p.update(f(l)),null},ae=ne;import{mergeDataIntoQueryString as se,router as ie,shouldIntercept as pe}from"@inertiajs/core";import{createElement as ue,forwardRef as ce,useCallback as le}from"react";var F=()=>{},V=ce(({children:l,as:c="a",data:s={},href:p,method:a="get",preserveScroll:S=!1,preserveState:d=null,replace:P=!1,only:u=[],headers:g={},queryStringArrayFormat:f="brackets",onClick:e=F,onCancelToken:i=F,onBefore:r=F,onStart:y=F,onProgress:T=F,onFinish:H=F,onCancel:h=F,onSuccess:M=F,onError:x=F,...O},R)=>{let I=le(o=>{e(o),pe(o)&&(o.preventDefault(),ie.visit(p,{data:s,method:a,preserveScroll:S,preserveState:d??a!=="get",replace:P,only:u,headers:g,onCancelToken:i,onBefore:r,onStart:y,onProgress:T,onFinish:H,onCancel:h,onSuccess:M,onError:x}))},[s,p,a,S,d,P,u,g,e,i,r,y,T,H,h,M,x]);c=c.toLowerCase(),a=a.toLowerCase();let[v,t]=se(a,p||"",s,f);return p=v,s=t,c==="a"&&a!=="get"&&console.warn(`Creating POST/PUT/PATCH/DELETE <a> links is discouraged as it causes "Open Link in New Tab/Window" accessibility issues.
2
2
 
3
3
  Please specify a more appropriate element using the "as" attribute. For example:
4
4
 
5
- <Link href="${p}" method="${a}" as="button">...</Link>`),ce(c,{...L,...c==="a"?{href:p}:{},ref:R,onClick:I},l)});K.displayName="InertiaLink";var fe=K;import{router as W}from"@inertiajs/core";import ye from"lodash.isequal";import{useCallback as Pe,useEffect as Te,useRef as B,useState as C}from"react";import{router as _}from"@inertiajs/core";import{useEffect as me,useState as ge}from"react";function D(l,c){let[s,p]=ge(()=>{let a=_.restore(c);return a!==void 0?a:l});return me(()=>{_.remember(s,c)},[s,c]),[s,p]}function q(l,c){let s=B(null),p=typeof l=="string"?l:null,[a,S]=C((typeof l=="string"?c:l)||{}),d=B(null),P=B(null),[u,g]=p?D(a,`${p}:data`):C(a),[f,e]=p?D({},`${p}:errors`):C({}),[i,r]=C(!1),[y,T]=C(!1),[H,h]=C(null),[M,x]=C(!1),[L,R]=C(!1),I=t=>t;Te(()=>(s.current=!0,()=>{s.current=!1}),[]);let v=Pe((t,n,o={})=>{let k={...o,onCancelToken:m=>{if(d.current=m,o.onCancelToken)return o.onCancelToken(m)},onBefore:m=>{if(x(!1),R(!1),clearTimeout(P.current),o.onBefore)return o.onBefore(m)},onStart:m=>{if(T(!0),o.onStart)return o.onStart(m)},onProgress:m=>{if(h(m),o.onProgress)return o.onProgress(m)},onSuccess:m=>{if(s.current&&(T(!1),h(null),e({}),r(!1),x(!0),R(!0),P.current=setTimeout(()=>{s.current&&R(!1)},2e3)),o.onSuccess)return o.onSuccess(m)},onError:m=>{if(s.current&&(T(!1),h(null),e(m),r(!0)),o.onError)return o.onError(m)},onCancel:()=>{if(s.current&&(T(!1),h(null)),o.onCancel)return o.onCancel()},onFinish:()=>{if(s.current&&(T(!1),h(null)),d.current=null,o.onFinish)return o.onFinish()}};t==="delete"?W.delete(n,{...k,data:I(u)}):W[t](n,I(u),k)},[u,e]);function w(...t){e(n=>{let o=Object.keys(n).reduce((k,m)=>({...k,...t.length>0&&!t.includes(m)?{[m]:n[m]}:{}}),{});return r(Object.keys(o).length>0),o})}return{data:u,setData(t,n){g(typeof t=="string"?{...u,[t]:n}:typeof t=="function"?o=>t(o):t)},isDirty:!ye(u,a),errors:f,hasErrors:i,processing:y,progress:H,wasSuccessful:M,recentlySuccessful:L,transform(t){I=t},setDefaults(t,n){S(typeof t>"u"?()=>u:o=>({...o,...typeof t=="string"?{[t]:n}:t}))},reset(...t){t.length===0?(g(a),e({}),r(!1)):(g(Object.keys(a).filter(n=>t.includes(n)).reduce((n,o)=>(n[o]=a[o],n),{...u})),w(...t))},setError(t,n){e(o=>{let k={...o,...typeof t=="string"?{[t]:n}:t};return r(Object.keys(k).length>0),k})},clearErrors:w,submit:v,get(t,n){v("get",t,n)},post(t,n){v("post",t,n)},put(t,n){v("put",t,n)},patch(t,n){v("patch",t,n)},delete(t,n){v("delete",t,n)},cancel(){d.current&&d.current.cancel()}}}import{useContext as Se}from"react";function J(){let l=Se(E);if(!l)throw new Error("usePage must be used within the Inertia component");return l}var Pt=Fe;export{se as Head,fe as Link,U as createInertiaApp,Pt as router,q as useForm,J as usePage,D as useRemember};
5
+ <Link href="${p}" method="${a}" as="button">...</Link>`),ue(c,{...O,...c==="a"?{href:p}:{},ref:R,onClick:I},l)});V.displayName="InertiaLink";var de=V;import{router as _}from"@inertiajs/core";import ge from"lodash.isequal";import{useCallback as ye,useEffect as Pe,useRef as L,useState as C}from"react";import{router as K}from"@inertiajs/core";import{useEffect as fe,useState as me}from"react";function D(l,c){let[s,p]=me(()=>{let a=K.restore(c);return a!==void 0?a:l});return fe(()=>{K.remember(s,c)},[s,c]),[s,p]}function W(l,c){let s=L(null),p=typeof l=="string"?l:null,[a,S]=C((typeof l=="string"?c:l)||{}),d=L(null),P=L(null),[u,g]=p?D(a,`${p}:data`):C(a),[f,e]=p?D({},`${p}:errors`):C({}),[i,r]=C(!1),[y,T]=C(!1),[H,h]=C(null),[M,x]=C(!1),[O,R]=C(!1),I=t=>t;Pe(()=>(s.current=!0,()=>{s.current=!1}),[]);let v=ye((t,o,n={})=>{let k={...n,onCancelToken:m=>{if(d.current=m,n.onCancelToken)return n.onCancelToken(m)},onBefore:m=>{if(x(!1),R(!1),clearTimeout(P.current),n.onBefore)return n.onBefore(m)},onStart:m=>{if(T(!0),n.onStart)return n.onStart(m)},onProgress:m=>{if(h(m),n.onProgress)return n.onProgress(m)},onSuccess:m=>{if(s.current&&(T(!1),h(null),e({}),r(!1),x(!0),R(!0),P.current=setTimeout(()=>{s.current&&R(!1)},2e3)),n.onSuccess)return n.onSuccess(m)},onError:m=>{if(s.current&&(T(!1),h(null),e(m),r(!0)),n.onError)return n.onError(m)},onCancel:()=>{if(s.current&&(T(!1),h(null)),n.onCancel)return n.onCancel()},onFinish:()=>{if(s.current&&(T(!1),h(null)),d.current=null,n.onFinish)return n.onFinish()}};t==="delete"?_.delete(o,{...k,data:I(u)}):_[t](o,I(u),k)},[u,e]);return{data:u,setData(t,o){g(typeof t=="string"?{...u,[t]:o}:typeof t=="function"?n=>t(n):t)},isDirty:!ge(u,a),errors:f,hasErrors:i,processing:y,progress:H,wasSuccessful:M,recentlySuccessful:O,transform(t){I=t},setDefaults(t,o){S(typeof t>"u"?()=>u:n=>({...n,...typeof t=="string"?{[t]:o}:t}))},reset(...t){t.length===0?g(a):g(Object.keys(a).filter(o=>t.includes(o)).reduce((o,n)=>(o[n]=a[n],o),{...u}))},setError(t,o){e(n=>{let k={...n,...typeof t=="string"?{[t]:o}:t};return r(Object.keys(k).length>0),k})},clearErrors(...t){e(o=>{let n=Object.keys(o).reduce((k,m)=>({...k,...t.length>0&&!t.includes(m)?{[m]:o[m]}:{}}),{});return r(Object.keys(n).length>0),n})},submit:v,get(t,o){v("get",t,o)},post(t,o){v("post",t,o)},put(t,o){v("put",t,o)},patch(t,o){v("patch",t,o)},delete(t,o){v("delete",t,o)},cancel(){d.current&&d.current.cancel()}}}import{useContext as Te}from"react";function q(){let l=Te(E);if(!l)throw new Error("usePage must be used within the Inertia component");return l}var yt=Se;export{ae as Head,de as Link,j as createInertiaApp,yt as router,W as useForm,q as usePage,D as useRemember};
6
6
  //# sourceMappingURL=index.esm.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts", "../src/createInertiaApp.ts", "../src/App.ts", "../src/HeadContext.ts", "../src/PageContext.ts", "../src/Head.ts", "../src/Link.ts", "../src/useForm.ts", "../src/useRemember.ts", "../src/usePage.ts"],
4
- "sourcesContent": ["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, InertiaLinkProps } from './Link'\nexport { default as useForm } from './useForm'\nexport { default as usePage } from './usePage'\nexport { default as useRemember } from './useRemember'\n", "import { Page, PageProps, PageResolver, setupProgress } from '@inertiajs/core'\nimport { ComponentType, createElement, FunctionComponent, Key, ReactElement, ReactNode } from 'react'\nimport { renderToString } from 'react-dom/server'\nimport App from './App'\n\ntype ReactInstance = ReactElement\ntype ReactComponent = ReactNode\n\ntype HeadManagerOnUpdate = (elements: string[]) => void // TODO: When shipped, replace with: Inertia.HeadManagerOnUpdate\ntype HeadManagerTitleCallback = (title: string) => string // TODO: When shipped, replace with: Inertia.HeadManagerTitleCallback\n\ntype AppType<SharedProps extends PageProps = PageProps> = FunctionComponent<\n {\n children?: (props: { Component: ComponentType; key: Key; props: Page<SharedProps>['props'] }) => ReactNode\n } & SetupOptions<unknown, SharedProps>['props']\n>\n\nexport type SetupOptions<ElementType, SharedProps extends PageProps> = {\n el: ElementType\n App: AppType\n props: {\n initialPage: Page<SharedProps>\n initialComponent: ReactComponent\n resolveComponent: PageResolver\n titleCallback?: HeadManagerTitleCallback\n onHeadUpdate?: HeadManagerOnUpdate\n }\n}\n\ntype BaseInertiaAppOptions = {\n title?: HeadManagerTitleCallback\n resolve: PageResolver\n}\n\ntype CreateInertiaAppSetupReturnType = ReactInstance | void\ntype InertiaAppOptionsForCSR<SharedProps extends PageProps> = BaseInertiaAppOptions & {\n id?: string\n page?: Page | string\n render?: undefined\n progress?:\n | false\n | {\n delay?: number\n color?: string\n includeCSS?: boolean\n showSpinner?: boolean\n }\n setup(options: SetupOptions<HTMLElement, SharedProps>): CreateInertiaAppSetupReturnType\n}\n\ntype CreateInertiaAppSSRContent = { head: string[]; body: string }\ntype InertiaAppOptionsForSSR<SharedProps extends PageProps> = BaseInertiaAppOptions & {\n id?: undefined\n page: Page | string\n render: typeof renderToString\n progress?: undefined\n setup(options: SetupOptions<null, SharedProps>): ReactInstance\n}\n\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>(\n options: InertiaAppOptionsForCSR<SharedProps>,\n): Promise<CreateInertiaAppSetupReturnType>\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>(\n options: InertiaAppOptionsForSSR<SharedProps>,\n): Promise<CreateInertiaAppSSRContent>\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>({\n id = 'app',\n resolve,\n setup,\n title,\n progress = {},\n page,\n render,\n}: InertiaAppOptionsForCSR<SharedProps> | InertiaAppOptionsForSSR<SharedProps>): Promise<\n CreateInertiaAppSetupReturnType | CreateInertiaAppSSRContent\n> {\n const isServer = typeof window === 'undefined'\n const el = isServer ? null : document.getElementById(id)\n const initialPage = page || JSON.parse(el.dataset.page)\n // @ts-expect-error\n const resolveComponent = (name) => Promise.resolve(resolve(name)).then((module) => module.default || module)\n\n let head = []\n\n const reactApp = await resolveComponent(initialPage.component).then((initialComponent) => {\n return setup({\n // @ts-expect-error\n el,\n App,\n props: {\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback: title,\n onHeadUpdate: isServer ? (elements) => (head = elements) : null,\n },\n })\n })\n\n if (!isServer && progress) {\n setupProgress(progress)\n }\n\n if (isServer) {\n const body = await render(\n createElement(\n 'div',\n {\n id,\n 'data-page': JSON.stringify(initialPage),\n },\n // @ts-expect-error\n reactApp,\n ),\n )\n\n return { head, body }\n }\n}\n", "import { createHeadManager, router } from '@inertiajs/core'\nimport { createElement, useEffect, useMemo, useState } from 'react'\nimport HeadContext from './HeadContext'\nimport PageContext from './PageContext'\n\nexport default function App({\n children,\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback,\n onHeadUpdate,\n}) {\n const [current, setCurrent] = useState({\n component: initialComponent || null,\n page: initialPage,\n key: null,\n })\n\n const headManager = useMemo(() => {\n return createHeadManager(\n typeof window === 'undefined',\n titleCallback || ((title) => title),\n onHeadUpdate || (() => {}),\n )\n }, [])\n\n useEffect(() => {\n router.init({\n initialPage,\n resolveComponent,\n swapComponent: async ({ component, page, preserveState }) => {\n setCurrent((current) => ({\n component,\n page,\n key: preserveState ? current.key : Date.now(),\n }))\n },\n })\n\n router.on('navigate', () => headManager.forceUpdate())\n }, [])\n\n if (!current.component) {\n return createElement(\n HeadContext.Provider,\n { value: headManager },\n createElement(PageContext.Provider, { value: current.page }, null),\n )\n }\n\n const renderChildren =\n children ||\n (({ Component, props, key }) => {\n const child = createElement(Component, { key, ...props })\n\n if (typeof Component.layout === 'function') {\n return Component.layout(child)\n }\n\n if (Array.isArray(Component.layout)) {\n return Component.layout\n .concat(child)\n .reverse()\n .reduce((children, Layout) => createElement(Layout, { children, ...props }))\n }\n\n return child\n })\n\n return createElement(\n HeadContext.Provider,\n { value: headManager },\n createElement(\n PageContext.Provider,\n { value: current.page },\n renderChildren({\n Component: current.component,\n key: current.key,\n props: current.page.props,\n }),\n ),\n )\n}\n\nApp.displayName = 'Inertia'\n", "import { createContext } from 'react'\n\nconst headContext = createContext(undefined)\nheadContext.displayName = 'InertiaHeadContext'\n\nexport default headContext\n", "import { createContext } from 'react'\n\nconst pageContext = createContext(undefined)\npageContext.displayName = 'InertiaPageContext'\n\nexport default pageContext\n", "import React, { FunctionComponent, useContext, useEffect, useMemo } from 'react'\nimport HeadContext from './HeadContext'\n\ntype InertiaHeadProps = {\n title?: string\n children?: React.ReactNode\n}\n\ntype InertiaHead = FunctionComponent<InertiaHeadProps>\n\nconst Head: InertiaHead = function ({ children, title }) {\n const headManager = useContext(HeadContext)\n const provider = useMemo(() => headManager.createProvider(), [headManager])\n\n useEffect(() => {\n return () => {\n provider.disconnect()\n }\n }, [provider])\n\n function isUnaryTag(node) {\n return (\n [\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'keygen',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr',\n ].indexOf(node.type) > -1\n )\n }\n\n function renderTagStart(node) {\n const attrs = Object.keys(node.props).reduce((carry, name) => {\n if (['head-key', 'children', 'dangerouslySetInnerHTML'].includes(name)) {\n return carry\n }\n const value = node.props[name]\n if (value === '') {\n return carry + ` ${name}`\n } else {\n return carry + ` ${name}=\"${value}\"`\n }\n }, '')\n return `<${node.type}${attrs}>`\n }\n\n function renderTagChildren(node) {\n return typeof node.props.children === 'string'\n ? node.props.children\n : node.props.children.reduce((html, child) => html + renderTag(child), '')\n }\n\n function renderTag(node) {\n let html = renderTagStart(node)\n if (node.props.children) {\n html += renderTagChildren(node)\n }\n if (node.props.dangerouslySetInnerHTML) {\n html += node.props.dangerouslySetInnerHTML.__html\n }\n if (!isUnaryTag(node)) {\n html += `</${node.type}>`\n }\n return html\n }\n\n function ensureNodeHasInertiaProp(node) {\n return React.cloneElement(node, {\n inertia: node.props['head-key'] !== undefined ? node.props['head-key'] : '',\n })\n }\n\n function renderNode(node) {\n return renderTag(ensureNodeHasInertiaProp(node))\n }\n\n function renderNodes(nodes) {\n const computed = React.Children.toArray(nodes).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}\nexport default Head\n", "import {\n FormDataConvertible,\n mergeDataIntoQueryString,\n Method,\n PreserveStateOption,\n Progress,\n router,\n shouldIntercept,\n} from '@inertiajs/core'\nimport { createElement, forwardRef, useCallback } from 'react'\n\nconst noop = () => undefined\n\ninterface BaseInertiaLinkProps {\n as?: string\n data?: Record<string, FormDataConvertible>\n href: string\n method?: Method\n headers?: Record<string, string>\n onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void\n preserveScroll?: PreserveStateOption\n preserveState?: PreserveStateOption\n replace?: boolean\n only?: string[]\n onCancelToken?: (cancelToken: import('axios').CancelTokenSource) => void\n onBefore?: () => void\n onStart?: () => void\n onProgress?: (progress: Progress) => void\n onFinish?: () => void\n onCancel?: () => void\n onSuccess?: () => void\n onError?: () => void\n queryStringArrayFormat?: 'indices' | 'brackets'\n}\n\nexport type InertiaLinkProps = BaseInertiaLinkProps &\n Omit<React.HTMLAttributes<HTMLElement>, keyof BaseInertiaLinkProps> &\n Omit<React.AllHTMLAttributes<HTMLElement>, keyof BaseInertiaLinkProps>\n\nconst Link = forwardRef<unknown, InertiaLinkProps>(\n (\n {\n children,\n as = 'a',\n data = {},\n href,\n method = 'get',\n preserveScroll = false,\n preserveState = null,\n replace = false,\n only = [],\n 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() as Method\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)\nLink.displayName = 'InertiaLink'\n\nexport default Link\n", "import { FormDataConvertible, Method, Progress, router, VisitOptions } from '@inertiajs/core'\nimport isEqual from 'lodash.isequal'\nimport { useCallback, useEffect, useRef, useState } from 'react'\nimport useRemember from './useRemember'\n\ntype setDataByObject<TForm> = (data: TForm) => void\ntype setDataByMethod<TForm> = (data: (previousData: TForm) => TForm) => void\ntype setDataByKeyValuePair<TForm> = <K extends keyof TForm>(key: K, value: TForm[K]) => void\ntype FormDataType = object;\n\nexport interface InertiaFormProps<TForm extends FormDataType> {\n data: TForm\n isDirty: boolean\n errors: Partial<Record<keyof TForm, string>>\n hasErrors: boolean\n processing: boolean\n progress: Progress | null\n wasSuccessful: boolean\n recentlySuccessful: boolean\n setData: setDataByObject<TForm> & setDataByMethod<TForm> & setDataByKeyValuePair<TForm>\n transform: (callback: (data: TForm) => TForm) => void\n setDefaults(): void\n setDefaults(field: keyof TForm, value: FormDataConvertible): void\n setDefaults(fields: Partial<TForm>): void\n reset: (...fields: (keyof TForm)[]) => void\n clearErrors: (...fields: (keyof TForm)[]) => void\n setError(field: keyof TForm, value: string): void\n setError(errors: Record<keyof TForm, string>): void\n submit: (method: Method, url: string, options?: VisitOptions) => void\n get: (url: string, options?: VisitOptions) => void\n patch: (url: string, options?: VisitOptions) => void\n post: (url: string, options?: VisitOptions) => void\n put: (url: string, options?: VisitOptions) => void\n delete: (url: string, options?: VisitOptions) => void\n cancel: () => void\n}\nexport default function useForm<TForm extends FormDataType>(initialValues?: TForm): InertiaFormProps<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKey: string,\n initialValues?: TForm,\n): InertiaFormProps<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKeyOrInitialValues?: string | TForm,\n maybeInitialValues?: TForm,\n): InertiaFormProps<TForm> {\n const isMounted = useRef(null)\n const rememberKey = typeof rememberKeyOrInitialValues === 'string' ? rememberKeyOrInitialValues : null\n const [defaults, setDefaults] = useState(\n (typeof rememberKeyOrInitialValues === 'string' ? maybeInitialValues : rememberKeyOrInitialValues) || ({} as TForm),\n )\n const cancelToken = useRef(null)\n const recentlySuccessfulTimeoutId = useRef(null)\n const [data, setData] = rememberKey ? useRemember(defaults, `${rememberKey}:data`) : useState(defaults)\n const [errors, setErrors] = rememberKey\n ? useRemember({} as Partial<Record<keyof TForm, string>>, `${rememberKey}:errors`)\n : useState({} as Partial<Record<keyof TForm, string>>)\n const [hasErrors, setHasErrors] = useState(false)\n const [processing, setProcessing] = useState(false)\n const [progress, setProgress] = useState(null)\n const [wasSuccessful, setWasSuccessful] = useState(false)\n const [recentlySuccessful, setRecentlySuccessful] = useState(false)\n 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 function clearErrors(...fields) {\n setErrors((errors) => {\n const newErrors = (Object.keys(errors) as Array<keyof TForm>).reduce(\n (carry, field) => ({\n ...carry,\n ...(fields.length > 0 && !fields.includes(field) ? { [field]: errors[field] } : {}),\n }),\n {},\n )\n setHasErrors(Object.keys(newErrors).length > 0)\n return newErrors\n })\n }\n\n return {\n data,\n setData(keyOrData: keyof TForm | Function | TForm, maybeValue?: TForm[keyof TForm]) {\n if (typeof keyOrData === 'string') {\n setData({ ...data, [keyOrData]: maybeValue })\n } else if (typeof keyOrData === 'function') {\n setData((data) => keyOrData(data))\n } else {\n setData(keyOrData as TForm)\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(fieldOrFields?: keyof TForm | Partial<TForm>, maybeValue?: FormDataConvertible) {\n if (typeof fieldOrFields === 'undefined') {\n setDefaults(() => data)\n } else {\n setDefaults((defaults) => ({\n ...defaults,\n ...(typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : (fieldOrFields as TForm)),\n }))\n }\n },\n reset(...fields) {\n if (fields.length === 0) {\n setData(defaults)\n setErrors({})\n setHasErrors(false)\n } else {\n setData(\n (Object.keys(defaults) as Array<keyof TForm>)\n .filter((key) => fields.includes(key))\n .reduce(\n (carry, key) => {\n carry[key] = defaults[key]\n return carry\n },\n { ...data },\n ),\n )\n clearErrors(...fields)\n }\n },\n setError(fieldOrFields: keyof TForm | Record<keyof TForm, string>, maybeValue?: string) {\n setErrors((errors) => {\n const newErrors = {\n ...errors,\n ...(typeof fieldOrFields === 'string'\n ? { [fieldOrFields]: maybeValue }\n : (fieldOrFields as Record<keyof TForm, string>)),\n }\n setHasErrors(Object.keys(newErrors).length > 0)\n return newErrors\n })\n },\n clearErrors,\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 { router } from '@inertiajs/core'\nimport { Dispatch, SetStateAction, useEffect, useState } from 'react'\n\nexport default function useRemember<State>(\n initialState: State,\n key?: string,\n): [State, Dispatch<SetStateAction<State>>] {\n const [state, setState] = useState(() => {\n const restored = router.restore(key) as State\n\n return restored !== undefined ? restored : initialState\n })\n\n useEffect(() => {\n router.remember(state, key)\n }, [state, key])\n\n return [state, setState]\n}\n\n/** @deprecated use `useRemember` instead */\nexport function useRememberedState<State>(initialState: State, key?: string): [State, Dispatch<SetStateAction<State>>] {\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 { Page, PageProps } from '@inertiajs/core'\nimport { useContext } from 'react'\nimport PageContext from './PageContext'\n\nexport default function usePage<TPageProps extends PageProps = PageProps>(): Page<TPageProps> {\n const page = useContext(PageContext)\n\n if (!page) {\n throw new Error('usePage must be used within the Inertia component')\n }\n\n return page\n}\n"],
5
- "mappings": "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",
6
- "names": ["Router", "setupProgress", "createElement", "createHeadManager", "router", "createElement", "useEffect", "useMemo", "useState", "createContext", "headContext", "HeadContext_default", "createContext", "pageContext", "PageContext_default", "App", "children", "initialPage", "initialComponent", "resolveComponent", "titleCallback", "onHeadUpdate", "current", "setCurrent", "useState", "headManager", "useMemo", "createHeadManager", "title", "useEffect", "router", "component", "page", "preserveState", "createElement", "HeadContext_default", "PageContext_default", "renderChildren", "Component", "props", "key", "child", "Layout", "createInertiaApp", "id", "resolve", "setup", "title", "progress", "page", "render", "isServer", "el", "initialPage", "resolveComponent", "name", "module", "head", "reactApp", "initialComponent", "App", "elements", "setupProgress", "body", "createElement", "React", "useContext", "useEffect", "useMemo", "Head", "children", "title", "headManager", "useContext", "HeadContext_default", "provider", "useMemo", "useEffect", "isUnaryTag", "node", "renderTagStart", "attrs", "carry", "name", "value", "renderTagChildren", "html", "child", "renderTag", "ensureNodeHasInertiaProp", "React", "renderNode", "renderNodes", "nodes", "computed", "tag", "Head_default", "mergeDataIntoQueryString", "router", "shouldIntercept", "createElement", "forwardRef", "useCallback", "noop", "Link", "children", "as", "data", "href", "method", "preserveScroll", "preserveState", "replace", "only", "headers", "queryStringArrayFormat", "onClick", "onCancelToken", "onBefore", "onStart", "onProgress", "onFinish", "onCancel", "onSuccess", "onError", "props", "ref", "visit", "event", "_href", "_data", "Link_default", "router", "isEqual", "useCallback", "useEffect", "useRef", "useState", "router", "useEffect", "useState", "useRemember", "initialState", "key", "state", "setState", "restored", "useForm", "rememberKeyOrInitialValues", "maybeInitialValues", "isMounted", "useRef", "rememberKey", "defaults", "setDefaults", "useState", "cancelToken", "recentlySuccessfulTimeoutId", "data", "setData", "useRemember", "errors", "setErrors", "hasErrors", "setHasErrors", "processing", "setProcessing", "progress", "setProgress", "wasSuccessful", "setWasSuccessful", "recentlySuccessful", "setRecentlySuccessful", "transform", "useEffect", "submit", "useCallback", "method", "url", "options", "_options", "token", "visit", "event", "page", "router", "clearErrors", "fields", "newErrors", "carry", "field", "keyOrData", "maybeValue", "isEqual", "callback", "fieldOrFields", "key", "useContext", "usePage", "page", "useContext", "PageContext_default", "router", "Router"]
4
+ "sourcesContent": ["import { router as Router } from '@inertiajs/core'\n\nexport const router = Router\nexport { default as createInertiaApp } from './createInertiaApp'\nexport { default as Head } from './Head'\nexport { default as Link, InertiaLinkProps } from './Link'\nexport { default as useForm } from './useForm'\nexport { default as usePage } from './usePage'\nexport { default as useRemember } from './useRemember'\n", "import { Page, PageProps, PageResolver, setupProgress } from '@inertiajs/core'\nimport { ComponentType, createElement, FunctionComponent, Key, ReactElement, ReactNode } from 'react'\nimport { renderToString } from 'react-dom/server'\nimport App from './App'\n\ntype ReactInstance = ReactElement\ntype ReactComponent = ReactNode\n\ntype HeadManagerOnUpdate = (elements: string[]) => void // TODO: When shipped, replace with: Inertia.HeadManagerOnUpdate\ntype HeadManagerTitleCallback = (title: string) => string // TODO: When shipped, replace with: Inertia.HeadManagerTitleCallback\n\ntype AppType<SharedProps extends PageProps = PageProps> = FunctionComponent<\n {\n children?: (props: { Component: ComponentType; key: Key; props: Page<SharedProps>['props'] }) => ReactNode\n } & SetupOptions<unknown, SharedProps>['props']\n>\n\nexport type SetupOptions<ElementType, SharedProps extends PageProps> = {\n el: ElementType\n App: AppType\n props: {\n initialPage: Page<SharedProps>\n initialComponent: ReactComponent\n resolveComponent: PageResolver\n titleCallback?: HeadManagerTitleCallback\n onHeadUpdate?: HeadManagerOnUpdate\n }\n}\n\ntype BaseInertiaAppOptions = {\n title?: HeadManagerTitleCallback\n resolve: PageResolver\n}\n\ntype CreateInertiaAppSetupReturnType = ReactInstance | void\ntype InertiaAppOptionsForCSR<SharedProps extends PageProps> = BaseInertiaAppOptions & {\n id?: string\n page?: Page | string\n render?: undefined\n progress?:\n | false\n | {\n delay?: number\n color?: string\n includeCSS?: boolean\n showSpinner?: boolean\n }\n setup(options: SetupOptions<HTMLElement, SharedProps>): CreateInertiaAppSetupReturnType\n}\n\ntype CreateInertiaAppSSRContent = { head: string[]; body: string }\ntype InertiaAppOptionsForSSR<SharedProps extends PageProps> = BaseInertiaAppOptions & {\n id?: undefined\n page: Page | string\n render: typeof renderToString\n progress?: undefined\n setup(options: SetupOptions<null, SharedProps>): ReactInstance\n}\n\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>(\n options: InertiaAppOptionsForCSR<SharedProps>,\n): Promise<CreateInertiaAppSetupReturnType>\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>(\n options: InertiaAppOptionsForSSR<SharedProps>,\n): Promise<CreateInertiaAppSSRContent>\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>({\n id = 'app',\n resolve,\n setup,\n title,\n progress = {},\n page,\n render,\n}: InertiaAppOptionsForCSR<SharedProps> | InertiaAppOptionsForSSR<SharedProps>): Promise<\n CreateInertiaAppSetupReturnType | CreateInertiaAppSSRContent\n> {\n const isServer = typeof window === 'undefined'\n const el = isServer ? null : document.getElementById(id)\n const initialPage = page || JSON.parse(el.dataset.page)\n // @ts-expect-error\n const resolveComponent = (name) => Promise.resolve(resolve(name)).then((module) => module.default || module)\n\n let head = []\n\n const reactApp = await resolveComponent(initialPage.component).then((initialComponent) => {\n return setup({\n // @ts-expect-error\n el,\n App,\n props: {\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback: title,\n onHeadUpdate: isServer ? (elements) => (head = elements) : null,\n },\n })\n })\n\n if (!isServer && progress) {\n setupProgress(progress)\n }\n\n if (isServer) {\n const body = await render(\n createElement(\n 'div',\n {\n id,\n 'data-page': JSON.stringify(initialPage),\n },\n // @ts-expect-error\n reactApp,\n ),\n )\n\n return { head, body }\n }\n}\n", "import { createHeadManager, router } from '@inertiajs/core'\nimport { createElement, useEffect, useMemo, useState } from 'react'\nimport HeadContext from './HeadContext'\nimport PageContext from './PageContext'\n\nexport default function App({\n children,\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback,\n onHeadUpdate,\n}) {\n const [current, setCurrent] = useState({\n component: initialComponent || null,\n page: initialPage,\n key: null,\n })\n\n const headManager = useMemo(() => {\n return createHeadManager(\n typeof window === 'undefined',\n titleCallback || ((title) => title),\n onHeadUpdate || (() => {}),\n )\n }, [])\n\n useEffect(() => {\n router.init({\n initialPage,\n resolveComponent,\n swapComponent: async ({ component, page, preserveState }) => {\n setCurrent((current) => ({\n component,\n page,\n key: preserveState ? current.key : Date.now(),\n }))\n },\n })\n\n router.on('navigate', () => headManager.forceUpdate())\n }, [])\n\n if (!current.component) {\n return createElement(\n HeadContext.Provider,\n { value: headManager },\n createElement(PageContext.Provider, { value: current.page }, null),\n )\n }\n\n const renderChildren =\n children ||\n (({ Component, props, key }) => {\n const child = createElement(Component, { key, ...props })\n\n if (typeof Component.layout === 'function') {\n return Component.layout(child)\n }\n\n if (Array.isArray(Component.layout)) {\n return Component.layout\n .concat(child)\n .reverse()\n .reduce((children, Layout) => createElement(Layout, { children, ...props }))\n }\n\n return child\n })\n\n return createElement(\n HeadContext.Provider,\n { value: headManager },\n createElement(\n PageContext.Provider,\n { value: current.page },\n renderChildren({\n Component: current.component,\n key: current.key,\n props: current.page.props,\n }),\n ),\n )\n}\n\nApp.displayName = 'Inertia'\n", "import { createContext } from 'react'\n\nconst headContext = createContext(undefined)\nheadContext.displayName = 'InertiaHeadContext'\n\nexport default headContext\n", "import { createContext } from 'react'\n\nconst pageContext = createContext(undefined)\npageContext.displayName = 'InertiaPageContext'\n\nexport default pageContext\n", "import React, { FunctionComponent, useContext, useEffect, useMemo } from 'react'\nimport HeadContext from './HeadContext'\n\ntype InertiaHeadProps = {\n title?: string\n children?: React.ReactNode\n}\n\ntype InertiaHead = FunctionComponent<InertiaHeadProps>\n\nconst Head: InertiaHead = function ({ children, title }) {\n const headManager = useContext(HeadContext)\n const provider = useMemo(() => headManager.createProvider(), [headManager])\n\n useEffect(() => {\n return () => {\n provider.disconnect()\n }\n }, [provider])\n\n function isUnaryTag(node) {\n return (\n [\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'keygen',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr',\n ].indexOf(node.type) > -1\n )\n }\n\n function renderTagStart(node) {\n const attrs = Object.keys(node.props).reduce((carry, name) => {\n if (['head-key', 'children', 'dangerouslySetInnerHTML'].includes(name)) {\n return carry\n }\n const value = node.props[name]\n if (value === '') {\n return carry + ` ${name}`\n } else {\n return carry + ` ${name}=\"${value}\"`\n }\n }, '')\n return `<${node.type}${attrs}>`\n }\n\n function renderTagChildren(node) {\n return typeof node.props.children === 'string'\n ? node.props.children\n : node.props.children.reduce((html, child) => html + renderTag(child), '')\n }\n\n function renderTag(node) {\n let html = renderTagStart(node)\n if (node.props.children) {\n html += renderTagChildren(node)\n }\n if (node.props.dangerouslySetInnerHTML) {\n html += node.props.dangerouslySetInnerHTML.__html\n }\n if (!isUnaryTag(node)) {\n html += `</${node.type}>`\n }\n return html\n }\n\n function ensureNodeHasInertiaProp(node) {\n return React.cloneElement(node, {\n inertia: node.props['head-key'] !== undefined ? node.props['head-key'] : '',\n })\n }\n\n function renderNode(node) {\n return renderTag(ensureNodeHasInertiaProp(node))\n }\n\n function renderNodes(nodes) {\n const computed = React.Children.toArray(nodes).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}\nexport default Head\n", "import {\n FormDataConvertible,\n mergeDataIntoQueryString,\n Method,\n PreserveStateOption,\n Progress,\n router,\n shouldIntercept,\n} from '@inertiajs/core'\nimport { createElement, forwardRef, useCallback } from 'react'\n\nconst noop = () => undefined\n\ninterface BaseInertiaLinkProps {\n as?: string\n data?: Record<string, FormDataConvertible>\n href: string\n method?: Method\n headers?: Record<string, string>\n onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void\n preserveScroll?: PreserveStateOption\n preserveState?: PreserveStateOption\n replace?: boolean\n only?: string[]\n onCancelToken?: (cancelToken: import('axios').CancelTokenSource) => void\n onBefore?: () => void\n onStart?: () => void\n onProgress?: (progress: Progress) => void\n onFinish?: () => void\n onCancel?: () => void\n onSuccess?: () => void\n onError?: () => void\n queryStringArrayFormat?: 'indices' | 'brackets'\n}\n\nexport type InertiaLinkProps = BaseInertiaLinkProps &\n Omit<React.HTMLAttributes<HTMLElement>, keyof BaseInertiaLinkProps> &\n Omit<React.AllHTMLAttributes<HTMLElement>, keyof BaseInertiaLinkProps>\n\nconst Link = forwardRef<unknown, InertiaLinkProps>(\n (\n {\n children,\n as = 'a',\n data = {},\n href,\n method = 'get',\n preserveScroll = false,\n preserveState = null,\n replace = false,\n only = [],\n 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() as Method\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)\nLink.displayName = 'InertiaLink'\n\nexport default Link\n", "import { FormDataConvertible, Method, Progress, router, VisitOptions } from '@inertiajs/core'\nimport isEqual from 'lodash.isequal'\nimport { useCallback, useEffect, useRef, useState } from 'react'\nimport useRemember from './useRemember'\n\ntype setDataByObject<TForm> = (data: TForm) => void\ntype setDataByMethod<TForm> = (data: (previousData: TForm) => TForm) => void\ntype setDataByKeyValuePair<TForm> = <K extends keyof TForm>(key: K, value: TForm[K]) => void\ntype FormDataType = object;\n\nexport interface InertiaFormProps<TForm extends FormDataType> {\n data: TForm\n isDirty: boolean\n errors: Partial<Record<keyof TForm, string>>\n hasErrors: boolean\n processing: boolean\n progress: Progress | null\n wasSuccessful: boolean\n recentlySuccessful: boolean\n setData: setDataByObject<TForm> & setDataByMethod<TForm> & setDataByKeyValuePair<TForm>\n transform: (callback: (data: TForm) => TForm) => void\n setDefaults(): void\n setDefaults(field: keyof TForm, value: FormDataConvertible): void\n setDefaults(fields: Partial<TForm>): void\n reset: (...fields: (keyof TForm)[]) => void\n clearErrors: (...fields: (keyof TForm)[]) => void\n setError(field: keyof TForm, value: string): void\n setError(errors: Record<keyof TForm, string>): void\n submit: (method: Method, url: string, options?: VisitOptions) => void\n get: (url: string, options?: VisitOptions) => void\n patch: (url: string, options?: VisitOptions) => void\n post: (url: string, options?: VisitOptions) => void\n put: (url: string, options?: VisitOptions) => void\n delete: (url: string, options?: VisitOptions) => void\n cancel: () => void\n}\nexport default function useForm<TForm extends FormDataType>(initialValues?: TForm): InertiaFormProps<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKey: string,\n initialValues?: TForm,\n): InertiaFormProps<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKeyOrInitialValues?: string | TForm,\n maybeInitialValues?: TForm,\n): InertiaFormProps<TForm> {\n const isMounted = useRef(null)\n const rememberKey = typeof rememberKeyOrInitialValues === 'string' ? rememberKeyOrInitialValues : null\n const [defaults, setDefaults] = useState(\n (typeof rememberKeyOrInitialValues === 'string' ? maybeInitialValues : rememberKeyOrInitialValues) || ({} as TForm),\n )\n const cancelToken = useRef(null)\n const recentlySuccessfulTimeoutId = useRef(null)\n const [data, setData] = rememberKey ? useRemember(defaults, `${rememberKey}:data`) : useState(defaults)\n const [errors, setErrors] = rememberKey\n ? useRemember({} as Partial<Record<keyof TForm, string>>, `${rememberKey}:errors`)\n : useState({} as Partial<Record<keyof TForm, string>>)\n const [hasErrors, setHasErrors] = useState(false)\n const [processing, setProcessing] = useState(false)\n const [progress, setProgress] = useState(null)\n const [wasSuccessful, setWasSuccessful] = useState(false)\n const [recentlySuccessful, setRecentlySuccessful] = useState(false)\n 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(keyOrData: keyof TForm | Function | TForm, maybeValue?: TForm[keyof TForm]) {\n if (typeof keyOrData === 'string') {\n setData({ ...data, [keyOrData]: maybeValue })\n } else if (typeof keyOrData === 'function') {\n setData((data) => keyOrData(data))\n } else {\n setData(keyOrData as TForm)\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(fieldOrFields?: keyof TForm | Partial<TForm>, maybeValue?: FormDataConvertible) {\n if (typeof fieldOrFields === 'undefined') {\n setDefaults(() => data)\n } else {\n setDefaults((defaults) => ({\n ...defaults,\n ...(typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : (fieldOrFields as TForm)),\n }))\n }\n },\n reset(...fields) {\n if (fields.length === 0) {\n setData(defaults)\n } else {\n setData(\n (Object.keys(defaults) as Array<keyof TForm>)\n .filter((key) => fields.includes(key))\n .reduce(\n (carry, key) => {\n carry[key] = defaults[key]\n return carry\n },\n { ...data },\n ),\n )\n }\n },\n setError(fieldOrFields: keyof TForm | Record<keyof TForm, string>, maybeValue?: string) {\n setErrors((errors) => {\n const newErrors = {\n ...errors,\n ...(typeof fieldOrFields === 'string'\n ? { [fieldOrFields]: maybeValue }\n : (fieldOrFields as Record<keyof TForm, string>)),\n }\n setHasErrors(Object.keys(newErrors).length > 0)\n return newErrors\n })\n },\n clearErrors(...fields) {\n setErrors((errors) => {\n const newErrors = (Object.keys(errors) as Array<keyof TForm>).reduce(\n (carry, field) => ({\n ...carry,\n ...(fields.length > 0 && !fields.includes(field) ? { [field]: errors[field] } : {}),\n }),\n {},\n )\n setHasErrors(Object.keys(newErrors).length > 0)\n return newErrors\n })\n },\n 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 { router } from '@inertiajs/core'\nimport { Dispatch, SetStateAction, useEffect, useState } from 'react'\n\nexport default function useRemember<State>(\n initialState: State,\n key?: string,\n): [State, Dispatch<SetStateAction<State>>] {\n const [state, setState] = useState(() => {\n const restored = router.restore(key) as State\n\n return restored !== undefined ? restored : initialState\n })\n\n useEffect(() => {\n router.remember(state, key)\n }, [state, key])\n\n return [state, setState]\n}\n\n/** @deprecated use `useRemember` instead */\nexport function useRememberedState<State>(initialState: State, key?: string): [State, Dispatch<SetStateAction<State>>] {\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 { Page, PageProps } from '@inertiajs/core'\nimport { useContext } from 'react'\nimport PageContext from './PageContext'\n\nexport default function usePage<TPageProps extends PageProps = PageProps>(): Page<TPageProps> {\n const page = useContext(PageContext)\n\n if (!page) {\n throw new Error('usePage must be used within the Inertia component')\n }\n\n return page\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["Router", "setupProgress", "createElement", "createHeadManager", "router", "createElement", "useEffect", "useMemo", "useState", "createContext", "headContext", "HeadContext_default", "createContext", "pageContext", "PageContext_default", "App", "children", "initialPage", "initialComponent", "resolveComponent", "titleCallback", "onHeadUpdate", "current", "setCurrent", "useState", "headManager", "useMemo", "createHeadManager", "title", "useEffect", "router", "component", "page", "preserveState", "createElement", "HeadContext_default", "PageContext_default", "renderChildren", "Component", "props", "key", "child", "Layout", "createInertiaApp", "id", "resolve", "setup", "title", "progress", "page", "render", "isServer", "el", "initialPage", "resolveComponent", "name", "module", "head", "reactApp", "initialComponent", "App", "elements", "setupProgress", "body", "createElement", "React", "useContext", "useEffect", "useMemo", "Head", "children", "title", "headManager", "useContext", "HeadContext_default", "provider", "useMemo", "useEffect", "isUnaryTag", "node", "renderTagStart", "attrs", "carry", "name", "value", "renderTagChildren", "html", "child", "renderTag", "ensureNodeHasInertiaProp", "React", "renderNode", "renderNodes", "nodes", "computed", "tag", "Head_default", "mergeDataIntoQueryString", "router", "shouldIntercept", "createElement", "forwardRef", "useCallback", "noop", "Link", "children", "as", "data", "href", "method", "preserveScroll", "preserveState", "replace", "only", "headers", "queryStringArrayFormat", "onClick", "onCancelToken", "onBefore", "onStart", "onProgress", "onFinish", "onCancel", "onSuccess", "onError", "props", "ref", "visit", "event", "_href", "_data", "Link_default", "router", "isEqual", "useCallback", "useEffect", "useRef", "useState", "router", "useEffect", "useState", "useRemember", "initialState", "key", "state", "setState", "restored", "useForm", "rememberKeyOrInitialValues", "maybeInitialValues", "isMounted", "useRef", "rememberKey", "defaults", "setDefaults", "useState", "cancelToken", "recentlySuccessfulTimeoutId", "data", "setData", "useRemember", "errors", "setErrors", "hasErrors", "setHasErrors", "processing", "setProcessing", "progress", "setProgress", "wasSuccessful", "setWasSuccessful", "recentlySuccessful", "setRecentlySuccessful", "transform", "useEffect", "submit", "useCallback", "method", "url", "options", "_options", "token", "visit", "event", "page", "router", "keyOrData", "maybeValue", "isEqual", "callback", "fieldOrFields", "fields", "key", "carry", "newErrors", "field", "useContext", "usePage", "page", "useContext", "PageContext_default", "router", "Router"]
7
7
  }
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- var pe=Object.create;var $=Object.defineProperty;var ue=Object.getOwnPropertyDescriptor;var ce=Object.getOwnPropertyNames;var le=Object.getPrototypeOf,de=Object.prototype.hasOwnProperty;var fe=(r,a)=>{for(var o in a)$(r,o,{get:a[o],enumerable:!0})},Q=(r,a,o,u)=>{if(a&&typeof a=="object"||typeof a=="function")for(let s of ce(a))!de.call(r,s)&&s!==o&&$(r,s,{get:()=>a[s],enumerable:!(u=ue(a,s))||u.enumerable});return r};var z=(r,a,o)=>(o=r!=null?pe(le(r)):{},Q(a||!r||!r.__esModule?$(o,"default",{value:r,enumerable:!0}):o,r)),me=r=>Q($({},"__esModule",{value:!0}),r);var Pe={};fe(Pe,{Head:()=>re,Link:()=>ne,createInertiaApp:()=>K,router:()=>ye,useForm:()=>q,usePage:()=>J,useRemember:()=>A});module.exports=me(Pe);var ie=require("@inertiajs/core");var ee=require("@inertiajs/core"),te=require("react");var O=require("@inertiajs/core"),F=require("react");var G=require("react"),X=(0,G.createContext)(void 0);X.displayName="InertiaHeadContext";var M=X;var Y=require("react"),Z=(0,Y.createContext)(void 0);Z.displayName="InertiaPageContext";var w=Z;function j({children:r,initialPage:a,initialComponent:o,resolveComponent:u,titleCallback:s,onHeadUpdate:h}){let[d,T]=(0,F.useState)({component:o||null,page:a,key:null}),l=(0,F.useMemo)(()=>(0,O.createHeadManager)(typeof window>"u",s||(f=>f),h||(()=>{})),[]);if((0,F.useEffect)(()=>{O.router.init({initialPage:a,resolveComponent:u,swapComponent:async({component:f,page:e,preserveState:c})=>{T(n=>({component:f,page:e,key:c?n.key:Date.now()}))}}),O.router.on("navigate",()=>l.forceUpdate())},[]),!d.component)return(0,F.createElement)(M.Provider,{value:l},(0,F.createElement)(w.Provider,{value:d.page},null));let y=r||(({Component:f,props:e,key:c})=>{let n=(0,F.createElement)(f,{key:c,...e});return typeof f.layout=="function"?f.layout(n):Array.isArray(f.layout)?f.layout.concat(n).reverse().reduce((P,S)=>(0,F.createElement)(S,{children:P,...e})):n});return(0,F.createElement)(M.Provider,{value:l},(0,F.createElement)(w.Provider,{value:d.page},y({Component:d.component,key:d.key,props:d.page.props})))}j.displayName="Inertia";async function K({id:r="app",resolve:a,setup:o,title:u,progress:s={},page:h,render:d}){let T=typeof window>"u",l=T?null:document.getElementById(r),y=h||JSON.parse(l.dataset.page),f=n=>Promise.resolve(a(n)).then(P=>P.default||P),e=[],c=await f(y.component).then(n=>o({el:l,App:j,props:{initialPage:y,initialComponent:n,resolveComponent:f,titleCallback:u,onHeadUpdate:T?P=>e=P:null}}));if(!T&&s&&(0,ee.setupProgress)(s),T){let n=await d((0,te.createElement)("div",{id:r,"data-page":JSON.stringify(y)},c));return{head:e,body:n}}}var v=z(require("react"),1);var ge=function({children:r,title:a}){let o=(0,v.useContext)(M),u=(0,v.useMemo)(()=>o.createProvider(),[o]);(0,v.useEffect)(()=>()=>{u.disconnect()},[u]);function s(e){return["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"].indexOf(e.type)>-1}function h(e){let c=Object.keys(e.props).reduce((n,P)=>{if(["head-key","children","dangerouslySetInnerHTML"].includes(P))return n;let S=e.props[P];return S===""?n+` ${P}`:n+` ${P}="${S}"`},"");return`<${e.type}${c}>`}function d(e){return typeof e.props.children=="string"?e.props.children:e.props.children.reduce((c,n)=>c+T(n),"")}function T(e){let c=h(e);return e.props.children&&(c+=d(e)),e.props.dangerouslySetInnerHTML&&(c+=e.props.dangerouslySetInnerHTML.__html),s(e)||(c+=`</${e.type}>`),c}function l(e){return v.default.cloneElement(e,{inertia:e.props["head-key"]!==void 0?e.props["head-key"]:""})}function y(e){return T(l(e))}function f(e){let c=v.default.Children.toArray(e).filter(n=>n).map(n=>y(n));return a&&!c.find(n=>n.startsWith("<title"))&&c.push(`<title inertia>${a}</title>`),c}return u.update(f(r)),null},re=ge;var R=require("@inertiajs/core"),I=require("react"),C=()=>{},oe=(0,I.forwardRef)(({children:r,as:a="a",data:o={},href:u,method:s="get",preserveScroll:h=!1,preserveState:d=null,replace:T=!1,only:l=[],headers:y={},queryStringArrayFormat:f="brackets",onClick:e=C,onCancelToken:c=C,onBefore:n=C,onStart:P=C,onProgress:S=C,onFinish:L=C,onCancel:k=C,onSuccess:B=C,onError:E=C,...V},D)=>{let H=(0,I.useCallback)(t=>{e(t),(0,R.shouldIntercept)(t)&&(t.preventDefault(),R.router.visit(u,{data:o,method:s,preserveScroll:h,preserveState:d??s!=="get",replace:T,only:l,headers:y,onCancelToken:c,onBefore:n,onStart:P,onProgress:S,onFinish:L,onCancel:k,onSuccess:B,onError:E}))},[o,u,s,h,d,T,l,y,e,c,n,P,S,L,k,B,E]);a=a.toLowerCase(),s=s.toLowerCase();let[b,N]=(0,R.mergeDataIntoQueryString)(s,u||"",o,f);return u=b,o=N,a==="a"&&s!=="get"&&console.warn(`Creating POST/PUT/PATCH/DELETE <a> links is discouraged as it causes "Open Link in New Tab/Window" accessibility issues.
1
+ var ie=Object.create;var N=Object.defineProperty;var pe=Object.getOwnPropertyDescriptor;var ue=Object.getOwnPropertyNames;var ce=Object.getPrototypeOf,le=Object.prototype.hasOwnProperty;var de=(r,n)=>{for(var o in n)N(r,o,{get:n[o],enumerable:!0})},J=(r,n,o,u)=>{if(n&&typeof n=="object"||typeof n=="function")for(let a of ue(n))!le.call(r,a)&&a!==o&&N(r,a,{get:()=>n[a],enumerable:!(u=pe(n,a))||u.enumerable});return r};var Q=(r,n,o)=>(o=r!=null?ie(ce(r)):{},J(n||!r||!r.__esModule?N(o,"default",{value:r,enumerable:!0}):o,r)),fe=r=>J(N({},"__esModule",{value:!0}),r);var ye={};de(ye,{Head:()=>te,Link:()=>oe,createInertiaApp:()=>V,router:()=>ge,useForm:()=>W,usePage:()=>q,useRemember:()=>A});module.exports=fe(ye);var se=require("@inertiajs/core");var Z=require("@inertiajs/core"),ee=require("react");var O=require("@inertiajs/core"),F=require("react");var z=require("react"),G=(0,z.createContext)(void 0);G.displayName="InertiaHeadContext";var M=G;var X=require("react"),Y=(0,X.createContext)(void 0);Y.displayName="InertiaPageContext";var w=Y;function $({children:r,initialPage:n,initialComponent:o,resolveComponent:u,titleCallback:a,onHeadUpdate:h}){let[d,T]=(0,F.useState)({component:o||null,page:n,key:null}),l=(0,F.useMemo)(()=>(0,O.createHeadManager)(typeof window>"u",a||(f=>f),h||(()=>{})),[]);if((0,F.useEffect)(()=>{O.router.init({initialPage:n,resolveComponent:u,swapComponent:async({component:f,page:e,preserveState:c})=>{T(s=>({component:f,page:e,key:c?s.key:Date.now()}))}}),O.router.on("navigate",()=>l.forceUpdate())},[]),!d.component)return(0,F.createElement)(M.Provider,{value:l},(0,F.createElement)(w.Provider,{value:d.page},null));let y=r||(({Component:f,props:e,key:c})=>{let s=(0,F.createElement)(f,{key:c,...e});return typeof f.layout=="function"?f.layout(s):Array.isArray(f.layout)?f.layout.concat(s).reverse().reduce((P,S)=>(0,F.createElement)(S,{children:P,...e})):s});return(0,F.createElement)(M.Provider,{value:l},(0,F.createElement)(w.Provider,{value:d.page},y({Component:d.component,key:d.key,props:d.page.props})))}$.displayName="Inertia";async function V({id:r="app",resolve:n,setup:o,title:u,progress:a={},page:h,render:d}){let T=typeof window>"u",l=T?null:document.getElementById(r),y=h||JSON.parse(l.dataset.page),f=s=>Promise.resolve(n(s)).then(P=>P.default||P),e=[],c=await f(y.component).then(s=>o({el:l,App:$,props:{initialPage:y,initialComponent:s,resolveComponent:f,titleCallback:u,onHeadUpdate:T?P=>e=P:null}}));if(!T&&a&&(0,Z.setupProgress)(a),T){let s=await d((0,ee.createElement)("div",{id:r,"data-page":JSON.stringify(y)},c));return{head:e,body:s}}}var v=Q(require("react"),1);var me=function({children:r,title:n}){let o=(0,v.useContext)(M),u=(0,v.useMemo)(()=>o.createProvider(),[o]);(0,v.useEffect)(()=>()=>{u.disconnect()},[u]);function a(e){return["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"].indexOf(e.type)>-1}function h(e){let c=Object.keys(e.props).reduce((s,P)=>{if(["head-key","children","dangerouslySetInnerHTML"].includes(P))return s;let S=e.props[P];return S===""?s+` ${P}`:s+` ${P}="${S}"`},"");return`<${e.type}${c}>`}function d(e){return typeof e.props.children=="string"?e.props.children:e.props.children.reduce((c,s)=>c+T(s),"")}function T(e){let c=h(e);return e.props.children&&(c+=d(e)),e.props.dangerouslySetInnerHTML&&(c+=e.props.dangerouslySetInnerHTML.__html),a(e)||(c+=`</${e.type}>`),c}function l(e){return v.default.cloneElement(e,{inertia:e.props["head-key"]!==void 0?e.props["head-key"]:""})}function y(e){return T(l(e))}function f(e){let c=v.default.Children.toArray(e).filter(s=>s).map(s=>y(s));return n&&!c.find(s=>s.startsWith("<title"))&&c.push(`<title inertia>${n}</title>`),c}return u.update(f(r)),null},te=me;var R=require("@inertiajs/core"),I=require("react"),C=()=>{},re=(0,I.forwardRef)(({children:r,as:n="a",data:o={},href:u,method:a="get",preserveScroll:h=!1,preserveState:d=null,replace:T=!1,only:l=[],headers:y={},queryStringArrayFormat:f="brackets",onClick:e=C,onCancelToken:c=C,onBefore:s=C,onStart:P=C,onProgress:S=C,onFinish:L=C,onCancel:k=C,onSuccess:B=C,onError:E=C,...U},D)=>{let H=(0,I.useCallback)(i=>{e(i),(0,R.shouldIntercept)(i)&&(i.preventDefault(),R.router.visit(u,{data:o,method:a,preserveScroll:h,preserveState:d??a!=="get",replace:T,only:l,headers:y,onCancelToken:c,onBefore:s,onStart:P,onProgress:S,onFinish:L,onCancel:k,onSuccess:B,onError:E}))},[o,u,a,h,d,T,l,y,e,c,s,P,S,L,k,B,E]);n=n.toLowerCase(),a=a.toLowerCase();let[b,t]=(0,R.mergeDataIntoQueryString)(a,u||"",o,f);return u=b,o=t,n==="a"&&a!=="get"&&console.warn(`Creating POST/PUT/PATCH/DELETE <a> links is discouraged as it causes "Open Link in New Tab/Window" accessibility issues.
2
2
 
3
3
  Please specify a more appropriate element using the "as" attribute. For example:
4
4
 
5
- <Link href="${u}" method="${s}" as="button">...</Link>`),(0,I.createElement)(a,{...V,...a==="a"?{href:u}:{},ref:D,onClick:H},r)});oe.displayName="InertiaLink";var ne=oe;var W=require("@inertiajs/core"),ae=z(require("lodash.isequal"),1),g=require("react");var _=require("@inertiajs/core"),U=require("react");function A(r,a){let[o,u]=(0,U.useState)(()=>{let s=_.router.restore(a);return s!==void 0?s:r});return(0,U.useEffect)(()=>{_.router.remember(o,a)},[o,a]),[o,u]}function q(r,a){let o=(0,g.useRef)(null),u=typeof r=="string"?r:null,[s,h]=(0,g.useState)((typeof r=="string"?a:r)||{}),d=(0,g.useRef)(null),T=(0,g.useRef)(null),[l,y]=u?A(s,`${u}:data`):(0,g.useState)(s),[f,e]=u?A({},`${u}:errors`):(0,g.useState)({}),[c,n]=(0,g.useState)(!1),[P,S]=(0,g.useState)(!1),[L,k]=(0,g.useState)(null),[B,E]=(0,g.useState)(!1),[V,D]=(0,g.useState)(!1),H=t=>t;(0,g.useEffect)(()=>(o.current=!0,()=>{o.current=!1}),[]);let b=(0,g.useCallback)((t,p,i={})=>{let x={...i,onCancelToken:m=>{if(d.current=m,i.onCancelToken)return i.onCancelToken(m)},onBefore:m=>{if(E(!1),D(!1),clearTimeout(T.current),i.onBefore)return i.onBefore(m)},onStart:m=>{if(S(!0),i.onStart)return i.onStart(m)},onProgress:m=>{if(k(m),i.onProgress)return i.onProgress(m)},onSuccess:m=>{if(o.current&&(S(!1),k(null),e({}),n(!1),E(!0),D(!0),T.current=setTimeout(()=>{o.current&&D(!1)},2e3)),i.onSuccess)return i.onSuccess(m)},onError:m=>{if(o.current&&(S(!1),k(null),e(m),n(!0)),i.onError)return i.onError(m)},onCancel:()=>{if(o.current&&(S(!1),k(null)),i.onCancel)return i.onCancel()},onFinish:()=>{if(o.current&&(S(!1),k(null)),d.current=null,i.onFinish)return i.onFinish()}};t==="delete"?W.router.delete(p,{...x,data:H(l)}):W.router[t](p,H(l),x)},[l,e]);function N(...t){e(p=>{let i=Object.keys(p).reduce((x,m)=>({...x,...t.length>0&&!t.includes(m)?{[m]:p[m]}:{}}),{});return n(Object.keys(i).length>0),i})}return{data:l,setData(t,p){y(typeof t=="string"?{...l,[t]:p}:typeof t=="function"?i=>t(i):t)},isDirty:!(0,ae.default)(l,s),errors:f,hasErrors:c,processing:P,progress:L,wasSuccessful:B,recentlySuccessful:V,transform(t){H=t},setDefaults(t,p){h(typeof t>"u"?()=>l:i=>({...i,...typeof t=="string"?{[t]:p}:t}))},reset(...t){t.length===0?(y(s),e({}),n(!1)):(y(Object.keys(s).filter(p=>t.includes(p)).reduce((p,i)=>(p[i]=s[i],p),{...l})),N(...t))},setError(t,p){e(i=>{let x={...i,...typeof t=="string"?{[t]:p}:t};return n(Object.keys(x).length>0),x})},clearErrors:N,submit:b,get(t,p){b("get",t,p)},post(t,p){b("post",t,p)},put(t,p){b("put",t,p)},patch(t,p){b("patch",t,p)},delete(t,p){b("delete",t,p)},cancel(){d.current&&d.current.cancel()}}}var se=require("react");function J(){let r=(0,se.useContext)(w);if(!r)throw new Error("usePage must be used within the Inertia component");return r}var ye=ie.router;
5
+ <Link href="${u}" method="${a}" as="button">...</Link>`),(0,I.createElement)(n,{...U,...n==="a"?{href:u}:{},ref:D,onClick:H},r)});re.displayName="InertiaLink";var oe=re;var _=require("@inertiajs/core"),ne=Q(require("lodash.isequal"),1),g=require("react");var K=require("@inertiajs/core"),j=require("react");function A(r,n){let[o,u]=(0,j.useState)(()=>{let a=K.router.restore(n);return a!==void 0?a:r});return(0,j.useEffect)(()=>{K.router.remember(o,n)},[o,n]),[o,u]}function W(r,n){let o=(0,g.useRef)(null),u=typeof r=="string"?r:null,[a,h]=(0,g.useState)((typeof r=="string"?n:r)||{}),d=(0,g.useRef)(null),T=(0,g.useRef)(null),[l,y]=u?A(a,`${u}:data`):(0,g.useState)(a),[f,e]=u?A({},`${u}:errors`):(0,g.useState)({}),[c,s]=(0,g.useState)(!1),[P,S]=(0,g.useState)(!1),[L,k]=(0,g.useState)(null),[B,E]=(0,g.useState)(!1),[U,D]=(0,g.useState)(!1),H=t=>t;(0,g.useEffect)(()=>(o.current=!0,()=>{o.current=!1}),[]);let b=(0,g.useCallback)((t,i,p={})=>{let x={...p,onCancelToken:m=>{if(d.current=m,p.onCancelToken)return p.onCancelToken(m)},onBefore:m=>{if(E(!1),D(!1),clearTimeout(T.current),p.onBefore)return p.onBefore(m)},onStart:m=>{if(S(!0),p.onStart)return p.onStart(m)},onProgress:m=>{if(k(m),p.onProgress)return p.onProgress(m)},onSuccess:m=>{if(o.current&&(S(!1),k(null),e({}),s(!1),E(!0),D(!0),T.current=setTimeout(()=>{o.current&&D(!1)},2e3)),p.onSuccess)return p.onSuccess(m)},onError:m=>{if(o.current&&(S(!1),k(null),e(m),s(!0)),p.onError)return p.onError(m)},onCancel:()=>{if(o.current&&(S(!1),k(null)),p.onCancel)return p.onCancel()},onFinish:()=>{if(o.current&&(S(!1),k(null)),d.current=null,p.onFinish)return p.onFinish()}};t==="delete"?_.router.delete(i,{...x,data:H(l)}):_.router[t](i,H(l),x)},[l,e]);return{data:l,setData(t,i){y(typeof t=="string"?{...l,[t]:i}:typeof t=="function"?p=>t(p):t)},isDirty:!(0,ne.default)(l,a),errors:f,hasErrors:c,processing:P,progress:L,wasSuccessful:B,recentlySuccessful:U,transform(t){H=t},setDefaults(t,i){h(typeof t>"u"?()=>l:p=>({...p,...typeof t=="string"?{[t]:i}:t}))},reset(...t){t.length===0?y(a):y(Object.keys(a).filter(i=>t.includes(i)).reduce((i,p)=>(i[p]=a[p],i),{...l}))},setError(t,i){e(p=>{let x={...p,...typeof t=="string"?{[t]:i}:t};return s(Object.keys(x).length>0),x})},clearErrors(...t){e(i=>{let p=Object.keys(i).reduce((x,m)=>({...x,...t.length>0&&!t.includes(m)?{[m]:i[m]}:{}}),{});return s(Object.keys(p).length>0),p})},submit:b,get(t,i){b("get",t,i)},post(t,i){b("post",t,i)},put(t,i){b("put",t,i)},patch(t,i){b("patch",t,i)},delete(t,i){b("delete",t,i)},cancel(){d.current&&d.current.cancel()}}}var ae=require("react");function q(){let r=(0,ae.useContext)(w);if(!r)throw new Error("usePage must be used within the Inertia component");return r}var ge=se.router;
6
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts", "../src/createInertiaApp.ts", "../src/App.ts", "../src/HeadContext.ts", "../src/PageContext.ts", "../src/Head.ts", "../src/Link.ts", "../src/useForm.ts", "../src/useRemember.ts", "../src/usePage.ts"],
4
- "sourcesContent": ["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, InertiaLinkProps } from './Link'\nexport { default as useForm } from './useForm'\nexport { default as usePage } from './usePage'\nexport { default as useRemember } from './useRemember'\n", "import { Page, PageProps, PageResolver, setupProgress } from '@inertiajs/core'\nimport { ComponentType, createElement, FunctionComponent, Key, ReactElement, ReactNode } from 'react'\nimport { renderToString } from 'react-dom/server'\nimport App from './App'\n\ntype ReactInstance = ReactElement\ntype ReactComponent = ReactNode\n\ntype HeadManagerOnUpdate = (elements: string[]) => void // TODO: When shipped, replace with: Inertia.HeadManagerOnUpdate\ntype HeadManagerTitleCallback = (title: string) => string // TODO: When shipped, replace with: Inertia.HeadManagerTitleCallback\n\ntype AppType<SharedProps extends PageProps = PageProps> = FunctionComponent<\n {\n children?: (props: { Component: ComponentType; key: Key; props: Page<SharedProps>['props'] }) => ReactNode\n } & SetupOptions<unknown, SharedProps>['props']\n>\n\nexport type SetupOptions<ElementType, SharedProps extends PageProps> = {\n el: ElementType\n App: AppType\n props: {\n initialPage: Page<SharedProps>\n initialComponent: ReactComponent\n resolveComponent: PageResolver\n titleCallback?: HeadManagerTitleCallback\n onHeadUpdate?: HeadManagerOnUpdate\n }\n}\n\ntype BaseInertiaAppOptions = {\n title?: HeadManagerTitleCallback\n resolve: PageResolver\n}\n\ntype CreateInertiaAppSetupReturnType = ReactInstance | void\ntype InertiaAppOptionsForCSR<SharedProps extends PageProps> = BaseInertiaAppOptions & {\n id?: string\n page?: Page | string\n render?: undefined\n progress?:\n | false\n | {\n delay?: number\n color?: string\n includeCSS?: boolean\n showSpinner?: boolean\n }\n setup(options: SetupOptions<HTMLElement, SharedProps>): CreateInertiaAppSetupReturnType\n}\n\ntype CreateInertiaAppSSRContent = { head: string[]; body: string }\ntype InertiaAppOptionsForSSR<SharedProps extends PageProps> = BaseInertiaAppOptions & {\n id?: undefined\n page: Page | string\n render: typeof renderToString\n progress?: undefined\n setup(options: SetupOptions<null, SharedProps>): ReactInstance\n}\n\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>(\n options: InertiaAppOptionsForCSR<SharedProps>,\n): Promise<CreateInertiaAppSetupReturnType>\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>(\n options: InertiaAppOptionsForSSR<SharedProps>,\n): Promise<CreateInertiaAppSSRContent>\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>({\n id = 'app',\n resolve,\n setup,\n title,\n progress = {},\n page,\n render,\n}: InertiaAppOptionsForCSR<SharedProps> | InertiaAppOptionsForSSR<SharedProps>): Promise<\n CreateInertiaAppSetupReturnType | CreateInertiaAppSSRContent\n> {\n const isServer = typeof window === 'undefined'\n const el = isServer ? null : document.getElementById(id)\n const initialPage = page || JSON.parse(el.dataset.page)\n // @ts-expect-error\n const resolveComponent = (name) => Promise.resolve(resolve(name)).then((module) => module.default || module)\n\n let head = []\n\n const reactApp = await resolveComponent(initialPage.component).then((initialComponent) => {\n return setup({\n // @ts-expect-error\n el,\n App,\n props: {\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback: title,\n onHeadUpdate: isServer ? (elements) => (head = elements) : null,\n },\n })\n })\n\n if (!isServer && progress) {\n setupProgress(progress)\n }\n\n if (isServer) {\n const body = await render(\n createElement(\n 'div',\n {\n id,\n 'data-page': JSON.stringify(initialPage),\n },\n // @ts-expect-error\n reactApp,\n ),\n )\n\n return { head, body }\n }\n}\n", "import { createHeadManager, router } from '@inertiajs/core'\nimport { createElement, useEffect, useMemo, useState } from 'react'\nimport HeadContext from './HeadContext'\nimport PageContext from './PageContext'\n\nexport default function App({\n children,\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback,\n onHeadUpdate,\n}) {\n const [current, setCurrent] = useState({\n component: initialComponent || null,\n page: initialPage,\n key: null,\n })\n\n const headManager = useMemo(() => {\n return createHeadManager(\n typeof window === 'undefined',\n titleCallback || ((title) => title),\n onHeadUpdate || (() => {}),\n )\n }, [])\n\n useEffect(() => {\n router.init({\n initialPage,\n resolveComponent,\n swapComponent: async ({ component, page, preserveState }) => {\n setCurrent((current) => ({\n component,\n page,\n key: preserveState ? current.key : Date.now(),\n }))\n },\n })\n\n router.on('navigate', () => headManager.forceUpdate())\n }, [])\n\n if (!current.component) {\n return createElement(\n HeadContext.Provider,\n { value: headManager },\n createElement(PageContext.Provider, { value: current.page }, null),\n )\n }\n\n const renderChildren =\n children ||\n (({ Component, props, key }) => {\n const child = createElement(Component, { key, ...props })\n\n if (typeof Component.layout === 'function') {\n return Component.layout(child)\n }\n\n if (Array.isArray(Component.layout)) {\n return Component.layout\n .concat(child)\n .reverse()\n .reduce((children, Layout) => createElement(Layout, { children, ...props }))\n }\n\n return child\n })\n\n return createElement(\n HeadContext.Provider,\n { value: headManager },\n createElement(\n PageContext.Provider,\n { value: current.page },\n renderChildren({\n Component: current.component,\n key: current.key,\n props: current.page.props,\n }),\n ),\n )\n}\n\nApp.displayName = 'Inertia'\n", "import { createContext } from 'react'\n\nconst headContext = createContext(undefined)\nheadContext.displayName = 'InertiaHeadContext'\n\nexport default headContext\n", "import { createContext } from 'react'\n\nconst pageContext = createContext(undefined)\npageContext.displayName = 'InertiaPageContext'\n\nexport default pageContext\n", "import React, { FunctionComponent, useContext, useEffect, useMemo } from 'react'\nimport HeadContext from './HeadContext'\n\ntype InertiaHeadProps = {\n title?: string\n children?: React.ReactNode\n}\n\ntype InertiaHead = FunctionComponent<InertiaHeadProps>\n\nconst Head: InertiaHead = function ({ children, title }) {\n const headManager = useContext(HeadContext)\n const provider = useMemo(() => headManager.createProvider(), [headManager])\n\n useEffect(() => {\n return () => {\n provider.disconnect()\n }\n }, [provider])\n\n function isUnaryTag(node) {\n return (\n [\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'keygen',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr',\n ].indexOf(node.type) > -1\n )\n }\n\n function renderTagStart(node) {\n const attrs = Object.keys(node.props).reduce((carry, name) => {\n if (['head-key', 'children', 'dangerouslySetInnerHTML'].includes(name)) {\n return carry\n }\n const value = node.props[name]\n if (value === '') {\n return carry + ` ${name}`\n } else {\n return carry + ` ${name}=\"${value}\"`\n }\n }, '')\n return `<${node.type}${attrs}>`\n }\n\n function renderTagChildren(node) {\n return typeof node.props.children === 'string'\n ? node.props.children\n : node.props.children.reduce((html, child) => html + renderTag(child), '')\n }\n\n function renderTag(node) {\n let html = renderTagStart(node)\n if (node.props.children) {\n html += renderTagChildren(node)\n }\n if (node.props.dangerouslySetInnerHTML) {\n html += node.props.dangerouslySetInnerHTML.__html\n }\n if (!isUnaryTag(node)) {\n html += `</${node.type}>`\n }\n return html\n }\n\n function ensureNodeHasInertiaProp(node) {\n return React.cloneElement(node, {\n inertia: node.props['head-key'] !== undefined ? node.props['head-key'] : '',\n })\n }\n\n function renderNode(node) {\n return renderTag(ensureNodeHasInertiaProp(node))\n }\n\n function renderNodes(nodes) {\n const computed = React.Children.toArray(nodes).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}\nexport default Head\n", "import {\n FormDataConvertible,\n mergeDataIntoQueryString,\n Method,\n PreserveStateOption,\n Progress,\n router,\n shouldIntercept,\n} from '@inertiajs/core'\nimport { createElement, forwardRef, useCallback } from 'react'\n\nconst noop = () => undefined\n\ninterface BaseInertiaLinkProps {\n as?: string\n data?: Record<string, FormDataConvertible>\n href: string\n method?: Method\n headers?: Record<string, string>\n onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void\n preserveScroll?: PreserveStateOption\n preserveState?: PreserveStateOption\n replace?: boolean\n only?: string[]\n onCancelToken?: (cancelToken: import('axios').CancelTokenSource) => void\n onBefore?: () => void\n onStart?: () => void\n onProgress?: (progress: Progress) => void\n onFinish?: () => void\n onCancel?: () => void\n onSuccess?: () => void\n onError?: () => void\n queryStringArrayFormat?: 'indices' | 'brackets'\n}\n\nexport type InertiaLinkProps = BaseInertiaLinkProps &\n Omit<React.HTMLAttributes<HTMLElement>, keyof BaseInertiaLinkProps> &\n Omit<React.AllHTMLAttributes<HTMLElement>, keyof BaseInertiaLinkProps>\n\nconst Link = forwardRef<unknown, InertiaLinkProps>(\n (\n {\n children,\n as = 'a',\n data = {},\n href,\n method = 'get',\n preserveScroll = false,\n preserveState = null,\n replace = false,\n only = [],\n 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() as Method\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)\nLink.displayName = 'InertiaLink'\n\nexport default Link\n", "import { FormDataConvertible, Method, Progress, router, VisitOptions } from '@inertiajs/core'\nimport isEqual from 'lodash.isequal'\nimport { useCallback, useEffect, useRef, useState } from 'react'\nimport useRemember from './useRemember'\n\ntype setDataByObject<TForm> = (data: TForm) => void\ntype setDataByMethod<TForm> = (data: (previousData: TForm) => TForm) => void\ntype setDataByKeyValuePair<TForm> = <K extends keyof TForm>(key: K, value: TForm[K]) => void\ntype FormDataType = object;\n\nexport interface InertiaFormProps<TForm extends FormDataType> {\n data: TForm\n isDirty: boolean\n errors: Partial<Record<keyof TForm, string>>\n hasErrors: boolean\n processing: boolean\n progress: Progress | null\n wasSuccessful: boolean\n recentlySuccessful: boolean\n setData: setDataByObject<TForm> & setDataByMethod<TForm> & setDataByKeyValuePair<TForm>\n transform: (callback: (data: TForm) => TForm) => void\n setDefaults(): void\n setDefaults(field: keyof TForm, value: FormDataConvertible): void\n setDefaults(fields: Partial<TForm>): void\n reset: (...fields: (keyof TForm)[]) => void\n clearErrors: (...fields: (keyof TForm)[]) => void\n setError(field: keyof TForm, value: string): void\n setError(errors: Record<keyof TForm, string>): void\n submit: (method: Method, url: string, options?: VisitOptions) => void\n get: (url: string, options?: VisitOptions) => void\n patch: (url: string, options?: VisitOptions) => void\n post: (url: string, options?: VisitOptions) => void\n put: (url: string, options?: VisitOptions) => void\n delete: (url: string, options?: VisitOptions) => void\n cancel: () => void\n}\nexport default function useForm<TForm extends FormDataType>(initialValues?: TForm): InertiaFormProps<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKey: string,\n initialValues?: TForm,\n): InertiaFormProps<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKeyOrInitialValues?: string | TForm,\n maybeInitialValues?: TForm,\n): InertiaFormProps<TForm> {\n const isMounted = useRef(null)\n const rememberKey = typeof rememberKeyOrInitialValues === 'string' ? rememberKeyOrInitialValues : null\n const [defaults, setDefaults] = useState(\n (typeof rememberKeyOrInitialValues === 'string' ? maybeInitialValues : rememberKeyOrInitialValues) || ({} as TForm),\n )\n const cancelToken = useRef(null)\n const recentlySuccessfulTimeoutId = useRef(null)\n const [data, setData] = rememberKey ? useRemember(defaults, `${rememberKey}:data`) : useState(defaults)\n const [errors, setErrors] = rememberKey\n ? useRemember({} as Partial<Record<keyof TForm, string>>, `${rememberKey}:errors`)\n : useState({} as Partial<Record<keyof TForm, string>>)\n const [hasErrors, setHasErrors] = useState(false)\n const [processing, setProcessing] = useState(false)\n const [progress, setProgress] = useState(null)\n const [wasSuccessful, setWasSuccessful] = useState(false)\n const [recentlySuccessful, setRecentlySuccessful] = useState(false)\n 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 function clearErrors(...fields) {\n setErrors((errors) => {\n const newErrors = (Object.keys(errors) as Array<keyof TForm>).reduce(\n (carry, field) => ({\n ...carry,\n ...(fields.length > 0 && !fields.includes(field) ? { [field]: errors[field] } : {}),\n }),\n {},\n )\n setHasErrors(Object.keys(newErrors).length > 0)\n return newErrors\n })\n }\n\n return {\n data,\n setData(keyOrData: keyof TForm | Function | TForm, maybeValue?: TForm[keyof TForm]) {\n if (typeof keyOrData === 'string') {\n setData({ ...data, [keyOrData]: maybeValue })\n } else if (typeof keyOrData === 'function') {\n setData((data) => keyOrData(data))\n } else {\n setData(keyOrData as TForm)\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(fieldOrFields?: keyof TForm | Partial<TForm>, maybeValue?: FormDataConvertible) {\n if (typeof fieldOrFields === 'undefined') {\n setDefaults(() => data)\n } else {\n setDefaults((defaults) => ({\n ...defaults,\n ...(typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : (fieldOrFields as TForm)),\n }))\n }\n },\n reset(...fields) {\n if (fields.length === 0) {\n setData(defaults)\n setErrors({})\n setHasErrors(false)\n } else {\n setData(\n (Object.keys(defaults) as Array<keyof TForm>)\n .filter((key) => fields.includes(key))\n .reduce(\n (carry, key) => {\n carry[key] = defaults[key]\n return carry\n },\n { ...data },\n ),\n )\n clearErrors(...fields)\n }\n },\n setError(fieldOrFields: keyof TForm | Record<keyof TForm, string>, maybeValue?: string) {\n setErrors((errors) => {\n const newErrors = {\n ...errors,\n ...(typeof fieldOrFields === 'string'\n ? { [fieldOrFields]: maybeValue }\n : (fieldOrFields as Record<keyof TForm, string>)),\n }\n setHasErrors(Object.keys(newErrors).length > 0)\n return newErrors\n })\n },\n clearErrors,\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 { router } from '@inertiajs/core'\nimport { Dispatch, SetStateAction, useEffect, useState } from 'react'\n\nexport default function useRemember<State>(\n initialState: State,\n key?: string,\n): [State, Dispatch<SetStateAction<State>>] {\n const [state, setState] = useState(() => {\n const restored = router.restore(key) as State\n\n return restored !== undefined ? restored : initialState\n })\n\n useEffect(() => {\n router.remember(state, key)\n }, [state, key])\n\n return [state, setState]\n}\n\n/** @deprecated use `useRemember` instead */\nexport function useRememberedState<State>(initialState: State, key?: string): [State, Dispatch<SetStateAction<State>>] {\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 { Page, PageProps } from '@inertiajs/core'\nimport { useContext } from 'react'\nimport PageContext from './PageContext'\n\nexport default function usePage<TPageProps extends PageProps = PageProps>(): Page<TPageProps> {\n const page = useContext(PageContext)\n\n if (!page) {\n throw new Error('usePage must be used within the Inertia component')\n }\n\n return page\n}\n"],
5
- "mappings": "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",
6
- "names": ["src_exports", "__export", "Head_default", "Link_default", "createInertiaApp", "router", "useForm", "usePage", "useRemember", "__toCommonJS", "import_core", "import_core", "import_react", "import_core", "import_react", "import_react", "headContext", "HeadContext_default", "import_react", "pageContext", "PageContext_default", "App", "children", "initialPage", "initialComponent", "resolveComponent", "titleCallback", "onHeadUpdate", "current", "setCurrent", "headManager", "title", "component", "page", "preserveState", "HeadContext_default", "PageContext_default", "renderChildren", "Component", "props", "key", "child", "Layout", "createInertiaApp", "id", "resolve", "setup", "title", "progress", "page", "render", "isServer", "el", "initialPage", "resolveComponent", "name", "module", "head", "reactApp", "initialComponent", "App", "elements", "body", "import_react", "Head", "children", "title", "headManager", "HeadContext_default", "provider", "isUnaryTag", "node", "renderTagStart", "attrs", "carry", "name", "value", "renderTagChildren", "html", "child", "renderTag", "ensureNodeHasInertiaProp", "React", "renderNode", "renderNodes", "nodes", "computed", "tag", "Head_default", "import_core", "import_react", "noop", "Link", "children", "as", "data", "href", "method", "preserveScroll", "preserveState", "replace", "only", "headers", "queryStringArrayFormat", "onClick", "onCancelToken", "onBefore", "onStart", "onProgress", "onFinish", "onCancel", "onSuccess", "onError", "props", "ref", "visit", "event", "_href", "_data", "Link_default", "import_core", "import_lodash", "import_react", "import_core", "import_react", "useRemember", "initialState", "key", "state", "setState", "restored", "useForm", "rememberKeyOrInitialValues", "maybeInitialValues", "isMounted", "rememberKey", "defaults", "setDefaults", "cancelToken", "recentlySuccessfulTimeoutId", "data", "setData", "useRemember", "errors", "setErrors", "hasErrors", "setHasErrors", "processing", "setProcessing", "progress", "setProgress", "wasSuccessful", "setWasSuccessful", "recentlySuccessful", "setRecentlySuccessful", "transform", "submit", "method", "url", "options", "_options", "token", "visit", "event", "page", "clearErrors", "fields", "newErrors", "carry", "field", "keyOrData", "maybeValue", "isEqual", "callback", "fieldOrFields", "key", "import_react", "usePage", "page", "PageContext_default", "router", "Router"]
4
+ "sourcesContent": ["import { router as Router } from '@inertiajs/core'\n\nexport const router = Router\nexport { default as createInertiaApp } from './createInertiaApp'\nexport { default as Head } from './Head'\nexport { default as Link, InertiaLinkProps } from './Link'\nexport { default as useForm } from './useForm'\nexport { default as usePage } from './usePage'\nexport { default as useRemember } from './useRemember'\n", "import { Page, PageProps, PageResolver, setupProgress } from '@inertiajs/core'\nimport { ComponentType, createElement, FunctionComponent, Key, ReactElement, ReactNode } from 'react'\nimport { renderToString } from 'react-dom/server'\nimport App from './App'\n\ntype ReactInstance = ReactElement\ntype ReactComponent = ReactNode\n\ntype HeadManagerOnUpdate = (elements: string[]) => void // TODO: When shipped, replace with: Inertia.HeadManagerOnUpdate\ntype HeadManagerTitleCallback = (title: string) => string // TODO: When shipped, replace with: Inertia.HeadManagerTitleCallback\n\ntype AppType<SharedProps extends PageProps = PageProps> = FunctionComponent<\n {\n children?: (props: { Component: ComponentType; key: Key; props: Page<SharedProps>['props'] }) => ReactNode\n } & SetupOptions<unknown, SharedProps>['props']\n>\n\nexport type SetupOptions<ElementType, SharedProps extends PageProps> = {\n el: ElementType\n App: AppType\n props: {\n initialPage: Page<SharedProps>\n initialComponent: ReactComponent\n resolveComponent: PageResolver\n titleCallback?: HeadManagerTitleCallback\n onHeadUpdate?: HeadManagerOnUpdate\n }\n}\n\ntype BaseInertiaAppOptions = {\n title?: HeadManagerTitleCallback\n resolve: PageResolver\n}\n\ntype CreateInertiaAppSetupReturnType = ReactInstance | void\ntype InertiaAppOptionsForCSR<SharedProps extends PageProps> = BaseInertiaAppOptions & {\n id?: string\n page?: Page | string\n render?: undefined\n progress?:\n | false\n | {\n delay?: number\n color?: string\n includeCSS?: boolean\n showSpinner?: boolean\n }\n setup(options: SetupOptions<HTMLElement, SharedProps>): CreateInertiaAppSetupReturnType\n}\n\ntype CreateInertiaAppSSRContent = { head: string[]; body: string }\ntype InertiaAppOptionsForSSR<SharedProps extends PageProps> = BaseInertiaAppOptions & {\n id?: undefined\n page: Page | string\n render: typeof renderToString\n progress?: undefined\n setup(options: SetupOptions<null, SharedProps>): ReactInstance\n}\n\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>(\n options: InertiaAppOptionsForCSR<SharedProps>,\n): Promise<CreateInertiaAppSetupReturnType>\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>(\n options: InertiaAppOptionsForSSR<SharedProps>,\n): Promise<CreateInertiaAppSSRContent>\nexport default async function createInertiaApp<SharedProps extends PageProps = PageProps>({\n id = 'app',\n resolve,\n setup,\n title,\n progress = {},\n page,\n render,\n}: InertiaAppOptionsForCSR<SharedProps> | InertiaAppOptionsForSSR<SharedProps>): Promise<\n CreateInertiaAppSetupReturnType | CreateInertiaAppSSRContent\n> {\n const isServer = typeof window === 'undefined'\n const el = isServer ? null : document.getElementById(id)\n const initialPage = page || JSON.parse(el.dataset.page)\n // @ts-expect-error\n const resolveComponent = (name) => Promise.resolve(resolve(name)).then((module) => module.default || module)\n\n let head = []\n\n const reactApp = await resolveComponent(initialPage.component).then((initialComponent) => {\n return setup({\n // @ts-expect-error\n el,\n App,\n props: {\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback: title,\n onHeadUpdate: isServer ? (elements) => (head = elements) : null,\n },\n })\n })\n\n if (!isServer && progress) {\n setupProgress(progress)\n }\n\n if (isServer) {\n const body = await render(\n createElement(\n 'div',\n {\n id,\n 'data-page': JSON.stringify(initialPage),\n },\n // @ts-expect-error\n reactApp,\n ),\n )\n\n return { head, body }\n }\n}\n", "import { createHeadManager, router } from '@inertiajs/core'\nimport { createElement, useEffect, useMemo, useState } from 'react'\nimport HeadContext from './HeadContext'\nimport PageContext from './PageContext'\n\nexport default function App({\n children,\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback,\n onHeadUpdate,\n}) {\n const [current, setCurrent] = useState({\n component: initialComponent || null,\n page: initialPage,\n key: null,\n })\n\n const headManager = useMemo(() => {\n return createHeadManager(\n typeof window === 'undefined',\n titleCallback || ((title) => title),\n onHeadUpdate || (() => {}),\n )\n }, [])\n\n useEffect(() => {\n router.init({\n initialPage,\n resolveComponent,\n swapComponent: async ({ component, page, preserveState }) => {\n setCurrent((current) => ({\n component,\n page,\n key: preserveState ? current.key : Date.now(),\n }))\n },\n })\n\n router.on('navigate', () => headManager.forceUpdate())\n }, [])\n\n if (!current.component) {\n return createElement(\n HeadContext.Provider,\n { value: headManager },\n createElement(PageContext.Provider, { value: current.page }, null),\n )\n }\n\n const renderChildren =\n children ||\n (({ Component, props, key }) => {\n const child = createElement(Component, { key, ...props })\n\n if (typeof Component.layout === 'function') {\n return Component.layout(child)\n }\n\n if (Array.isArray(Component.layout)) {\n return Component.layout\n .concat(child)\n .reverse()\n .reduce((children, Layout) => createElement(Layout, { children, ...props }))\n }\n\n return child\n })\n\n return createElement(\n HeadContext.Provider,\n { value: headManager },\n createElement(\n PageContext.Provider,\n { value: current.page },\n renderChildren({\n Component: current.component,\n key: current.key,\n props: current.page.props,\n }),\n ),\n )\n}\n\nApp.displayName = 'Inertia'\n", "import { createContext } from 'react'\n\nconst headContext = createContext(undefined)\nheadContext.displayName = 'InertiaHeadContext'\n\nexport default headContext\n", "import { createContext } from 'react'\n\nconst pageContext = createContext(undefined)\npageContext.displayName = 'InertiaPageContext'\n\nexport default pageContext\n", "import React, { FunctionComponent, useContext, useEffect, useMemo } from 'react'\nimport HeadContext from './HeadContext'\n\ntype InertiaHeadProps = {\n title?: string\n children?: React.ReactNode\n}\n\ntype InertiaHead = FunctionComponent<InertiaHeadProps>\n\nconst Head: InertiaHead = function ({ children, title }) {\n const headManager = useContext(HeadContext)\n const provider = useMemo(() => headManager.createProvider(), [headManager])\n\n useEffect(() => {\n return () => {\n provider.disconnect()\n }\n }, [provider])\n\n function isUnaryTag(node) {\n return (\n [\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'keygen',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr',\n ].indexOf(node.type) > -1\n )\n }\n\n function renderTagStart(node) {\n const attrs = Object.keys(node.props).reduce((carry, name) => {\n if (['head-key', 'children', 'dangerouslySetInnerHTML'].includes(name)) {\n return carry\n }\n const value = node.props[name]\n if (value === '') {\n return carry + ` ${name}`\n } else {\n return carry + ` ${name}=\"${value}\"`\n }\n }, '')\n return `<${node.type}${attrs}>`\n }\n\n function renderTagChildren(node) {\n return typeof node.props.children === 'string'\n ? node.props.children\n : node.props.children.reduce((html, child) => html + renderTag(child), '')\n }\n\n function renderTag(node) {\n let html = renderTagStart(node)\n if (node.props.children) {\n html += renderTagChildren(node)\n }\n if (node.props.dangerouslySetInnerHTML) {\n html += node.props.dangerouslySetInnerHTML.__html\n }\n if (!isUnaryTag(node)) {\n html += `</${node.type}>`\n }\n return html\n }\n\n function ensureNodeHasInertiaProp(node) {\n return React.cloneElement(node, {\n inertia: node.props['head-key'] !== undefined ? node.props['head-key'] : '',\n })\n }\n\n function renderNode(node) {\n return renderTag(ensureNodeHasInertiaProp(node))\n }\n\n function renderNodes(nodes) {\n const computed = React.Children.toArray(nodes).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}\nexport default Head\n", "import {\n FormDataConvertible,\n mergeDataIntoQueryString,\n Method,\n PreserveStateOption,\n Progress,\n router,\n shouldIntercept,\n} from '@inertiajs/core'\nimport { createElement, forwardRef, useCallback } from 'react'\n\nconst noop = () => undefined\n\ninterface BaseInertiaLinkProps {\n as?: string\n data?: Record<string, FormDataConvertible>\n href: string\n method?: Method\n headers?: Record<string, string>\n onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void\n preserveScroll?: PreserveStateOption\n preserveState?: PreserveStateOption\n replace?: boolean\n only?: string[]\n onCancelToken?: (cancelToken: import('axios').CancelTokenSource) => void\n onBefore?: () => void\n onStart?: () => void\n onProgress?: (progress: Progress) => void\n onFinish?: () => void\n onCancel?: () => void\n onSuccess?: () => void\n onError?: () => void\n queryStringArrayFormat?: 'indices' | 'brackets'\n}\n\nexport type InertiaLinkProps = BaseInertiaLinkProps &\n Omit<React.HTMLAttributes<HTMLElement>, keyof BaseInertiaLinkProps> &\n Omit<React.AllHTMLAttributes<HTMLElement>, keyof BaseInertiaLinkProps>\n\nconst Link = forwardRef<unknown, InertiaLinkProps>(\n (\n {\n children,\n as = 'a',\n data = {},\n href,\n method = 'get',\n preserveScroll = false,\n preserveState = null,\n replace = false,\n only = [],\n 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() as Method\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)\nLink.displayName = 'InertiaLink'\n\nexport default Link\n", "import { FormDataConvertible, Method, Progress, router, VisitOptions } from '@inertiajs/core'\nimport isEqual from 'lodash.isequal'\nimport { useCallback, useEffect, useRef, useState } from 'react'\nimport useRemember from './useRemember'\n\ntype setDataByObject<TForm> = (data: TForm) => void\ntype setDataByMethod<TForm> = (data: (previousData: TForm) => TForm) => void\ntype setDataByKeyValuePair<TForm> = <K extends keyof TForm>(key: K, value: TForm[K]) => void\ntype FormDataType = object;\n\nexport interface InertiaFormProps<TForm extends FormDataType> {\n data: TForm\n isDirty: boolean\n errors: Partial<Record<keyof TForm, string>>\n hasErrors: boolean\n processing: boolean\n progress: Progress | null\n wasSuccessful: boolean\n recentlySuccessful: boolean\n setData: setDataByObject<TForm> & setDataByMethod<TForm> & setDataByKeyValuePair<TForm>\n transform: (callback: (data: TForm) => TForm) => void\n setDefaults(): void\n setDefaults(field: keyof TForm, value: FormDataConvertible): void\n setDefaults(fields: Partial<TForm>): void\n reset: (...fields: (keyof TForm)[]) => void\n clearErrors: (...fields: (keyof TForm)[]) => void\n setError(field: keyof TForm, value: string): void\n setError(errors: Record<keyof TForm, string>): void\n submit: (method: Method, url: string, options?: VisitOptions) => void\n get: (url: string, options?: VisitOptions) => void\n patch: (url: string, options?: VisitOptions) => void\n post: (url: string, options?: VisitOptions) => void\n put: (url: string, options?: VisitOptions) => void\n delete: (url: string, options?: VisitOptions) => void\n cancel: () => void\n}\nexport default function useForm<TForm extends FormDataType>(initialValues?: TForm): InertiaFormProps<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKey: string,\n initialValues?: TForm,\n): InertiaFormProps<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKeyOrInitialValues?: string | TForm,\n maybeInitialValues?: TForm,\n): InertiaFormProps<TForm> {\n const isMounted = useRef(null)\n const rememberKey = typeof rememberKeyOrInitialValues === 'string' ? rememberKeyOrInitialValues : null\n const [defaults, setDefaults] = useState(\n (typeof rememberKeyOrInitialValues === 'string' ? maybeInitialValues : rememberKeyOrInitialValues) || ({} as TForm),\n )\n const cancelToken = useRef(null)\n const recentlySuccessfulTimeoutId = useRef(null)\n const [data, setData] = rememberKey ? useRemember(defaults, `${rememberKey}:data`) : useState(defaults)\n const [errors, setErrors] = rememberKey\n ? useRemember({} as Partial<Record<keyof TForm, string>>, `${rememberKey}:errors`)\n : useState({} as Partial<Record<keyof TForm, string>>)\n const [hasErrors, setHasErrors] = useState(false)\n const [processing, setProcessing] = useState(false)\n const [progress, setProgress] = useState(null)\n const [wasSuccessful, setWasSuccessful] = useState(false)\n const [recentlySuccessful, setRecentlySuccessful] = useState(false)\n 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(keyOrData: keyof TForm | Function | TForm, maybeValue?: TForm[keyof TForm]) {\n if (typeof keyOrData === 'string') {\n setData({ ...data, [keyOrData]: maybeValue })\n } else if (typeof keyOrData === 'function') {\n setData((data) => keyOrData(data))\n } else {\n setData(keyOrData as TForm)\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(fieldOrFields?: keyof TForm | Partial<TForm>, maybeValue?: FormDataConvertible) {\n if (typeof fieldOrFields === 'undefined') {\n setDefaults(() => data)\n } else {\n setDefaults((defaults) => ({\n ...defaults,\n ...(typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : (fieldOrFields as TForm)),\n }))\n }\n },\n reset(...fields) {\n if (fields.length === 0) {\n setData(defaults)\n } else {\n setData(\n (Object.keys(defaults) as Array<keyof TForm>)\n .filter((key) => fields.includes(key))\n .reduce(\n (carry, key) => {\n carry[key] = defaults[key]\n return carry\n },\n { ...data },\n ),\n )\n }\n },\n setError(fieldOrFields: keyof TForm | Record<keyof TForm, string>, maybeValue?: string) {\n setErrors((errors) => {\n const newErrors = {\n ...errors,\n ...(typeof fieldOrFields === 'string'\n ? { [fieldOrFields]: maybeValue }\n : (fieldOrFields as Record<keyof TForm, string>)),\n }\n setHasErrors(Object.keys(newErrors).length > 0)\n return newErrors\n })\n },\n clearErrors(...fields) {\n setErrors((errors) => {\n const newErrors = (Object.keys(errors) as Array<keyof TForm>).reduce(\n (carry, field) => ({\n ...carry,\n ...(fields.length > 0 && !fields.includes(field) ? { [field]: errors[field] } : {}),\n }),\n {},\n )\n setHasErrors(Object.keys(newErrors).length > 0)\n return newErrors\n })\n },\n 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 { router } from '@inertiajs/core'\nimport { Dispatch, SetStateAction, useEffect, useState } from 'react'\n\nexport default function useRemember<State>(\n initialState: State,\n key?: string,\n): [State, Dispatch<SetStateAction<State>>] {\n const [state, setState] = useState(() => {\n const restored = router.restore(key) as State\n\n return restored !== undefined ? restored : initialState\n })\n\n useEffect(() => {\n router.remember(state, key)\n }, [state, key])\n\n return [state, setState]\n}\n\n/** @deprecated use `useRemember` instead */\nexport function useRememberedState<State>(initialState: State, key?: string): [State, Dispatch<SetStateAction<State>>] {\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 { Page, PageProps } from '@inertiajs/core'\nimport { useContext } from 'react'\nimport PageContext from './PageContext'\n\nexport default function usePage<TPageProps extends PageProps = PageProps>(): Page<TPageProps> {\n const page = useContext(PageContext)\n\n if (!page) {\n throw new Error('usePage must be used within the Inertia component')\n }\n\n return page\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["src_exports", "__export", "Head_default", "Link_default", "createInertiaApp", "router", "useForm", "usePage", "useRemember", "__toCommonJS", "import_core", "import_core", "import_react", "import_core", "import_react", "import_react", "headContext", "HeadContext_default", "import_react", "pageContext", "PageContext_default", "App", "children", "initialPage", "initialComponent", "resolveComponent", "titleCallback", "onHeadUpdate", "current", "setCurrent", "headManager", "title", "component", "page", "preserveState", "HeadContext_default", "PageContext_default", "renderChildren", "Component", "props", "key", "child", "Layout", "createInertiaApp", "id", "resolve", "setup", "title", "progress", "page", "render", "isServer", "el", "initialPage", "resolveComponent", "name", "module", "head", "reactApp", "initialComponent", "App", "elements", "body", "import_react", "Head", "children", "title", "headManager", "HeadContext_default", "provider", "isUnaryTag", "node", "renderTagStart", "attrs", "carry", "name", "value", "renderTagChildren", "html", "child", "renderTag", "ensureNodeHasInertiaProp", "React", "renderNode", "renderNodes", "nodes", "computed", "tag", "Head_default", "import_core", "import_react", "noop", "Link", "children", "as", "data", "href", "method", "preserveScroll", "preserveState", "replace", "only", "headers", "queryStringArrayFormat", "onClick", "onCancelToken", "onBefore", "onStart", "onProgress", "onFinish", "onCancel", "onSuccess", "onError", "props", "ref", "visit", "event", "_href", "_data", "Link_default", "import_core", "import_lodash", "import_react", "import_core", "import_react", "useRemember", "initialState", "key", "state", "setState", "restored", "useForm", "rememberKeyOrInitialValues", "maybeInitialValues", "isMounted", "rememberKey", "defaults", "setDefaults", "cancelToken", "recentlySuccessfulTimeoutId", "data", "setData", "useRemember", "errors", "setErrors", "hasErrors", "setHasErrors", "processing", "setProcessing", "progress", "setProgress", "wasSuccessful", "setWasSuccessful", "recentlySuccessful", "setRecentlySuccessful", "transform", "submit", "method", "url", "options", "_options", "token", "visit", "event", "page", "keyOrData", "maybeValue", "isEqual", "callback", "fieldOrFields", "fields", "key", "carry", "newErrors", "field", "import_react", "usePage", "page", "PageContext_default", "router", "Router"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inertiajs/react",
3
- "version": "1.0.13",
3
+ "version": "1.0.15",
4
4
  "license": "MIT",
5
5
  "description": "The React adapter for Inertia.js",
6
6
  "contributors": [
@@ -59,7 +59,7 @@
59
59
  "react": "^16.9.0 || ^17.0.0 || ^18.0.0"
60
60
  },
61
61
  "dependencies": {
62
- "@inertiajs/core": "1.0.13",
62
+ "@inertiajs/core": "1.0.15",
63
63
  "lodash.isequal": "^4.5.0"
64
64
  }
65
65
  }