@inertiajs/vue3 1.0.11 → 1.0.12
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 +2 -2
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/types/link.d.ts +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{router as lr}from"@inertiajs/core";import{createHeadManager as q,router as C}from"@inertiajs/core";import{computed as v,defineComponent as B,h as S,markRaw as
|
|
1
|
+
import{router as lr}from"@inertiajs/core";import{createHeadManager as q,router as C}from"@inertiajs/core";import{computed as v,defineComponent as B,h as S,markRaw as I,reactive as U,ref as A,shallowRef as J}from"vue";import{router as _}from"@inertiajs/core";import L from"lodash.clonedeep";var M={created(){if(!this.$options.remember)return;Array.isArray(this.$options.remember)&&(this.$options.remember={data:this.$options.remember}),typeof this.$options.remember=="string"&&(this.$options.remember={data:[this.$options.remember]}),typeof this.$options.remember.data=="string"&&(this.$options.remember={data:[this.$options.remember.data]});let e=this.$options.remember.key instanceof Function?this.$options.remember.key.call(this):this.$options.remember.key,o=_.restore(e),n=this.$options.remember.data.filter(t=>!(this[t]!==null&&typeof this[t]=="object"&&this[t].__rememberable===!1)),p=t=>this[t]!==null&&typeof this[t]=="object"&&typeof this[t].__remember=="function"&&typeof this[t].__restore=="function";n.forEach(t=>{this[t]!==void 0&&o!==void 0&&o[t]!==void 0&&(p(t)?this[t].__restore(o[t]):this[t]=o[t]),this.$watch(t,()=>{_.remember(n.reduce((a,l)=>({...a,[l]:L(p(l)?this[l].__remember():this[l])}),{}),e)},{immediate:!0,deep:!0})})}},D=M;import{router as P}from"@inertiajs/core";import g from"lodash.clonedeep";import R from"lodash.isequal";import{reactive as H,watch as V}from"vue";function T(e,o){let n=typeof e=="string"?e:null,p=typeof e=="string"?o:e,t=n?P.restore(n):null,a=typeof p=="object"?g(p):g(p()),l=null,f=null,h=r=>r,y=H({...t?t.data:g(a),isDirty:!1,errors:t?t.errors:{},hasErrors:!1,processing:!1,progress:null,wasSuccessful:!1,recentlySuccessful:!1,data(){return Object.keys(a).reduce((r,s)=>(r[s]=this[s],r),{})},transform(r){return h=r,this},defaults(r,s){if(typeof p=="function")throw new Error("You cannot call `defaults()` when using a function to define your form data.");return typeof r>"u"?a=this.data():a=Object.assign({},g(a),typeof r=="string"?{[r]:s}:r),this},reset(...r){let s=typeof p=="object"?g(a):g(p()),i=g(s);return r.length===0?(a=i,Object.assign(this,s)):Object.keys(s).filter(m=>r.includes(m)).forEach(m=>{a[m]=i[m],this[m]=s[m]}),this},setError(r,s){return Object.assign(this.errors,typeof r=="string"?{[r]:s}:r),this.hasErrors=Object.keys(this.errors).length>0,this},clearErrors(...r){return this.errors=Object.keys(this.errors).reduce((s,i)=>({...s,...r.length>0&&!r.includes(i)?{[i]:this.errors[i]}:{}}),{}),this.hasErrors=Object.keys(this.errors).length>0,this},submit(r,s,i={}){let m=h(this.data()),b={...i,onCancelToken:u=>{if(l=u,i.onCancelToken)return i.onCancelToken(u)},onBefore:u=>{if(this.wasSuccessful=!1,this.recentlySuccessful=!1,clearTimeout(f),i.onBefore)return i.onBefore(u)},onStart:u=>{if(this.processing=!0,i.onStart)return i.onStart(u)},onProgress:u=>{if(this.progress=u,i.onProgress)return i.onProgress(u)},onSuccess:async u=>{this.processing=!1,this.progress=null,this.clearErrors(),this.wasSuccessful=!0,this.recentlySuccessful=!0,f=setTimeout(()=>this.recentlySuccessful=!1,2e3);let N=i.onSuccess?await i.onSuccess(u):null;return a=g(this.data()),this.isDirty=!1,N},onError:u=>{if(this.processing=!1,this.progress=null,this.clearErrors().setError(u),i.onError)return i.onError(u)},onCancel:()=>{if(this.processing=!1,this.progress=null,i.onCancel)return i.onCancel()},onFinish:u=>{if(this.processing=!1,this.progress=null,l=null,i.onFinish)return i.onFinish(u)}};r==="delete"?P.delete(s,{...b,data:m}):P[r](s,m,b)},get(r,s){this.submit("get",r,s)},post(r,s){this.submit("post",r,s)},put(r,s){this.submit("put",r,s)},patch(r,s){this.submit("patch",r,s)},delete(r,s){this.submit("delete",r,s)},cancel(){l&&l.cancel()},__rememberable:n===null,__remember(){return{data:this.data(),errors:this.errors}},__restore(r){Object.assign(this,r.data),this.setError(r.errors)}});return V(y,r=>{y.isDirty=!R(y.data(),a),n&&P.remember(g(r.__remember()),n)},{immediate:!0,deep:!0}),y}var c=A(null),d=A(null),k=J(null),F=A(null),x=null,W=B({name:"Inertia",props:{initialPage:{type:Object,required:!0},initialComponent:{type:Object,required:!1},resolveComponent:{type:Function,required:!1},titleCallback:{type:Function,required:!1,default:e=>e},onHeadUpdate:{type:Function,required:!1,default:()=>()=>{}}},setup({initialPage:e,initialComponent:o,resolveComponent:n,titleCallback:p,onHeadUpdate:t}){c.value=o?I(o):null,d.value=e,F.value=null;let a=typeof window>"u";return x=q(a,p,t),a||(C.init({initialPage:e,resolveComponent:n,swapComponent:async l=>{c.value=I(l.component),d.value=l.page,F.value=l.preserveState?F.value:Date.now()}}),C.on("navigate",()=>x.forceUpdate())),()=>{if(c.value){c.value.inheritAttrs=!!c.value.inheritAttrs;let l=S(c.value,{...d.value.props,key:F.value});return k.value&&(c.value.layout=k.value,k.value=null),c.value.layout?typeof c.value.layout=="function"?c.value.layout(S,l):(Array.isArray(c.value.layout)?c.value.layout:[c.value.layout]).concat(l).reverse().reduce((f,h)=>(h.inheritAttrs=!!h.inheritAttrs,S(h,{...d.value.props},()=>f))):l}}}}),E=W,$={install(e){C.form=T,Object.defineProperty(e.config.globalProperties,"$inertia",{get:()=>C}),Object.defineProperty(e.config.globalProperties,"$page",{get:()=>d.value}),Object.defineProperty(e.config.globalProperties,"$headManager",{get:()=>x}),e.mixin(D)}};function Q(){return U({props:v(()=>d.value?.props),url:v(()=>d.value?.url),component:v(()=>d.value?.component),version:v(()=>d.value?.version),scrollRegions:v(()=>d.value?.scrollRegions),rememberedState:v(()=>d.value?.rememberedState)})}import{setupProgress as Y}from"@inertiajs/core";import{createSSRApp as z,h as G}from"vue";async function j({id:e="app",resolve:o,setup:n,title:p,progress:t={},page:a,render:l}){let f=typeof window>"u",h=f?null:document.getElementById(e),y=a||JSON.parse(h.dataset.page),r=m=>Promise.resolve(o(m)).then(b=>b.default||b),s=[],i=await r(y.component).then(m=>n({el:h,App:E,props:{initialPage:y,initialComponent:m,resolveComponent:r,titleCallback:p,onHeadUpdate:f?b=>s=b:null},plugin:$}));if(!f&&t&&Y(t),f){let m=await l(z({render:()=>G("div",{id:e,"data-page":JSON.stringify(y),innerHTML:i?l(i):""})}));return{head:s,body:m}}}import{defineComponent as K}from"vue";var X=K({props:{title:{type:String,required:!1}},data(){return{provider:this.$headManager.createProvider()}},beforeUnmount(){this.provider.disconnect()},methods:{isUnaryTag(e){return["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"].indexOf(e.type)>-1},renderTagStart(e){e.props=e.props||{},e.props.inertia=e.props["head-key"]!==void 0?e.props["head-key"]:"";let o=Object.keys(e.props).reduce((n,p)=>{let t=e.props[p];return["key","head-key"].includes(p)?n:t===""?n+` ${p}`:n+` ${p}="${t}"`},"");return`<${e.type}${o}>`},renderTagChildren(e){return typeof e.children=="string"?e.children:e.children.reduce((o,n)=>o+this.renderTag(n),"")},isFunctionNode(e){return typeof e.type=="function"},isComponentNode(e){return typeof e.type=="object"},isCommentNode(e){return/(comment|cmt)/i.test(e.type.toString())},isFragmentNode(e){return/(fragment|fgt|symbol\(\))/i.test(e.type.toString())},isTextNode(e){return/(text|txt)/i.test(e.type.toString())},renderTag(e){if(this.isTextNode(e))return e.children;if(this.isFragmentNode(e))return"";if(this.isCommentNode(e))return"";let o=this.renderTagStart(e);return e.children&&(o+=this.renderTagChildren(e)),this.isUnaryTag(e)||(o+=`</${e.type}>`),o},addTitleElement(e){return this.title&&!e.find(o=>o.startsWith("<title"))&&e.push(`<title inertia>${this.title}</title>`),e},renderNodes(e){return this.addTitleElement(e.flatMap(o=>this.resolveNode(o)).map(o=>this.renderTag(o)).filter(o=>o))},resolveNode(e){return this.isFunctionNode(e)?this.resolveNode(e.type()):this.isComponentNode(e)?(console.warn("Using components in the <Head> component is not supported."),[]):this.isTextNode(e)&&e.children?e:this.isFragmentNode(e)&&e.children?e.children.flatMap(o=>this.resolveNode(o)):this.isCommentNode(e)?[]:e}},render(){this.provider.update(this.renderNodes(this.$slots.default?this.$slots.default():[]))}}),Z=X;import{mergeDataIntoQueryString as ee,router as re,shouldIntercept as te}from"@inertiajs/core";import{defineComponent as oe,h as ne}from"vue";var se=oe({name:"Link",props:{as:{type:String,default:"a"},data:{type:Object,default:()=>({})},href:{type:String,required:!0},method:{type:String,default:"get"},replace:{type:Boolean,default:!1},preserveScroll:{type:Boolean,default:!1},preserveState:{type:Boolean,default:null},only:{type:Array,default:()=>[]},headers:{type:Object,default:()=>({})},queryStringArrayFormat:{type:String,default:"brackets"}},setup(e,{slots:o,attrs:n}){return()=>{let p=e.as.toLowerCase(),t=e.method.toLowerCase(),[a,l]=ee(t,e.href||"",e.data,e.queryStringArrayFormat);return p==="a"&&t!=="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="${a}" method="${t}" as="button">...</Link>`),ne(e.as,{...n,...p==="a"?{href:a}:{},onClick:f=>{te(f)&&(f.preventDefault(),re.visit(a,{data:l,method:t,replace:e.replace,preserveScroll:e.preserveScroll,preserveState:e.preserveState??t!=="get",only:e.only,headers:e.headers,onCancelToken:n.onCancelToken||(()=>({})),onBefore:n.onBefore||(()=>({})),onStart:n.onStart||(()=>({})),onProgress:n.onProgress||(()=>({})),onFinish:n.onFinish||(()=>({})),onCancel:n.onCancel||(()=>({})),onSuccess:n.onSuccess||(()=>({})),onError:n.onError||(()=>({}))}))}},o)}}}),ie=se;import{router as w}from"@inertiajs/core";import ae from"lodash.clonedeep";import{isReactive as le,reactive as pe,ref as ue,watch as me}from"vue";function O(e,o){if(typeof e=="object"&&e!==null&&e.__rememberable===!1)return e;let n=w.restore(o),p=le(e)?pe:ue,t=typeof e.__remember=="function"&&typeof e.__restore=="function",a=p(n===void 0?e:t?e.__restore(n):n);return me(a,l=>{w.remember(ae(t?e.__remember():l),o)},{immediate:!0,deep:!0}),a}export{Z as Head,ie as Link,j as createInertiaApp,lr as router,T as useForm,
|
|
5
|
+
<Link href="${a}" method="${t}" as="button">...</Link>`),ne(e.as,{...n,...p==="a"?{href:a}:{},onClick:f=>{te(f)&&(f.preventDefault(),re.visit(a,{data:l,method:t,replace:e.replace,preserveScroll:e.preserveScroll,preserveState:e.preserveState??t!=="get",only:e.only,headers:e.headers,onCancelToken:n.onCancelToken||(()=>({})),onBefore:n.onBefore||(()=>({})),onStart:n.onStart||(()=>({})),onProgress:n.onProgress||(()=>({})),onFinish:n.onFinish||(()=>({})),onCancel:n.onCancel||(()=>({})),onSuccess:n.onSuccess||(()=>({})),onError:n.onError||(()=>({}))}))}},o)}}}),ie=se;import{router as w}from"@inertiajs/core";import ae from"lodash.clonedeep";import{isReactive as le,reactive as pe,ref as ue,watch as me}from"vue";function O(e,o){if(typeof e=="object"&&e!==null&&e.__rememberable===!1)return e;let n=w.restore(o),p=le(e)?pe:ue,t=typeof e.__remember=="function"&&typeof e.__restore=="function",a=p(n===void 0?e:t?e.__restore(n):n);return me(a,l=>{w.remember(ae(t?e.__remember():l),o)},{immediate:!0,deep:!0}),a}export{Z as Head,ie as Link,j as createInertiaApp,lr as router,T as useForm,Q as usePage,O as useRemember};
|
|
6
6
|
//# sourceMappingURL=index.esm.js.map
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.ts", "../src/app.ts", "../src/remember.ts", "../src/useForm.ts", "../src/createInertiaApp.ts", "../src/head.ts", "../src/link.ts", "../src/useRemember.ts"],
|
|
4
|
-
"sourcesContent": ["export { router } from '@inertiajs/core'\nexport { usePage } from './app'\nexport { default as createInertiaApp } from './createInertiaApp'\nexport { default as Head } from './head'\nexport { default as Link, InertiaLinkProps } from './link'\nexport * from './types'\nexport { default as useForm, InertiaForm } from './useForm'\nexport { default as useRemember } from './useRemember'\n", "import { createHeadManager, Page, PageProps, router } from '@inertiajs/core'\nimport {\n computed,\n DefineComponent,\n defineComponent,\n h,\n markRaw,\n Plugin,\n PropType,\n reactive,\n ref,\n shallowRef,\n} from 'vue'\nimport remember from './remember'\nimport { VuePageHandlerArgs } from './types'\nimport useForm from './useForm'\n\nexport interface InertiaAppProps {\n initialPage: Page\n initialComponent?: object\n resolveComponent?: (name: string) => DefineComponent | Promise<DefineComponent>\n titleCallback?: (title: string) => string\n onHeadUpdate?: (elements: string[]) => void\n}\n\nexport type InertiaApp = DefineComponent<InertiaAppProps>\n\nconst component = ref(null)\nconst page = ref<Page<any>>(null)\nconst layout = shallowRef(null)\nconst key = ref(null)\nlet headManager = null\n\nconst App: InertiaApp = defineComponent({\n name: 'Inertia',\n props: {\n initialPage: {\n type: Object as PropType<Page>,\n required: true,\n },\n initialComponent: {\n type: Object,\n required: false,\n },\n resolveComponent: {\n type: Function as PropType<(name: string) => DefineComponent | Promise<DefineComponent>>,\n required: false,\n },\n titleCallback: {\n type: Function as PropType<(title: string) => string>,\n required: false,\n default: (title) => title,\n },\n onHeadUpdate: {\n type: Function as PropType<(elements: string[]) => void>,\n required: false,\n default: () => () => {},\n },\n },\n setup({ initialPage, initialComponent, resolveComponent, titleCallback, onHeadUpdate }) {\n component.value = initialComponent ? markRaw(initialComponent) : null\n page.value = initialPage\n key.value = null\n\n const isServer = typeof window === 'undefined'\n headManager = createHeadManager(isServer, titleCallback, onHeadUpdate)\n\n if (!isServer) {\n router.init({\n initialPage,\n resolveComponent,\n swapComponent: async (args: VuePageHandlerArgs) => {\n component.value = markRaw(args.component)\n page.value = args.page\n key.value = args.preserveState ? key.value : Date.now()\n },\n })\n\n router.on('navigate', () => headManager.forceUpdate())\n }\n\n return () => {\n if (component.value) {\n component.value.inheritAttrs = !!component.value.inheritAttrs\n\n const child = h(component.value, {\n ...page.value.props,\n key: key.value,\n })\n\n if (layout.value) {\n component.value.layout = layout.value\n layout.value = null\n }\n\n if (component.value.layout) {\n if (typeof component.value.layout === 'function') {\n return component.value.layout(h, child)\n }\n\n return (Array.isArray(component.value.layout) ? component.value.layout : [component.value.layout])\n .concat(child)\n .reverse()\n .reduce((child, layout) => {\n layout.inheritAttrs = !!layout.inheritAttrs\n return h(layout, { ...page.value.props }, () => child)\n })\n }\n\n return child\n }\n }\n },\n})\nexport default App\n\nexport const plugin: Plugin = {\n install(app) {\n router.form = useForm\n\n Object.defineProperty(app.config.globalProperties, '$inertia', { get: () => router })\n Object.defineProperty(app.config.globalProperties, '$page', { get: () => page.value })\n Object.defineProperty(app.config.globalProperties, '$headManager', { get: () => headManager })\n\n app.mixin(remember)\n },\n}\n\nexport function usePage<SharedProps extends PageProps>(): Page<SharedProps> {\n return reactive({\n props: computed(() => page.value?.props),\n url: computed(() => page.value?.url),\n component: computed(() => page.value?.component),\n version: computed(() => page.value?.version),\n scrollRegions: computed(() => page.value?.scrollRegions),\n rememberedState: computed(() => page.value?.rememberedState),\n })\n}\n", "import { router } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport { ComponentOptions } from 'vue'\n\nconst remember: ComponentOptions = {\n created() {\n if (!this.$options.remember) {\n return\n }\n\n if (Array.isArray(this.$options.remember)) {\n this.$options.remember = { data: this.$options.remember }\n }\n\n if (typeof this.$options.remember === 'string') {\n this.$options.remember = { data: [this.$options.remember] }\n }\n\n if (typeof this.$options.remember.data === 'string') {\n this.$options.remember = { data: [this.$options.remember.data] }\n }\n\n const rememberKey =\n this.$options.remember.key instanceof Function\n ? this.$options.remember.key.call(this)\n : this.$options.remember.key\n\n const restored = router.restore(rememberKey)\n\n const rememberable = this.$options.remember.data.filter((key) => {\n return !(this[key] !== null && typeof this[key] === 'object' && this[key].__rememberable === false)\n })\n\n const hasCallbacks = (key) => {\n return (\n this[key] !== null &&\n typeof this[key] === 'object' &&\n typeof this[key].__remember === 'function' &&\n typeof this[key].__restore === 'function'\n )\n }\n\n rememberable.forEach((key) => {\n if (this[key] !== undefined && restored !== undefined && restored[key] !== undefined) {\n hasCallbacks(key) ? this[key].__restore(restored[key]) : (this[key] = restored[key])\n }\n\n this.$watch(\n key,\n () => {\n router.remember(\n rememberable.reduce(\n (data, key) => ({\n ...data,\n [key]: cloneDeep(hasCallbacks(key) ? this[key].__remember() : this[key]),\n }),\n {},\n ),\n rememberKey,\n )\n },\n { immediate: true, deep: true },\n )\n })\n },\n}\n\nexport default remember\n", "import { FormDataConvertible, Method, Progress, router, VisitOptions } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport isEqual from 'lodash.isequal'\nimport { reactive, watch } from 'vue'\n\ntype FormDataType = object;\n\ninterface InertiaFormProps<TForm extends FormDataType> {\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 data(): TForm\n transform(callback: (data: TForm) => object): this\n defaults(): this\n defaults(field: keyof TForm, value: FormDataConvertible): this\n defaults(fields: Partial<TForm>): this\n reset(...fields: (keyof TForm)[]): this\n clearErrors(...fields: (keyof TForm)[]): this\n setError(field: keyof TForm, value: string): this\n setError(errors: Record<keyof TForm, string>): this\n submit(method: Method, url: string, options?: Partial<VisitOptions>): void\n get(url: string, options?: Partial<VisitOptions>): void\n post(url: string, options?: Partial<VisitOptions>): void\n put(url: string, options?: Partial<VisitOptions>): void\n patch(url: string, options?: Partial<VisitOptions>): void\n delete(url: string, options?: Partial<VisitOptions>): void\n cancel(): void\n}\n\nexport type InertiaForm<TForm extends FormDataType> = TForm & InertiaFormProps<TForm>\n\nexport default function useForm<TForm extends FormDataType>(data: TForm | (() => TForm)): InertiaForm<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKey: string,\n data: TForm | (() => TForm),\n): InertiaForm<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKeyOrData: string | TForm | (() => TForm),\n maybeData?: TForm | (() => TForm),\n): InertiaForm<TForm> {\n const rememberKey = typeof rememberKeyOrData === 'string' ? rememberKeyOrData : null\n const data = typeof rememberKeyOrData === 'string' ? maybeData : rememberKeyOrData\n const restored = rememberKey\n ? (router.restore(rememberKey) as { data: TForm; errors: Record<keyof TForm, string> })\n : null\n let defaults = typeof data === 'object' ? cloneDeep(data) : cloneDeep(data())\n let cancelToken = null\n let recentlySuccessfulTimeoutId = null\n let transform = (data) => data\n\n const form = reactive({\n ...(restored ? restored.data : cloneDeep(defaults)),\n isDirty: false,\n errors: restored ? restored.errors : {},\n hasErrors: false,\n processing: false,\n progress: null,\n wasSuccessful: false,\n recentlySuccessful: false,\n data() {\n return (Object.keys(defaults) as Array<keyof TForm>).reduce((carry, key) => {\n carry[key] = this[key]\n return carry\n }, {} as Partial<TForm>) as TForm\n },\n transform(callback) {\n transform = callback\n\n return this\n },\n defaults(fieldOrFields?: keyof TForm | Partial<TForm>, maybeValue?: FormDataConvertible) {\n if (typeof data === 'function') {\n throw new Error('You cannot call `defaults()` when using a function to define your form data.')\n }\n\n if (typeof fieldOrFields === 'undefined') {\n defaults = this.data()\n } else {\n defaults = Object.assign(\n {},\n cloneDeep(defaults),\n typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : fieldOrFields,\n )\n }\n\n return this\n },\n reset(...fields) {\n const resolvedData = typeof data === 'object' ? cloneDeep(defaults) : cloneDeep(data())\n const clonedData = cloneDeep(resolvedData)\n if (fields.length === 0) {\n defaults = clonedData\n Object.assign(this, resolvedData)\n } else {\n Object.keys(resolvedData)\n .filter((key) => fields.includes(key))\n .forEach((key) => {\n defaults[key] = clonedData[key]\n this[key] = resolvedData[key]\n })\n }\n\n return this\n },\n setError(fieldOrFields: keyof TForm | Record<keyof TForm, string>, maybeValue?: string) {\n Object.assign(this.errors, typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : fieldOrFields)\n\n this.hasErrors = Object.keys(this.errors).length > 0\n\n return this\n },\n clearErrors(...fields) {\n this.errors = Object.keys(this.errors).reduce(\n (carry, field) => ({\n ...carry,\n ...(fields.length > 0 && !fields.includes(field) ? { [field]: this.errors[field] } : {}),\n }),\n {},\n )\n\n this.hasErrors = Object.keys(this.errors).length > 0\n\n return this\n },\n submit(method, url, options: VisitOptions = {}) {\n const data = transform(this.data())\n const _options = {\n ...options,\n onCancelToken: (token) => {\n cancelToken = token\n\n if (options.onCancelToken) {\n return options.onCancelToken(token)\n }\n },\n onBefore: (visit) => {\n this.wasSuccessful = false\n this.recentlySuccessful = false\n clearTimeout(recentlySuccessfulTimeoutId)\n\n if (options.onBefore) {\n return options.onBefore(visit)\n }\n },\n onStart: (visit) => {\n this.processing = true\n\n if (options.onStart) {\n return options.onStart(visit)\n }\n },\n onProgress: (event) => {\n this.progress = event\n\n if (options.onProgress) {\n return options.onProgress(event)\n }\n },\n onSuccess: async (page) => {\n this.processing = false\n this.progress = null\n this.clearErrors()\n this.wasSuccessful = true\n this.recentlySuccessful = true\n recentlySuccessfulTimeoutId = setTimeout(() => (this.recentlySuccessful = false), 2000)\n\n const onSuccess = options.onSuccess ? await options.onSuccess(page) : null\n defaults = cloneDeep(this.data())\n this.isDirty = false\n return onSuccess\n },\n onError: (errors) => {\n this.processing = false\n this.progress = null\n this.clearErrors().setError(errors)\n\n if (options.onError) {\n return options.onError(errors)\n }\n },\n onCancel: () => {\n this.processing = false\n this.progress = null\n\n if (options.onCancel) {\n return options.onCancel()\n }\n },\n onFinish: (visit) => {\n this.processing = false\n this.progress = null\n cancelToken = null\n\n if (options.onFinish) {\n return options.onFinish(visit)\n }\n },\n }\n\n if (method === 'delete') {\n router.delete(url, { ..._options, data })\n } else {\n router[method](url, data, _options)\n }\n },\n get(url, options) {\n this.submit('get', url, options)\n },\n post(url, options) {\n this.submit('post', url, options)\n },\n put(url, options) {\n this.submit('put', url, options)\n },\n patch(url, options) {\n this.submit('patch', url, options)\n },\n delete(url, options) {\n this.submit('delete', url, options)\n },\n cancel() {\n if (cancelToken) {\n cancelToken.cancel()\n }\n },\n __rememberable: rememberKey === null,\n __remember() {\n return { data: this.data(), errors: this.errors }\n },\n __restore(restored) {\n Object.assign(this, restored.data)\n this.setError(restored.errors)\n },\n })\n\n watch(\n form,\n (newValue) => {\n form.isDirty = !isEqual(form.data(), defaults)\n if (rememberKey) {\n router.remember(cloneDeep(newValue.__remember()), rememberKey)\n }\n },\n { immediate: true, deep: true },\n )\n\n return form\n}\n", "import { Page, setupProgress } from '@inertiajs/core'\nimport { App as VueApp, createSSRApp, DefineComponent, h, Plugin } from 'vue'\nimport App, { InertiaApp, InertiaAppProps, plugin } from './app'\n\ninterface CreateInertiaAppProps {\n id?: string\n resolve: (name: string) => DefineComponent | Promise<DefineComponent> | { default: DefineComponent }\n setup: (props: { el: Element; App: InertiaApp; props: InertiaAppProps; plugin: Plugin }) => void | VueApp\n title?: (title: string) => string\n progress?:\n | false\n | {\n delay?: number\n color?: string\n includeCSS?: boolean\n showSpinner?: boolean\n }\n page?: Page\n render?: (app: VueApp) => Promise<string>\n}\n\nexport default async function createInertiaApp({\n id = 'app',\n resolve,\n setup,\n title,\n progress = {},\n page,\n render,\n}: CreateInertiaAppProps): Promise<{ head: string[]; body: string }> {\n const isServer = typeof window === 'undefined'\n const el = isServer ? null : document.getElementById(id)\n const initialPage = page || JSON.parse(el.dataset.page)\n const resolveComponent = (name) => Promise.resolve(resolve(name)).then((module) => module.default || module)\n\n let head = []\n\n const vueApp = await resolveComponent(initialPage.component).then((initialComponent) => {\n return setup({\n el,\n App,\n props: {\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback: title,\n onHeadUpdate: isServer ? (elements) => (head = elements) : null,\n },\n plugin,\n })\n })\n\n if (!isServer && progress) {\n setupProgress(progress)\n }\n\n if (isServer) {\n const body = await render(\n createSSRApp({\n render: () =>\n h('div', {\n id,\n 'data-page': JSON.stringify(initialPage),\n innerHTML: vueApp ? render(vueApp) : '',\n }),\n }),\n )\n\n return { head, body }\n }\n}\n", "import { defineComponent, DefineComponent } from 'vue'\n\nexport type InertiaHead = DefineComponent<{\n title?: string\n}>\n\nconst Head: InertiaHead = defineComponent({\n props: {\n title: {\n type: String,\n required: false,\n },\n },\n data() {\n return {\n provider: this.$headManager.createProvider(),\n }\n },\n beforeUnmount() {\n this.provider.disconnect()\n },\n methods: {\n 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 renderTagStart(node) {\n node.props = node.props || {}\n node.props.inertia = node.props['head-key'] !== undefined ? node.props['head-key'] : ''\n const attrs = Object.keys(node.props).reduce((carry, name) => {\n const value = node.props[name]\n if (['key', 'head-key'].includes(name)) {\n return carry\n } else if (value === '') {\n return carry + ` ${name}`\n } else {\n return carry + ` ${name}=\"${value}\"`\n }\n }, '')\n return `<${node.type}${attrs}>`\n },\n renderTagChildren(node) {\n return typeof node.children === 'string'\n ? node.children\n : node.children.reduce((html, child) => html + this.renderTag(child), '')\n },\n isFunctionNode(node) {\n return typeof node.type === 'function'\n },\n isComponentNode(node) {\n return typeof node.type === 'object'\n },\n isCommentNode(node) {\n return /(comment|cmt)/i.test(node.type.toString())\n },\n isFragmentNode(node) {\n return /(fragment|fgt|symbol\\(\\))/i.test(node.type.toString())\n },\n isTextNode(node) {\n return /(text|txt)/i.test(node.type.toString())\n },\n renderTag(node) {\n if (this.isTextNode(node)) {\n return node.children\n } else if (this.isFragmentNode(node)) {\n return ''\n } else if (this.isCommentNode(node)) {\n return ''\n }\n let html = this.renderTagStart(node)\n if (node.children) {\n html += this.renderTagChildren(node)\n }\n if (!this.isUnaryTag(node)) {\n html += `</${node.type}>`\n }\n return html\n },\n addTitleElement(elements) {\n if (this.title && !elements.find((tag) => tag.startsWith('<title'))) {\n elements.push(`<title inertia>${this.title}</title>`)\n }\n return elements\n },\n renderNodes(nodes) {\n return this.addTitleElement(\n nodes\n .flatMap((node) => this.resolveNode(node))\n .map((node) => this.renderTag(node))\n .filter((node) => node),\n )\n },\n resolveNode(node) {\n if (this.isFunctionNode(node)) {\n return this.resolveNode(node.type())\n } else if (this.isComponentNode(node)) {\n console.warn(`Using components in the <Head> component is not supported.`)\n return []\n } else if (this.isTextNode(node) && node.children) {\n return node\n } else if (this.isFragmentNode(node) && node.children) {\n return node.children.flatMap((child) => this.resolveNode(child))\n } else if (this.isCommentNode(node)) {\n return []\n } else {\n return node\n }\n },\n },\n render() {\n this.provider.update(this.renderNodes(this.$slots.default ? this.$slots.default() : []))\n },\n})\n\nexport default Head\n", "import { mergeDataIntoQueryString, Method, PageProps, Progress, router, shouldIntercept } from '@inertiajs/core'\nimport { defineComponent, DefineComponent, h, PropType } from 'vue'\n\nexport interface InertiaLinkProps {\n as?: string\n data?: object\n href: string\n method?: Method\n headers?: object\n onClick?: (event: MouseEvent | KeyboardEvent) => void\n preserveScroll?: boolean | ((props: PageProps) => boolean)\n preserveState?: boolean | ((props: PageProps) => boolean) | null\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 queryStringArrayFormat?: 'brackets' | 'indices'\n}\n\ntype InertiaLink = DefineComponent<InertiaLinkProps>\n\nconst Link: InertiaLink = defineComponent({\n name: 'Link',\n props: {\n as: {\n type: String,\n default: 'a',\n },\n data: {\n type: Object,\n default: () => ({}),\n },\n href: {\n type: String,\n required: true,\n },\n method: {\n type: String as PropType<Method>,\n default: 'get',\n },\n replace: {\n type: Boolean,\n default: false,\n },\n preserveScroll: {\n type: Boolean,\n default: false,\n },\n preserveState: {\n type: Boolean,\n default: null,\n },\n only: {\n type: Array<string>,\n default: () => [],\n },\n headers: {\n type: Object,\n default: () => ({}),\n },\n queryStringArrayFormat: {\n type: String as PropType<'brackets' | 'indices'>,\n default: 'brackets',\n },\n },\n setup(props, { slots, attrs }) {\n return () => {\n const as = props.as.toLowerCase()\n const method = props.method.toLowerCase() as Method\n const [href, data] = mergeDataIntoQueryString(method, props.href || '', props.data, props.queryStringArrayFormat)\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 h(\n props.as,\n {\n ...attrs,\n ...(as === 'a' ? { href } : {}),\n onClick: (event) => {\n if (shouldIntercept(event)) {\n event.preventDefault()\n\n router.visit(href, {\n data: data,\n method: method,\n replace: props.replace,\n preserveScroll: props.preserveScroll,\n preserveState: props.preserveState ?? method !== 'get',\n only: props.only,\n headers: props.headers,\n // @ts-expect-error\n onCancelToken: attrs.onCancelToken || (() => ({})),\n // @ts-expect-error\n onBefore: attrs.onBefore || (() => ({})),\n // @ts-expect-error\n onStart: attrs.onStart || (() => ({})),\n // @ts-expect-error\n onProgress: attrs.onProgress || (() => ({})),\n // @ts-expect-error\n onFinish: attrs.onFinish || (() => ({})),\n // @ts-expect-error\n onCancel: attrs.onCancel || (() => ({})),\n // @ts-expect-error\n onSuccess: attrs.onSuccess || (() => ({})),\n // @ts-expect-error\n onError: attrs.onError || (() => ({})),\n })\n }\n },\n },\n slots,\n )\n }\n },\n})\n\nexport default Link\n", "import { router } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport { isReactive, reactive, ref, Ref, watch } from 'vue'\n\nexport default function useRemember<T extends object>(\n data: T & { __rememberable?: boolean; __remember?: Function; __restore?: Function },\n key?: string,\n): Ref<T> | T {\n if (typeof data === 'object' && data !== null && data.__rememberable === false) {\n return data\n }\n\n const restored = router.restore(key)\n const type = isReactive(data) ? reactive : ref\n const hasCallbacks = typeof data.__remember === 'function' && typeof data.__restore === 'function'\n const remembered = type(restored === undefined ? data : hasCallbacks ? data.__restore(restored) : restored)\n\n watch(\n remembered,\n (newValue) => {\n router.remember(cloneDeep(hasCallbacks ? data.__remember() : newValue), key)\n },\n { immediate: true, deep: true },\n )\n\n return remembered\n}\n"],
|
|
4
|
+
"sourcesContent": ["export { router } from '@inertiajs/core'\nexport { usePage } from './app'\nexport { default as createInertiaApp } from './createInertiaApp'\nexport { default as Head } from './head'\nexport { default as Link, InertiaLinkProps } from './link'\nexport * from './types'\nexport { default as useForm, InertiaForm } from './useForm'\nexport { default as useRemember } from './useRemember'\n", "import { createHeadManager, Page, PageProps, router } from '@inertiajs/core'\nimport {\n computed,\n DefineComponent,\n defineComponent,\n h,\n markRaw,\n Plugin,\n PropType,\n reactive,\n ref,\n shallowRef,\n} from 'vue'\nimport remember from './remember'\nimport { VuePageHandlerArgs } from './types'\nimport useForm from './useForm'\n\nexport interface InertiaAppProps {\n initialPage: Page\n initialComponent?: object\n resolveComponent?: (name: string) => DefineComponent | Promise<DefineComponent>\n titleCallback?: (title: string) => string\n onHeadUpdate?: (elements: string[]) => void\n}\n\nexport type InertiaApp = DefineComponent<InertiaAppProps>\n\nconst component = ref(null)\nconst page = ref<Page<any>>(null)\nconst layout = shallowRef(null)\nconst key = ref(null)\nlet headManager = null\n\nconst App: InertiaApp = defineComponent({\n name: 'Inertia',\n props: {\n initialPage: {\n type: Object as PropType<Page>,\n required: true,\n },\n initialComponent: {\n type: Object,\n required: false,\n },\n resolveComponent: {\n type: Function as PropType<(name: string) => DefineComponent | Promise<DefineComponent>>,\n required: false,\n },\n titleCallback: {\n type: Function as PropType<(title: string) => string>,\n required: false,\n default: (title) => title,\n },\n onHeadUpdate: {\n type: Function as PropType<(elements: string[]) => void>,\n required: false,\n default: () => () => {},\n },\n },\n setup({ initialPage, initialComponent, resolveComponent, titleCallback, onHeadUpdate }) {\n component.value = initialComponent ? markRaw(initialComponent) : null\n page.value = initialPage\n key.value = null\n\n const isServer = typeof window === 'undefined'\n headManager = createHeadManager(isServer, titleCallback, onHeadUpdate)\n\n if (!isServer) {\n router.init({\n initialPage,\n resolveComponent,\n swapComponent: async (args: VuePageHandlerArgs) => {\n component.value = markRaw(args.component)\n page.value = args.page\n key.value = args.preserveState ? key.value : Date.now()\n },\n })\n\n router.on('navigate', () => headManager.forceUpdate())\n }\n\n return () => {\n if (component.value) {\n component.value.inheritAttrs = !!component.value.inheritAttrs\n\n const child = h(component.value, {\n ...page.value.props,\n key: key.value,\n })\n\n if (layout.value) {\n component.value.layout = layout.value\n layout.value = null\n }\n\n if (component.value.layout) {\n if (typeof component.value.layout === 'function') {\n return component.value.layout(h, child)\n }\n\n return (Array.isArray(component.value.layout) ? component.value.layout : [component.value.layout])\n .concat(child)\n .reverse()\n .reduce((child, layout) => {\n layout.inheritAttrs = !!layout.inheritAttrs\n return h(layout, { ...page.value.props }, () => child)\n })\n }\n\n return child\n }\n }\n },\n})\nexport default App\n\nexport const plugin: Plugin = {\n install(app) {\n router.form = useForm\n\n Object.defineProperty(app.config.globalProperties, '$inertia', { get: () => router })\n Object.defineProperty(app.config.globalProperties, '$page', { get: () => page.value })\n Object.defineProperty(app.config.globalProperties, '$headManager', { get: () => headManager })\n\n app.mixin(remember)\n },\n}\n\nexport function usePage<SharedProps extends PageProps>(): Page<SharedProps> {\n return reactive({\n props: computed(() => page.value?.props),\n url: computed(() => page.value?.url),\n component: computed(() => page.value?.component),\n version: computed(() => page.value?.version),\n scrollRegions: computed(() => page.value?.scrollRegions),\n rememberedState: computed(() => page.value?.rememberedState),\n })\n}\n", "import { router } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport { ComponentOptions } from 'vue'\n\nconst remember: ComponentOptions = {\n created() {\n if (!this.$options.remember) {\n return\n }\n\n if (Array.isArray(this.$options.remember)) {\n this.$options.remember = { data: this.$options.remember }\n }\n\n if (typeof this.$options.remember === 'string') {\n this.$options.remember = { data: [this.$options.remember] }\n }\n\n if (typeof this.$options.remember.data === 'string') {\n this.$options.remember = { data: [this.$options.remember.data] }\n }\n\n const rememberKey =\n this.$options.remember.key instanceof Function\n ? this.$options.remember.key.call(this)\n : this.$options.remember.key\n\n const restored = router.restore(rememberKey)\n\n const rememberable = this.$options.remember.data.filter((key) => {\n return !(this[key] !== null && typeof this[key] === 'object' && this[key].__rememberable === false)\n })\n\n const hasCallbacks = (key) => {\n return (\n this[key] !== null &&\n typeof this[key] === 'object' &&\n typeof this[key].__remember === 'function' &&\n typeof this[key].__restore === 'function'\n )\n }\n\n rememberable.forEach((key) => {\n if (this[key] !== undefined && restored !== undefined && restored[key] !== undefined) {\n hasCallbacks(key) ? this[key].__restore(restored[key]) : (this[key] = restored[key])\n }\n\n this.$watch(\n key,\n () => {\n router.remember(\n rememberable.reduce(\n (data, key) => ({\n ...data,\n [key]: cloneDeep(hasCallbacks(key) ? this[key].__remember() : this[key]),\n }),\n {},\n ),\n rememberKey,\n )\n },\n { immediate: true, deep: true },\n )\n })\n },\n}\n\nexport default remember\n", "import { FormDataConvertible, Method, Progress, router, VisitOptions } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport isEqual from 'lodash.isequal'\nimport { reactive, watch } from 'vue'\n\ntype FormDataType = object;\n\ninterface InertiaFormProps<TForm extends FormDataType> {\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 data(): TForm\n transform(callback: (data: TForm) => object): this\n defaults(): this\n defaults(field: keyof TForm, value: FormDataConvertible): this\n defaults(fields: Partial<TForm>): this\n reset(...fields: (keyof TForm)[]): this\n clearErrors(...fields: (keyof TForm)[]): this\n setError(field: keyof TForm, value: string): this\n setError(errors: Record<keyof TForm, string>): this\n submit(method: Method, url: string, options?: Partial<VisitOptions>): void\n get(url: string, options?: Partial<VisitOptions>): void\n post(url: string, options?: Partial<VisitOptions>): void\n put(url: string, options?: Partial<VisitOptions>): void\n patch(url: string, options?: Partial<VisitOptions>): void\n delete(url: string, options?: Partial<VisitOptions>): void\n cancel(): void\n}\n\nexport type InertiaForm<TForm extends FormDataType> = TForm & InertiaFormProps<TForm>\n\nexport default function useForm<TForm extends FormDataType>(data: TForm | (() => TForm)): InertiaForm<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKey: string,\n data: TForm | (() => TForm),\n): InertiaForm<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKeyOrData: string | TForm | (() => TForm),\n maybeData?: TForm | (() => TForm),\n): InertiaForm<TForm> {\n const rememberKey = typeof rememberKeyOrData === 'string' ? rememberKeyOrData : null\n const data = typeof rememberKeyOrData === 'string' ? maybeData : rememberKeyOrData\n const restored = rememberKey\n ? (router.restore(rememberKey) as { data: TForm; errors: Record<keyof TForm, string> })\n : null\n let defaults = typeof data === 'object' ? cloneDeep(data) : cloneDeep(data())\n let cancelToken = null\n let recentlySuccessfulTimeoutId = null\n let transform = (data) => data\n\n const form = reactive({\n ...(restored ? restored.data : cloneDeep(defaults)),\n isDirty: false,\n errors: restored ? restored.errors : {},\n hasErrors: false,\n processing: false,\n progress: null,\n wasSuccessful: false,\n recentlySuccessful: false,\n data() {\n return (Object.keys(defaults) as Array<keyof TForm>).reduce((carry, key) => {\n carry[key] = this[key]\n return carry\n }, {} as Partial<TForm>) as TForm\n },\n transform(callback) {\n transform = callback\n\n return this\n },\n defaults(fieldOrFields?: keyof TForm | Partial<TForm>, maybeValue?: FormDataConvertible) {\n if (typeof data === 'function') {\n throw new Error('You cannot call `defaults()` when using a function to define your form data.')\n }\n\n if (typeof fieldOrFields === 'undefined') {\n defaults = this.data()\n } else {\n defaults = Object.assign(\n {},\n cloneDeep(defaults),\n typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : fieldOrFields,\n )\n }\n\n return this\n },\n reset(...fields) {\n const resolvedData = typeof data === 'object' ? cloneDeep(defaults) : cloneDeep(data())\n const clonedData = cloneDeep(resolvedData)\n if (fields.length === 0) {\n defaults = clonedData\n Object.assign(this, resolvedData)\n } else {\n Object.keys(resolvedData)\n .filter((key) => fields.includes(key))\n .forEach((key) => {\n defaults[key] = clonedData[key]\n this[key] = resolvedData[key]\n })\n }\n\n return this\n },\n setError(fieldOrFields: keyof TForm | Record<keyof TForm, string>, maybeValue?: string) {\n Object.assign(this.errors, typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : fieldOrFields)\n\n this.hasErrors = Object.keys(this.errors).length > 0\n\n return this\n },\n clearErrors(...fields) {\n this.errors = Object.keys(this.errors).reduce(\n (carry, field) => ({\n ...carry,\n ...(fields.length > 0 && !fields.includes(field) ? { [field]: this.errors[field] } : {}),\n }),\n {},\n )\n\n this.hasErrors = Object.keys(this.errors).length > 0\n\n return this\n },\n submit(method, url, options: VisitOptions = {}) {\n const data = transform(this.data())\n const _options = {\n ...options,\n onCancelToken: (token) => {\n cancelToken = token\n\n if (options.onCancelToken) {\n return options.onCancelToken(token)\n }\n },\n onBefore: (visit) => {\n this.wasSuccessful = false\n this.recentlySuccessful = false\n clearTimeout(recentlySuccessfulTimeoutId)\n\n if (options.onBefore) {\n return options.onBefore(visit)\n }\n },\n onStart: (visit) => {\n this.processing = true\n\n if (options.onStart) {\n return options.onStart(visit)\n }\n },\n onProgress: (event) => {\n this.progress = event\n\n if (options.onProgress) {\n return options.onProgress(event)\n }\n },\n onSuccess: async (page) => {\n this.processing = false\n this.progress = null\n this.clearErrors()\n this.wasSuccessful = true\n this.recentlySuccessful = true\n recentlySuccessfulTimeoutId = setTimeout(() => (this.recentlySuccessful = false), 2000)\n\n const onSuccess = options.onSuccess ? await options.onSuccess(page) : null\n defaults = cloneDeep(this.data())\n this.isDirty = false\n return onSuccess\n },\n onError: (errors) => {\n this.processing = false\n this.progress = null\n this.clearErrors().setError(errors)\n\n if (options.onError) {\n return options.onError(errors)\n }\n },\n onCancel: () => {\n this.processing = false\n this.progress = null\n\n if (options.onCancel) {\n return options.onCancel()\n }\n },\n onFinish: (visit) => {\n this.processing = false\n this.progress = null\n cancelToken = null\n\n if (options.onFinish) {\n return options.onFinish(visit)\n }\n },\n }\n\n if (method === 'delete') {\n router.delete(url, { ..._options, data })\n } else {\n router[method](url, data, _options)\n }\n },\n get(url, options) {\n this.submit('get', url, options)\n },\n post(url, options) {\n this.submit('post', url, options)\n },\n put(url, options) {\n this.submit('put', url, options)\n },\n patch(url, options) {\n this.submit('patch', url, options)\n },\n delete(url, options) {\n this.submit('delete', url, options)\n },\n cancel() {\n if (cancelToken) {\n cancelToken.cancel()\n }\n },\n __rememberable: rememberKey === null,\n __remember() {\n return { data: this.data(), errors: this.errors }\n },\n __restore(restored) {\n Object.assign(this, restored.data)\n this.setError(restored.errors)\n },\n })\n\n watch(\n form,\n (newValue) => {\n form.isDirty = !isEqual(form.data(), defaults)\n if (rememberKey) {\n router.remember(cloneDeep(newValue.__remember()), rememberKey)\n }\n },\n { immediate: true, deep: true },\n )\n\n return form\n}\n", "import { Page, setupProgress } from '@inertiajs/core'\nimport { App as VueApp, createSSRApp, DefineComponent, h, Plugin } from 'vue'\nimport App, { InertiaApp, InertiaAppProps, plugin } from './app'\n\ninterface CreateInertiaAppProps {\n id?: string\n resolve: (name: string) => DefineComponent | Promise<DefineComponent> | { default: DefineComponent }\n setup: (props: { el: Element; App: InertiaApp; props: InertiaAppProps; plugin: Plugin }) => void | VueApp\n title?: (title: string) => string\n progress?:\n | false\n | {\n delay?: number\n color?: string\n includeCSS?: boolean\n showSpinner?: boolean\n }\n page?: Page\n render?: (app: VueApp) => Promise<string>\n}\n\nexport default async function createInertiaApp({\n id = 'app',\n resolve,\n setup,\n title,\n progress = {},\n page,\n render,\n}: CreateInertiaAppProps): Promise<{ head: string[]; body: string }> {\n const isServer = typeof window === 'undefined'\n const el = isServer ? null : document.getElementById(id)\n const initialPage = page || JSON.parse(el.dataset.page)\n const resolveComponent = (name) => Promise.resolve(resolve(name)).then((module) => module.default || module)\n\n let head = []\n\n const vueApp = await resolveComponent(initialPage.component).then((initialComponent) => {\n return setup({\n el,\n App,\n props: {\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback: title,\n onHeadUpdate: isServer ? (elements) => (head = elements) : null,\n },\n plugin,\n })\n })\n\n if (!isServer && progress) {\n setupProgress(progress)\n }\n\n if (isServer) {\n const body = await render(\n createSSRApp({\n render: () =>\n h('div', {\n id,\n 'data-page': JSON.stringify(initialPage),\n innerHTML: vueApp ? render(vueApp) : '',\n }),\n }),\n )\n\n return { head, body }\n }\n}\n", "import { defineComponent, DefineComponent } from 'vue'\n\nexport type InertiaHead = DefineComponent<{\n title?: string\n}>\n\nconst Head: InertiaHead = defineComponent({\n props: {\n title: {\n type: String,\n required: false,\n },\n },\n data() {\n return {\n provider: this.$headManager.createProvider(),\n }\n },\n beforeUnmount() {\n this.provider.disconnect()\n },\n methods: {\n 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 renderTagStart(node) {\n node.props = node.props || {}\n node.props.inertia = node.props['head-key'] !== undefined ? node.props['head-key'] : ''\n const attrs = Object.keys(node.props).reduce((carry, name) => {\n const value = node.props[name]\n if (['key', 'head-key'].includes(name)) {\n return carry\n } else if (value === '') {\n return carry + ` ${name}`\n } else {\n return carry + ` ${name}=\"${value}\"`\n }\n }, '')\n return `<${node.type}${attrs}>`\n },\n renderTagChildren(node) {\n return typeof node.children === 'string'\n ? node.children\n : node.children.reduce((html, child) => html + this.renderTag(child), '')\n },\n isFunctionNode(node) {\n return typeof node.type === 'function'\n },\n isComponentNode(node) {\n return typeof node.type === 'object'\n },\n isCommentNode(node) {\n return /(comment|cmt)/i.test(node.type.toString())\n },\n isFragmentNode(node) {\n return /(fragment|fgt|symbol\\(\\))/i.test(node.type.toString())\n },\n isTextNode(node) {\n return /(text|txt)/i.test(node.type.toString())\n },\n renderTag(node) {\n if (this.isTextNode(node)) {\n return node.children\n } else if (this.isFragmentNode(node)) {\n return ''\n } else if (this.isCommentNode(node)) {\n return ''\n }\n let html = this.renderTagStart(node)\n if (node.children) {\n html += this.renderTagChildren(node)\n }\n if (!this.isUnaryTag(node)) {\n html += `</${node.type}>`\n }\n return html\n },\n addTitleElement(elements) {\n if (this.title && !elements.find((tag) => tag.startsWith('<title'))) {\n elements.push(`<title inertia>${this.title}</title>`)\n }\n return elements\n },\n renderNodes(nodes) {\n return this.addTitleElement(\n nodes\n .flatMap((node) => this.resolveNode(node))\n .map((node) => this.renderTag(node))\n .filter((node) => node),\n )\n },\n resolveNode(node) {\n if (this.isFunctionNode(node)) {\n return this.resolveNode(node.type())\n } else if (this.isComponentNode(node)) {\n console.warn(`Using components in the <Head> component is not supported.`)\n return []\n } else if (this.isTextNode(node) && node.children) {\n return node\n } else if (this.isFragmentNode(node) && node.children) {\n return node.children.flatMap((child) => this.resolveNode(child))\n } else if (this.isCommentNode(node)) {\n return []\n } else {\n return node\n }\n },\n },\n render() {\n this.provider.update(this.renderNodes(this.$slots.default ? this.$slots.default() : []))\n },\n})\n\nexport default Head\n", "import { mergeDataIntoQueryString, Method, PageProps, Progress, router, shouldIntercept } from '@inertiajs/core'\nimport { defineComponent, DefineComponent, h, PropType } from 'vue'\n\nexport interface InertiaLinkProps {\n as?: string\n data?: object\n href: string\n method?: Method\n headers?: object\n onClick?: (event: MouseEvent) => void\n preserveScroll?: boolean | ((props: PageProps) => boolean)\n preserveState?: boolean | ((props: PageProps) => boolean) | null\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 queryStringArrayFormat?: 'brackets' | 'indices'\n}\n\ntype InertiaLink = DefineComponent<InertiaLinkProps>\n\nconst Link: InertiaLink = defineComponent({\n name: 'Link',\n props: {\n as: {\n type: String,\n default: 'a',\n },\n data: {\n type: Object,\n default: () => ({}),\n },\n href: {\n type: String,\n required: true,\n },\n method: {\n type: String as PropType<Method>,\n default: 'get',\n },\n replace: {\n type: Boolean,\n default: false,\n },\n preserveScroll: {\n type: Boolean,\n default: false,\n },\n preserveState: {\n type: Boolean,\n default: null,\n },\n only: {\n type: Array<string>,\n default: () => [],\n },\n headers: {\n type: Object,\n default: () => ({}),\n },\n queryStringArrayFormat: {\n type: String as PropType<'brackets' | 'indices'>,\n default: 'brackets',\n },\n },\n setup(props, { slots, attrs }) {\n return () => {\n const as = props.as.toLowerCase()\n const method = props.method.toLowerCase() as Method\n const [href, data] = mergeDataIntoQueryString(method, props.href || '', props.data, props.queryStringArrayFormat)\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 h(\n props.as,\n {\n ...attrs,\n ...(as === 'a' ? { href } : {}),\n onClick: (event) => {\n if (shouldIntercept(event)) {\n event.preventDefault()\n\n router.visit(href, {\n data: data,\n method: method,\n replace: props.replace,\n preserveScroll: props.preserveScroll,\n preserveState: props.preserveState ?? method !== 'get',\n only: props.only,\n headers: props.headers,\n // @ts-expect-error\n onCancelToken: attrs.onCancelToken || (() => ({})),\n // @ts-expect-error\n onBefore: attrs.onBefore || (() => ({})),\n // @ts-expect-error\n onStart: attrs.onStart || (() => ({})),\n // @ts-expect-error\n onProgress: attrs.onProgress || (() => ({})),\n // @ts-expect-error\n onFinish: attrs.onFinish || (() => ({})),\n // @ts-expect-error\n onCancel: attrs.onCancel || (() => ({})),\n // @ts-expect-error\n onSuccess: attrs.onSuccess || (() => ({})),\n // @ts-expect-error\n onError: attrs.onError || (() => ({})),\n })\n }\n },\n },\n slots,\n )\n }\n },\n})\n\nexport default Link\n", "import { router } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport { isReactive, reactive, ref, Ref, watch } from 'vue'\n\nexport default function useRemember<T extends object>(\n data: T & { __rememberable?: boolean; __remember?: Function; __restore?: Function },\n key?: string,\n): Ref<T> | T {\n if (typeof data === 'object' && data !== null && data.__rememberable === false) {\n return data\n }\n\n const restored = router.restore(key)\n const type = isReactive(data) ? reactive : ref\n const hasCallbacks = typeof data.__remember === 'function' && typeof data.__restore === 'function'\n const remembered = type(restored === undefined ? data : hasCallbacks ? data.__restore(restored) : restored)\n\n watch(\n remembered,\n (newValue) => {\n router.remember(cloneDeep(hasCallbacks ? data.__remember() : newValue), key)\n },\n { immediate: true, deep: true },\n )\n\n return remembered\n}\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["router", "createHeadManager", "router", "computed", "defineComponent", "h", "markRaw", "reactive", "ref", "shallowRef", "router", "cloneDeep", "remember", "rememberKey", "restored", "rememberable", "key", "hasCallbacks", "data", "remember_default", "router", "cloneDeep", "isEqual", "reactive", "watch", "useForm", "rememberKeyOrData", "maybeData", "rememberKey", "data", "restored", "defaults", "cancelToken", "recentlySuccessfulTimeoutId", "transform", "form", "carry", "key", "callback", "fieldOrFields", "maybeValue", "fields", "resolvedData", "clonedData", "field", "method", "url", "options", "_options", "token", "visit", "event", "page", "onSuccess", "errors", "newValue", "component", "ref", "page", "layout", "shallowRef", "key", "headManager", "App", "defineComponent", "title", "initialPage", "initialComponent", "resolveComponent", "titleCallback", "onHeadUpdate", "markRaw", "isServer", "createHeadManager", "router", "args", "child", "h", "app_default", "plugin", "app", "useForm", "remember_default", "usePage", "reactive", "computed", "setupProgress", "createSSRApp", "h", "createInertiaApp", "id", "resolve", "setup", "title", "progress", "page", "render", "isServer", "el", "initialPage", "resolveComponent", "name", "module", "head", "vueApp", "initialComponent", "app_default", "elements", "plugin", "setupProgress", "body", "createSSRApp", "h", "defineComponent", "Head", "node", "attrs", "carry", "name", "value", "html", "child", "elements", "tag", "nodes", "head_default", "mergeDataIntoQueryString", "router", "shouldIntercept", "defineComponent", "h", "Link", "props", "slots", "attrs", "as", "method", "href", "data", "event", "link_default", "router", "cloneDeep", "isReactive", "reactive", "ref", "watch", "useRemember", "data", "key", "restored", "type", "hasCallbacks", "remembered", "newValue"]
|
|
7
7
|
}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
var
|
|
1
|
+
var K=Object.create;var k=Object.defineProperty;var X=Object.getOwnPropertyDescriptor;var Z=Object.getOwnPropertyNames;var ee=Object.getPrototypeOf,re=Object.prototype.hasOwnProperty;var te=(e,r)=>{for(var n in r)k(e,n,{get:r[n],enumerable:!0})},L=(e,r,n,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of Z(r))!re.call(e,t)&&t!==n&&k(e,t,{get:()=>r[t],enumerable:!(a=X(r,t))||a.enumerable});return e};var x=(e,r,n)=>(n=e!=null?K(ee(e)):{},L(r||!e||!e.__esModule?k(n,"default",{value:e,enumerable:!0}):n,e)),oe=e=>L(k({},"__esModule",{value:!0}),e);var le={};te(le,{Head:()=>W,Link:()=>Q,createInertiaApp:()=>w,router:()=>z.router,useForm:()=>S,usePage:()=>B,useRemember:()=>N});module.exports=oe(le);var z=require("@inertiajs/core");var T=require("@inertiajs/core"),u=require("vue");var E=require("@inertiajs/core"),M=x(require("lodash.clonedeep"),1),ne={created(){if(!this.$options.remember)return;Array.isArray(this.$options.remember)&&(this.$options.remember={data:this.$options.remember}),typeof this.$options.remember=="string"&&(this.$options.remember={data:[this.$options.remember]}),typeof this.$options.remember.data=="string"&&(this.$options.remember={data:[this.$options.remember.data]});let e=this.$options.remember.key instanceof Function?this.$options.remember.key.call(this):this.$options.remember.key,r=E.router.restore(e),n=this.$options.remember.data.filter(t=>!(this[t]!==null&&typeof this[t]=="object"&&this[t].__rememberable===!1)),a=t=>this[t]!==null&&typeof this[t]=="object"&&typeof this[t].__remember=="function"&&typeof this[t].__restore=="function";n.forEach(t=>{this[t]!==void 0&&r!==void 0&&r[t]!==void 0&&(a(t)?this[t].__restore(r[t]):this[t]=r[t]),this.$watch(t,()=>{E.router.remember(n.reduce((l,p)=>({...l,[p]:(0,M.default)(a(p)?this[p].__remember():this[p])}),{}),e)},{immediate:!0,deep:!0})})}},R=ne;var C=require("@inertiajs/core"),g=x(require("lodash.clonedeep"),1),H=x(require("lodash.isequal"),1),A=require("vue");function S(e,r){let n=typeof e=="string"?e:null,a=typeof e=="string"?r:e,t=n?C.router.restore(n):null,l=typeof a=="object"?(0,g.default)(a):(0,g.default)(a()),p=null,d=null,y=o=>o,b=(0,A.reactive)({...t?t.data:(0,g.default)(l),isDirty:!1,errors:t?t.errors:{},hasErrors:!1,processing:!1,progress:null,wasSuccessful:!1,recentlySuccessful:!1,data(){return Object.keys(l).reduce((o,s)=>(o[s]=this[s],o),{})},transform(o){return y=o,this},defaults(o,s){if(typeof a=="function")throw new Error("You cannot call `defaults()` when using a function to define your form data.");return typeof o>"u"?l=this.data():l=Object.assign({},(0,g.default)(l),typeof o=="string"?{[o]:s}:o),this},reset(...o){let s=typeof a=="object"?(0,g.default)(l):(0,g.default)(a()),i=(0,g.default)(s);return o.length===0?(l=i,Object.assign(this,s)):Object.keys(s).filter(c=>o.includes(c)).forEach(c=>{l[c]=i[c],this[c]=s[c]}),this},setError(o,s){return Object.assign(this.errors,typeof o=="string"?{[o]:s}:o),this.hasErrors=Object.keys(this.errors).length>0,this},clearErrors(...o){return this.errors=Object.keys(this.errors).reduce((s,i)=>({...s,...o.length>0&&!o.includes(i)?{[i]:this.errors[i]}:{}}),{}),this.hasErrors=Object.keys(this.errors).length>0,this},submit(o,s,i={}){let c=y(this.data()),P={...i,onCancelToken:m=>{if(p=m,i.onCancelToken)return i.onCancelToken(m)},onBefore:m=>{if(this.wasSuccessful=!1,this.recentlySuccessful=!1,clearTimeout(d),i.onBefore)return i.onBefore(m)},onStart:m=>{if(this.processing=!0,i.onStart)return i.onStart(m)},onProgress:m=>{if(this.progress=m,i.onProgress)return i.onProgress(m)},onSuccess:async m=>{this.processing=!1,this.progress=null,this.clearErrors(),this.wasSuccessful=!0,this.recentlySuccessful=!0,d=setTimeout(()=>this.recentlySuccessful=!1,2e3);let G=i.onSuccess?await i.onSuccess(m):null;return l=(0,g.default)(this.data()),this.isDirty=!1,G},onError:m=>{if(this.processing=!1,this.progress=null,this.clearErrors().setError(m),i.onError)return i.onError(m)},onCancel:()=>{if(this.processing=!1,this.progress=null,i.onCancel)return i.onCancel()},onFinish:m=>{if(this.processing=!1,this.progress=null,p=null,i.onFinish)return i.onFinish(m)}};o==="delete"?C.router.delete(s,{...P,data:c}):C.router[o](s,c,P)},get(o,s){this.submit("get",o,s)},post(o,s){this.submit("post",o,s)},put(o,s){this.submit("put",o,s)},patch(o,s){this.submit("patch",o,s)},delete(o,s){this.submit("delete",o,s)},cancel(){p&&p.cancel()},__rememberable:n===null,__remember(){return{data:this.data(),errors:this.errors}},__restore(o){Object.assign(this,o.data),this.setError(o.errors)}});return(0,A.watch)(b,o=>{b.isDirty=!(0,H.default)(b.data(),l),n&&C.router.remember((0,g.default)(o.__remember()),n)},{immediate:!0,deep:!0}),b}var f=(0,u.ref)(null),h=(0,u.ref)(null),$=(0,u.shallowRef)(null),_=(0,u.ref)(null),j=null,se=(0,u.defineComponent)({name:"Inertia",props:{initialPage:{type:Object,required:!0},initialComponent:{type:Object,required:!1},resolveComponent:{type:Function,required:!1},titleCallback:{type:Function,required:!1,default:e=>e},onHeadUpdate:{type:Function,required:!1,default:()=>()=>{}}},setup({initialPage:e,initialComponent:r,resolveComponent:n,titleCallback:a,onHeadUpdate:t}){f.value=r?(0,u.markRaw)(r):null,h.value=e,_.value=null;let l=typeof window>"u";return j=(0,T.createHeadManager)(l,a,t),l||(T.router.init({initialPage:e,resolveComponent:n,swapComponent:async p=>{f.value=(0,u.markRaw)(p.component),h.value=p.page,_.value=p.preserveState?_.value:Date.now()}}),T.router.on("navigate",()=>j.forceUpdate())),()=>{if(f.value){f.value.inheritAttrs=!!f.value.inheritAttrs;let p=(0,u.h)(f.value,{...h.value.props,key:_.value});return $.value&&(f.value.layout=$.value,$.value=null),f.value.layout?typeof f.value.layout=="function"?f.value.layout(u.h,p):(Array.isArray(f.value.layout)?f.value.layout:[f.value.layout]).concat(p).reverse().reduce((d,y)=>(y.inheritAttrs=!!y.inheritAttrs,(0,u.h)(y,{...h.value.props},()=>d))):p}}}}),V=se,q={install(e){T.router.form=S,Object.defineProperty(e.config.globalProperties,"$inertia",{get:()=>T.router}),Object.defineProperty(e.config.globalProperties,"$page",{get:()=>h.value}),Object.defineProperty(e.config.globalProperties,"$headManager",{get:()=>j}),e.mixin(R)}};function B(){return(0,u.reactive)({props:(0,u.computed)(()=>h.value?.props),url:(0,u.computed)(()=>h.value?.url),component:(0,u.computed)(()=>h.value?.component),version:(0,u.computed)(()=>h.value?.version),scrollRegions:(0,u.computed)(()=>h.value?.scrollRegions),rememberedState:(0,u.computed)(()=>h.value?.rememberedState)})}var U=require("@inertiajs/core"),D=require("vue");async function w({id:e="app",resolve:r,setup:n,title:a,progress:t={},page:l,render:p}){let d=typeof window>"u",y=d?null:document.getElementById(e),b=l||JSON.parse(y.dataset.page),o=c=>Promise.resolve(r(c)).then(P=>P.default||P),s=[],i=await o(b.component).then(c=>n({el:y,App:V,props:{initialPage:b,initialComponent:c,resolveComponent:o,titleCallback:a,onHeadUpdate:d?P=>s=P:null},plugin:q}));if(!d&&t&&(0,U.setupProgress)(t),d){let c=await p((0,D.createSSRApp)({render:()=>(0,D.h)("div",{id:e,"data-page":JSON.stringify(b),innerHTML:i?p(i):""})}));return{head:s,body:c}}}var J=require("vue"),ie=(0,J.defineComponent)({props:{title:{type:String,required:!1}},data(){return{provider:this.$headManager.createProvider()}},beforeUnmount(){this.provider.disconnect()},methods:{isUnaryTag(e){return["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"].indexOf(e.type)>-1},renderTagStart(e){e.props=e.props||{},e.props.inertia=e.props["head-key"]!==void 0?e.props["head-key"]:"";let r=Object.keys(e.props).reduce((n,a)=>{let t=e.props[a];return["key","head-key"].includes(a)?n:t===""?n+` ${a}`:n+` ${a}="${t}"`},"");return`<${e.type}${r}>`},renderTagChildren(e){return typeof e.children=="string"?e.children:e.children.reduce((r,n)=>r+this.renderTag(n),"")},isFunctionNode(e){return typeof e.type=="function"},isComponentNode(e){return typeof e.type=="object"},isCommentNode(e){return/(comment|cmt)/i.test(e.type.toString())},isFragmentNode(e){return/(fragment|fgt|symbol\(\))/i.test(e.type.toString())},isTextNode(e){return/(text|txt)/i.test(e.type.toString())},renderTag(e){if(this.isTextNode(e))return e.children;if(this.isFragmentNode(e))return"";if(this.isCommentNode(e))return"";let r=this.renderTagStart(e);return e.children&&(r+=this.renderTagChildren(e)),this.isUnaryTag(e)||(r+=`</${e.type}>`),r},addTitleElement(e){return this.title&&!e.find(r=>r.startsWith("<title"))&&e.push(`<title inertia>${this.title}</title>`),e},renderNodes(e){return this.addTitleElement(e.flatMap(r=>this.resolveNode(r)).map(r=>this.renderTag(r)).filter(r=>r))},resolveNode(e){return this.isFunctionNode(e)?this.resolveNode(e.type()):this.isComponentNode(e)?(console.warn("Using components in the <Head> component is not supported."),[]):this.isTextNode(e)&&e.children?e:this.isFragmentNode(e)&&e.children?e.children.flatMap(r=>this.resolveNode(r)):this.isCommentNode(e)?[]:e}},render(){this.provider.update(this.renderNodes(this.$slots.default?this.$slots.default():[]))}}),W=ie;var F=require("@inertiajs/core"),I=require("vue"),ae=(0,I.defineComponent)({name:"Link",props:{as:{type:String,default:"a"},data:{type:Object,default:()=>({})},href:{type:String,required:!0},method:{type:String,default:"get"},replace:{type:Boolean,default:!1},preserveScroll:{type:Boolean,default:!1},preserveState:{type:Boolean,default:null},only:{type:Array,default:()=>[]},headers:{type:Object,default:()=>({})},queryStringArrayFormat:{type:String,default:"brackets"}},setup(e,{slots:r,attrs:n}){return()=>{let a=e.as.toLowerCase(),t=e.method.toLowerCase(),[l,p]=(0,F.mergeDataIntoQueryString)(t,e.href||"",e.data,e.queryStringArrayFormat);return a==="a"&&t!=="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="${l}" method="${t}" as="button">...</Link>`),(0,
|
|
5
|
+
<Link href="${l}" method="${t}" as="button">...</Link>`),(0,I.h)(e.as,{...n,...a==="a"?{href:l}:{},onClick:d=>{(0,F.shouldIntercept)(d)&&(d.preventDefault(),F.router.visit(l,{data:p,method:t,replace:e.replace,preserveScroll:e.preserveScroll,preserveState:e.preserveState??t!=="get",only:e.only,headers:e.headers,onCancelToken:n.onCancelToken||(()=>({})),onBefore:n.onBefore||(()=>({})),onStart:n.onStart||(()=>({})),onProgress:n.onProgress||(()=>({})),onFinish:n.onFinish||(()=>({})),onCancel:n.onCancel||(()=>({})),onSuccess:n.onSuccess||(()=>({})),onError:n.onError||(()=>({}))}))}},r)}}}),Q=ae;var O=require("@inertiajs/core"),Y=x(require("lodash.clonedeep"),1),v=require("vue");function N(e,r){if(typeof e=="object"&&e!==null&&e.__rememberable===!1)return e;let n=O.router.restore(r),a=(0,v.isReactive)(e)?v.reactive:v.ref,t=typeof e.__remember=="function"&&typeof e.__restore=="function",l=a(n===void 0?e:t?e.__restore(n):n);return(0,v.watch)(l,p=>{O.router.remember((0,Y.default)(t?e.__remember():p),r)},{immediate:!0,deep:!0}),l}
|
|
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/app.ts", "../src/remember.ts", "../src/useForm.ts", "../src/createInertiaApp.ts", "../src/head.ts", "../src/link.ts", "../src/useRemember.ts"],
|
|
4
|
-
"sourcesContent": ["export { router } from '@inertiajs/core'\nexport { usePage } from './app'\nexport { default as createInertiaApp } from './createInertiaApp'\nexport { default as Head } from './head'\nexport { default as Link, InertiaLinkProps } from './link'\nexport * from './types'\nexport { default as useForm, InertiaForm } from './useForm'\nexport { default as useRemember } from './useRemember'\n", "import { createHeadManager, Page, PageProps, router } from '@inertiajs/core'\nimport {\n computed,\n DefineComponent,\n defineComponent,\n h,\n markRaw,\n Plugin,\n PropType,\n reactive,\n ref,\n shallowRef,\n} from 'vue'\nimport remember from './remember'\nimport { VuePageHandlerArgs } from './types'\nimport useForm from './useForm'\n\nexport interface InertiaAppProps {\n initialPage: Page\n initialComponent?: object\n resolveComponent?: (name: string) => DefineComponent | Promise<DefineComponent>\n titleCallback?: (title: string) => string\n onHeadUpdate?: (elements: string[]) => void\n}\n\nexport type InertiaApp = DefineComponent<InertiaAppProps>\n\nconst component = ref(null)\nconst page = ref<Page<any>>(null)\nconst layout = shallowRef(null)\nconst key = ref(null)\nlet headManager = null\n\nconst App: InertiaApp = defineComponent({\n name: 'Inertia',\n props: {\n initialPage: {\n type: Object as PropType<Page>,\n required: true,\n },\n initialComponent: {\n type: Object,\n required: false,\n },\n resolveComponent: {\n type: Function as PropType<(name: string) => DefineComponent | Promise<DefineComponent>>,\n required: false,\n },\n titleCallback: {\n type: Function as PropType<(title: string) => string>,\n required: false,\n default: (title) => title,\n },\n onHeadUpdate: {\n type: Function as PropType<(elements: string[]) => void>,\n required: false,\n default: () => () => {},\n },\n },\n setup({ initialPage, initialComponent, resolveComponent, titleCallback, onHeadUpdate }) {\n component.value = initialComponent ? markRaw(initialComponent) : null\n page.value = initialPage\n key.value = null\n\n const isServer = typeof window === 'undefined'\n headManager = createHeadManager(isServer, titleCallback, onHeadUpdate)\n\n if (!isServer) {\n router.init({\n initialPage,\n resolveComponent,\n swapComponent: async (args: VuePageHandlerArgs) => {\n component.value = markRaw(args.component)\n page.value = args.page\n key.value = args.preserveState ? key.value : Date.now()\n },\n })\n\n router.on('navigate', () => headManager.forceUpdate())\n }\n\n return () => {\n if (component.value) {\n component.value.inheritAttrs = !!component.value.inheritAttrs\n\n const child = h(component.value, {\n ...page.value.props,\n key: key.value,\n })\n\n if (layout.value) {\n component.value.layout = layout.value\n layout.value = null\n }\n\n if (component.value.layout) {\n if (typeof component.value.layout === 'function') {\n return component.value.layout(h, child)\n }\n\n return (Array.isArray(component.value.layout) ? component.value.layout : [component.value.layout])\n .concat(child)\n .reverse()\n .reduce((child, layout) => {\n layout.inheritAttrs = !!layout.inheritAttrs\n return h(layout, { ...page.value.props }, () => child)\n })\n }\n\n return child\n }\n }\n },\n})\nexport default App\n\nexport const plugin: Plugin = {\n install(app) {\n router.form = useForm\n\n Object.defineProperty(app.config.globalProperties, '$inertia', { get: () => router })\n Object.defineProperty(app.config.globalProperties, '$page', { get: () => page.value })\n Object.defineProperty(app.config.globalProperties, '$headManager', { get: () => headManager })\n\n app.mixin(remember)\n },\n}\n\nexport function usePage<SharedProps extends PageProps>(): Page<SharedProps> {\n return reactive({\n props: computed(() => page.value?.props),\n url: computed(() => page.value?.url),\n component: computed(() => page.value?.component),\n version: computed(() => page.value?.version),\n scrollRegions: computed(() => page.value?.scrollRegions),\n rememberedState: computed(() => page.value?.rememberedState),\n })\n}\n", "import { router } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport { ComponentOptions } from 'vue'\n\nconst remember: ComponentOptions = {\n created() {\n if (!this.$options.remember) {\n return\n }\n\n if (Array.isArray(this.$options.remember)) {\n this.$options.remember = { data: this.$options.remember }\n }\n\n if (typeof this.$options.remember === 'string') {\n this.$options.remember = { data: [this.$options.remember] }\n }\n\n if (typeof this.$options.remember.data === 'string') {\n this.$options.remember = { data: [this.$options.remember.data] }\n }\n\n const rememberKey =\n this.$options.remember.key instanceof Function\n ? this.$options.remember.key.call(this)\n : this.$options.remember.key\n\n const restored = router.restore(rememberKey)\n\n const rememberable = this.$options.remember.data.filter((key) => {\n return !(this[key] !== null && typeof this[key] === 'object' && this[key].__rememberable === false)\n })\n\n const hasCallbacks = (key) => {\n return (\n this[key] !== null &&\n typeof this[key] === 'object' &&\n typeof this[key].__remember === 'function' &&\n typeof this[key].__restore === 'function'\n )\n }\n\n rememberable.forEach((key) => {\n if (this[key] !== undefined && restored !== undefined && restored[key] !== undefined) {\n hasCallbacks(key) ? this[key].__restore(restored[key]) : (this[key] = restored[key])\n }\n\n this.$watch(\n key,\n () => {\n router.remember(\n rememberable.reduce(\n (data, key) => ({\n ...data,\n [key]: cloneDeep(hasCallbacks(key) ? this[key].__remember() : this[key]),\n }),\n {},\n ),\n rememberKey,\n )\n },\n { immediate: true, deep: true },\n )\n })\n },\n}\n\nexport default remember\n", "import { FormDataConvertible, Method, Progress, router, VisitOptions } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport isEqual from 'lodash.isequal'\nimport { reactive, watch } from 'vue'\n\ntype FormDataType = object;\n\ninterface InertiaFormProps<TForm extends FormDataType> {\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 data(): TForm\n transform(callback: (data: TForm) => object): this\n defaults(): this\n defaults(field: keyof TForm, value: FormDataConvertible): this\n defaults(fields: Partial<TForm>): this\n reset(...fields: (keyof TForm)[]): this\n clearErrors(...fields: (keyof TForm)[]): this\n setError(field: keyof TForm, value: string): this\n setError(errors: Record<keyof TForm, string>): this\n submit(method: Method, url: string, options?: Partial<VisitOptions>): void\n get(url: string, options?: Partial<VisitOptions>): void\n post(url: string, options?: Partial<VisitOptions>): void\n put(url: string, options?: Partial<VisitOptions>): void\n patch(url: string, options?: Partial<VisitOptions>): void\n delete(url: string, options?: Partial<VisitOptions>): void\n cancel(): void\n}\n\nexport type InertiaForm<TForm extends FormDataType> = TForm & InertiaFormProps<TForm>\n\nexport default function useForm<TForm extends FormDataType>(data: TForm | (() => TForm)): InertiaForm<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKey: string,\n data: TForm | (() => TForm),\n): InertiaForm<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKeyOrData: string | TForm | (() => TForm),\n maybeData?: TForm | (() => TForm),\n): InertiaForm<TForm> {\n const rememberKey = typeof rememberKeyOrData === 'string' ? rememberKeyOrData : null\n const data = typeof rememberKeyOrData === 'string' ? maybeData : rememberKeyOrData\n const restored = rememberKey\n ? (router.restore(rememberKey) as { data: TForm; errors: Record<keyof TForm, string> })\n : null\n let defaults = typeof data === 'object' ? cloneDeep(data) : cloneDeep(data())\n let cancelToken = null\n let recentlySuccessfulTimeoutId = null\n let transform = (data) => data\n\n const form = reactive({\n ...(restored ? restored.data : cloneDeep(defaults)),\n isDirty: false,\n errors: restored ? restored.errors : {},\n hasErrors: false,\n processing: false,\n progress: null,\n wasSuccessful: false,\n recentlySuccessful: false,\n data() {\n return (Object.keys(defaults) as Array<keyof TForm>).reduce((carry, key) => {\n carry[key] = this[key]\n return carry\n }, {} as Partial<TForm>) as TForm\n },\n transform(callback) {\n transform = callback\n\n return this\n },\n defaults(fieldOrFields?: keyof TForm | Partial<TForm>, maybeValue?: FormDataConvertible) {\n if (typeof data === 'function') {\n throw new Error('You cannot call `defaults()` when using a function to define your form data.')\n }\n\n if (typeof fieldOrFields === 'undefined') {\n defaults = this.data()\n } else {\n defaults = Object.assign(\n {},\n cloneDeep(defaults),\n typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : fieldOrFields,\n )\n }\n\n return this\n },\n reset(...fields) {\n const resolvedData = typeof data === 'object' ? cloneDeep(defaults) : cloneDeep(data())\n const clonedData = cloneDeep(resolvedData)\n if (fields.length === 0) {\n defaults = clonedData\n Object.assign(this, resolvedData)\n } else {\n Object.keys(resolvedData)\n .filter((key) => fields.includes(key))\n .forEach((key) => {\n defaults[key] = clonedData[key]\n this[key] = resolvedData[key]\n })\n }\n\n return this\n },\n setError(fieldOrFields: keyof TForm | Record<keyof TForm, string>, maybeValue?: string) {\n Object.assign(this.errors, typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : fieldOrFields)\n\n this.hasErrors = Object.keys(this.errors).length > 0\n\n return this\n },\n clearErrors(...fields) {\n this.errors = Object.keys(this.errors).reduce(\n (carry, field) => ({\n ...carry,\n ...(fields.length > 0 && !fields.includes(field) ? { [field]: this.errors[field] } : {}),\n }),\n {},\n )\n\n this.hasErrors = Object.keys(this.errors).length > 0\n\n return this\n },\n submit(method, url, options: VisitOptions = {}) {\n const data = transform(this.data())\n const _options = {\n ...options,\n onCancelToken: (token) => {\n cancelToken = token\n\n if (options.onCancelToken) {\n return options.onCancelToken(token)\n }\n },\n onBefore: (visit) => {\n this.wasSuccessful = false\n this.recentlySuccessful = false\n clearTimeout(recentlySuccessfulTimeoutId)\n\n if (options.onBefore) {\n return options.onBefore(visit)\n }\n },\n onStart: (visit) => {\n this.processing = true\n\n if (options.onStart) {\n return options.onStart(visit)\n }\n },\n onProgress: (event) => {\n this.progress = event\n\n if (options.onProgress) {\n return options.onProgress(event)\n }\n },\n onSuccess: async (page) => {\n this.processing = false\n this.progress = null\n this.clearErrors()\n this.wasSuccessful = true\n this.recentlySuccessful = true\n recentlySuccessfulTimeoutId = setTimeout(() => (this.recentlySuccessful = false), 2000)\n\n const onSuccess = options.onSuccess ? await options.onSuccess(page) : null\n defaults = cloneDeep(this.data())\n this.isDirty = false\n return onSuccess\n },\n onError: (errors) => {\n this.processing = false\n this.progress = null\n this.clearErrors().setError(errors)\n\n if (options.onError) {\n return options.onError(errors)\n }\n },\n onCancel: () => {\n this.processing = false\n this.progress = null\n\n if (options.onCancel) {\n return options.onCancel()\n }\n },\n onFinish: (visit) => {\n this.processing = false\n this.progress = null\n cancelToken = null\n\n if (options.onFinish) {\n return options.onFinish(visit)\n }\n },\n }\n\n if (method === 'delete') {\n router.delete(url, { ..._options, data })\n } else {\n router[method](url, data, _options)\n }\n },\n get(url, options) {\n this.submit('get', url, options)\n },\n post(url, options) {\n this.submit('post', url, options)\n },\n put(url, options) {\n this.submit('put', url, options)\n },\n patch(url, options) {\n this.submit('patch', url, options)\n },\n delete(url, options) {\n this.submit('delete', url, options)\n },\n cancel() {\n if (cancelToken) {\n cancelToken.cancel()\n }\n },\n __rememberable: rememberKey === null,\n __remember() {\n return { data: this.data(), errors: this.errors }\n },\n __restore(restored) {\n Object.assign(this, restored.data)\n this.setError(restored.errors)\n },\n })\n\n watch(\n form,\n (newValue) => {\n form.isDirty = !isEqual(form.data(), defaults)\n if (rememberKey) {\n router.remember(cloneDeep(newValue.__remember()), rememberKey)\n }\n },\n { immediate: true, deep: true },\n )\n\n return form\n}\n", "import { Page, setupProgress } from '@inertiajs/core'\nimport { App as VueApp, createSSRApp, DefineComponent, h, Plugin } from 'vue'\nimport App, { InertiaApp, InertiaAppProps, plugin } from './app'\n\ninterface CreateInertiaAppProps {\n id?: string\n resolve: (name: string) => DefineComponent | Promise<DefineComponent> | { default: DefineComponent }\n setup: (props: { el: Element; App: InertiaApp; props: InertiaAppProps; plugin: Plugin }) => void | VueApp\n title?: (title: string) => string\n progress?:\n | false\n | {\n delay?: number\n color?: string\n includeCSS?: boolean\n showSpinner?: boolean\n }\n page?: Page\n render?: (app: VueApp) => Promise<string>\n}\n\nexport default async function createInertiaApp({\n id = 'app',\n resolve,\n setup,\n title,\n progress = {},\n page,\n render,\n}: CreateInertiaAppProps): Promise<{ head: string[]; body: string }> {\n const isServer = typeof window === 'undefined'\n const el = isServer ? null : document.getElementById(id)\n const initialPage = page || JSON.parse(el.dataset.page)\n const resolveComponent = (name) => Promise.resolve(resolve(name)).then((module) => module.default || module)\n\n let head = []\n\n const vueApp = await resolveComponent(initialPage.component).then((initialComponent) => {\n return setup({\n el,\n App,\n props: {\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback: title,\n onHeadUpdate: isServer ? (elements) => (head = elements) : null,\n },\n plugin,\n })\n })\n\n if (!isServer && progress) {\n setupProgress(progress)\n }\n\n if (isServer) {\n const body = await render(\n createSSRApp({\n render: () =>\n h('div', {\n id,\n 'data-page': JSON.stringify(initialPage),\n innerHTML: vueApp ? render(vueApp) : '',\n }),\n }),\n )\n\n return { head, body }\n }\n}\n", "import { defineComponent, DefineComponent } from 'vue'\n\nexport type InertiaHead = DefineComponent<{\n title?: string\n}>\n\nconst Head: InertiaHead = defineComponent({\n props: {\n title: {\n type: String,\n required: false,\n },\n },\n data() {\n return {\n provider: this.$headManager.createProvider(),\n }\n },\n beforeUnmount() {\n this.provider.disconnect()\n },\n methods: {\n 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 renderTagStart(node) {\n node.props = node.props || {}\n node.props.inertia = node.props['head-key'] !== undefined ? node.props['head-key'] : ''\n const attrs = Object.keys(node.props).reduce((carry, name) => {\n const value = node.props[name]\n if (['key', 'head-key'].includes(name)) {\n return carry\n } else if (value === '') {\n return carry + ` ${name}`\n } else {\n return carry + ` ${name}=\"${value}\"`\n }\n }, '')\n return `<${node.type}${attrs}>`\n },\n renderTagChildren(node) {\n return typeof node.children === 'string'\n ? node.children\n : node.children.reduce((html, child) => html + this.renderTag(child), '')\n },\n isFunctionNode(node) {\n return typeof node.type === 'function'\n },\n isComponentNode(node) {\n return typeof node.type === 'object'\n },\n isCommentNode(node) {\n return /(comment|cmt)/i.test(node.type.toString())\n },\n isFragmentNode(node) {\n return /(fragment|fgt|symbol\\(\\))/i.test(node.type.toString())\n },\n isTextNode(node) {\n return /(text|txt)/i.test(node.type.toString())\n },\n renderTag(node) {\n if (this.isTextNode(node)) {\n return node.children\n } else if (this.isFragmentNode(node)) {\n return ''\n } else if (this.isCommentNode(node)) {\n return ''\n }\n let html = this.renderTagStart(node)\n if (node.children) {\n html += this.renderTagChildren(node)\n }\n if (!this.isUnaryTag(node)) {\n html += `</${node.type}>`\n }\n return html\n },\n addTitleElement(elements) {\n if (this.title && !elements.find((tag) => tag.startsWith('<title'))) {\n elements.push(`<title inertia>${this.title}</title>`)\n }\n return elements\n },\n renderNodes(nodes) {\n return this.addTitleElement(\n nodes\n .flatMap((node) => this.resolveNode(node))\n .map((node) => this.renderTag(node))\n .filter((node) => node),\n )\n },\n resolveNode(node) {\n if (this.isFunctionNode(node)) {\n return this.resolveNode(node.type())\n } else if (this.isComponentNode(node)) {\n console.warn(`Using components in the <Head> component is not supported.`)\n return []\n } else if (this.isTextNode(node) && node.children) {\n return node\n } else if (this.isFragmentNode(node) && node.children) {\n return node.children.flatMap((child) => this.resolveNode(child))\n } else if (this.isCommentNode(node)) {\n return []\n } else {\n return node\n }\n },\n },\n render() {\n this.provider.update(this.renderNodes(this.$slots.default ? this.$slots.default() : []))\n },\n})\n\nexport default Head\n", "import { mergeDataIntoQueryString, Method, PageProps, Progress, router, shouldIntercept } from '@inertiajs/core'\nimport { defineComponent, DefineComponent, h, PropType } from 'vue'\n\nexport interface InertiaLinkProps {\n as?: string\n data?: object\n href: string\n method?: Method\n headers?: object\n onClick?: (event: MouseEvent | KeyboardEvent) => void\n preserveScroll?: boolean | ((props: PageProps) => boolean)\n preserveState?: boolean | ((props: PageProps) => boolean) | null\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 queryStringArrayFormat?: 'brackets' | 'indices'\n}\n\ntype InertiaLink = DefineComponent<InertiaLinkProps>\n\nconst Link: InertiaLink = defineComponent({\n name: 'Link',\n props: {\n as: {\n type: String,\n default: 'a',\n },\n data: {\n type: Object,\n default: () => ({}),\n },\n href: {\n type: String,\n required: true,\n },\n method: {\n type: String as PropType<Method>,\n default: 'get',\n },\n replace: {\n type: Boolean,\n default: false,\n },\n preserveScroll: {\n type: Boolean,\n default: false,\n },\n preserveState: {\n type: Boolean,\n default: null,\n },\n only: {\n type: Array<string>,\n default: () => [],\n },\n headers: {\n type: Object,\n default: () => ({}),\n },\n queryStringArrayFormat: {\n type: String as PropType<'brackets' | 'indices'>,\n default: 'brackets',\n },\n },\n setup(props, { slots, attrs }) {\n return () => {\n const as = props.as.toLowerCase()\n const method = props.method.toLowerCase() as Method\n const [href, data] = mergeDataIntoQueryString(method, props.href || '', props.data, props.queryStringArrayFormat)\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 h(\n props.as,\n {\n ...attrs,\n ...(as === 'a' ? { href } : {}),\n onClick: (event) => {\n if (shouldIntercept(event)) {\n event.preventDefault()\n\n router.visit(href, {\n data: data,\n method: method,\n replace: props.replace,\n preserveScroll: props.preserveScroll,\n preserveState: props.preserveState ?? method !== 'get',\n only: props.only,\n headers: props.headers,\n // @ts-expect-error\n onCancelToken: attrs.onCancelToken || (() => ({})),\n // @ts-expect-error\n onBefore: attrs.onBefore || (() => ({})),\n // @ts-expect-error\n onStart: attrs.onStart || (() => ({})),\n // @ts-expect-error\n onProgress: attrs.onProgress || (() => ({})),\n // @ts-expect-error\n onFinish: attrs.onFinish || (() => ({})),\n // @ts-expect-error\n onCancel: attrs.onCancel || (() => ({})),\n // @ts-expect-error\n onSuccess: attrs.onSuccess || (() => ({})),\n // @ts-expect-error\n onError: attrs.onError || (() => ({})),\n })\n }\n },\n },\n slots,\n )\n }\n },\n})\n\nexport default Link\n", "import { router } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport { isReactive, reactive, ref, Ref, watch } from 'vue'\n\nexport default function useRemember<T extends object>(\n data: T & { __rememberable?: boolean; __remember?: Function; __restore?: Function },\n key?: string,\n): Ref<T> | T {\n if (typeof data === 'object' && data !== null && data.__rememberable === false) {\n return data\n }\n\n const restored = router.restore(key)\n const type = isReactive(data) ? reactive : ref\n const hasCallbacks = typeof data.__remember === 'function' && typeof data.__restore === 'function'\n const remembered = type(restored === undefined ? data : hasCallbacks ? data.__restore(restored) : restored)\n\n watch(\n remembered,\n (newValue) => {\n router.remember(cloneDeep(hasCallbacks ? data.__remember() : newValue), key)\n },\n { immediate: true, deep: true },\n )\n\n return remembered\n}\n"],
|
|
4
|
+
"sourcesContent": ["export { router } from '@inertiajs/core'\nexport { usePage } from './app'\nexport { default as createInertiaApp } from './createInertiaApp'\nexport { default as Head } from './head'\nexport { default as Link, InertiaLinkProps } from './link'\nexport * from './types'\nexport { default as useForm, InertiaForm } from './useForm'\nexport { default as useRemember } from './useRemember'\n", "import { createHeadManager, Page, PageProps, router } from '@inertiajs/core'\nimport {\n computed,\n DefineComponent,\n defineComponent,\n h,\n markRaw,\n Plugin,\n PropType,\n reactive,\n ref,\n shallowRef,\n} from 'vue'\nimport remember from './remember'\nimport { VuePageHandlerArgs } from './types'\nimport useForm from './useForm'\n\nexport interface InertiaAppProps {\n initialPage: Page\n initialComponent?: object\n resolveComponent?: (name: string) => DefineComponent | Promise<DefineComponent>\n titleCallback?: (title: string) => string\n onHeadUpdate?: (elements: string[]) => void\n}\n\nexport type InertiaApp = DefineComponent<InertiaAppProps>\n\nconst component = ref(null)\nconst page = ref<Page<any>>(null)\nconst layout = shallowRef(null)\nconst key = ref(null)\nlet headManager = null\n\nconst App: InertiaApp = defineComponent({\n name: 'Inertia',\n props: {\n initialPage: {\n type: Object as PropType<Page>,\n required: true,\n },\n initialComponent: {\n type: Object,\n required: false,\n },\n resolveComponent: {\n type: Function as PropType<(name: string) => DefineComponent | Promise<DefineComponent>>,\n required: false,\n },\n titleCallback: {\n type: Function as PropType<(title: string) => string>,\n required: false,\n default: (title) => title,\n },\n onHeadUpdate: {\n type: Function as PropType<(elements: string[]) => void>,\n required: false,\n default: () => () => {},\n },\n },\n setup({ initialPage, initialComponent, resolveComponent, titleCallback, onHeadUpdate }) {\n component.value = initialComponent ? markRaw(initialComponent) : null\n page.value = initialPage\n key.value = null\n\n const isServer = typeof window === 'undefined'\n headManager = createHeadManager(isServer, titleCallback, onHeadUpdate)\n\n if (!isServer) {\n router.init({\n initialPage,\n resolveComponent,\n swapComponent: async (args: VuePageHandlerArgs) => {\n component.value = markRaw(args.component)\n page.value = args.page\n key.value = args.preserveState ? key.value : Date.now()\n },\n })\n\n router.on('navigate', () => headManager.forceUpdate())\n }\n\n return () => {\n if (component.value) {\n component.value.inheritAttrs = !!component.value.inheritAttrs\n\n const child = h(component.value, {\n ...page.value.props,\n key: key.value,\n })\n\n if (layout.value) {\n component.value.layout = layout.value\n layout.value = null\n }\n\n if (component.value.layout) {\n if (typeof component.value.layout === 'function') {\n return component.value.layout(h, child)\n }\n\n return (Array.isArray(component.value.layout) ? component.value.layout : [component.value.layout])\n .concat(child)\n .reverse()\n .reduce((child, layout) => {\n layout.inheritAttrs = !!layout.inheritAttrs\n return h(layout, { ...page.value.props }, () => child)\n })\n }\n\n return child\n }\n }\n },\n})\nexport default App\n\nexport const plugin: Plugin = {\n install(app) {\n router.form = useForm\n\n Object.defineProperty(app.config.globalProperties, '$inertia', { get: () => router })\n Object.defineProperty(app.config.globalProperties, '$page', { get: () => page.value })\n Object.defineProperty(app.config.globalProperties, '$headManager', { get: () => headManager })\n\n app.mixin(remember)\n },\n}\n\nexport function usePage<SharedProps extends PageProps>(): Page<SharedProps> {\n return reactive({\n props: computed(() => page.value?.props),\n url: computed(() => page.value?.url),\n component: computed(() => page.value?.component),\n version: computed(() => page.value?.version),\n scrollRegions: computed(() => page.value?.scrollRegions),\n rememberedState: computed(() => page.value?.rememberedState),\n })\n}\n", "import { router } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport { ComponentOptions } from 'vue'\n\nconst remember: ComponentOptions = {\n created() {\n if (!this.$options.remember) {\n return\n }\n\n if (Array.isArray(this.$options.remember)) {\n this.$options.remember = { data: this.$options.remember }\n }\n\n if (typeof this.$options.remember === 'string') {\n this.$options.remember = { data: [this.$options.remember] }\n }\n\n if (typeof this.$options.remember.data === 'string') {\n this.$options.remember = { data: [this.$options.remember.data] }\n }\n\n const rememberKey =\n this.$options.remember.key instanceof Function\n ? this.$options.remember.key.call(this)\n : this.$options.remember.key\n\n const restored = router.restore(rememberKey)\n\n const rememberable = this.$options.remember.data.filter((key) => {\n return !(this[key] !== null && typeof this[key] === 'object' && this[key].__rememberable === false)\n })\n\n const hasCallbacks = (key) => {\n return (\n this[key] !== null &&\n typeof this[key] === 'object' &&\n typeof this[key].__remember === 'function' &&\n typeof this[key].__restore === 'function'\n )\n }\n\n rememberable.forEach((key) => {\n if (this[key] !== undefined && restored !== undefined && restored[key] !== undefined) {\n hasCallbacks(key) ? this[key].__restore(restored[key]) : (this[key] = restored[key])\n }\n\n this.$watch(\n key,\n () => {\n router.remember(\n rememberable.reduce(\n (data, key) => ({\n ...data,\n [key]: cloneDeep(hasCallbacks(key) ? this[key].__remember() : this[key]),\n }),\n {},\n ),\n rememberKey,\n )\n },\n { immediate: true, deep: true },\n )\n })\n },\n}\n\nexport default remember\n", "import { FormDataConvertible, Method, Progress, router, VisitOptions } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport isEqual from 'lodash.isequal'\nimport { reactive, watch } from 'vue'\n\ntype FormDataType = object;\n\ninterface InertiaFormProps<TForm extends FormDataType> {\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 data(): TForm\n transform(callback: (data: TForm) => object): this\n defaults(): this\n defaults(field: keyof TForm, value: FormDataConvertible): this\n defaults(fields: Partial<TForm>): this\n reset(...fields: (keyof TForm)[]): this\n clearErrors(...fields: (keyof TForm)[]): this\n setError(field: keyof TForm, value: string): this\n setError(errors: Record<keyof TForm, string>): this\n submit(method: Method, url: string, options?: Partial<VisitOptions>): void\n get(url: string, options?: Partial<VisitOptions>): void\n post(url: string, options?: Partial<VisitOptions>): void\n put(url: string, options?: Partial<VisitOptions>): void\n patch(url: string, options?: Partial<VisitOptions>): void\n delete(url: string, options?: Partial<VisitOptions>): void\n cancel(): void\n}\n\nexport type InertiaForm<TForm extends FormDataType> = TForm & InertiaFormProps<TForm>\n\nexport default function useForm<TForm extends FormDataType>(data: TForm | (() => TForm)): InertiaForm<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKey: string,\n data: TForm | (() => TForm),\n): InertiaForm<TForm>\nexport default function useForm<TForm extends FormDataType>(\n rememberKeyOrData: string | TForm | (() => TForm),\n maybeData?: TForm | (() => TForm),\n): InertiaForm<TForm> {\n const rememberKey = typeof rememberKeyOrData === 'string' ? rememberKeyOrData : null\n const data = typeof rememberKeyOrData === 'string' ? maybeData : rememberKeyOrData\n const restored = rememberKey\n ? (router.restore(rememberKey) as { data: TForm; errors: Record<keyof TForm, string> })\n : null\n let defaults = typeof data === 'object' ? cloneDeep(data) : cloneDeep(data())\n let cancelToken = null\n let recentlySuccessfulTimeoutId = null\n let transform = (data) => data\n\n const form = reactive({\n ...(restored ? restored.data : cloneDeep(defaults)),\n isDirty: false,\n errors: restored ? restored.errors : {},\n hasErrors: false,\n processing: false,\n progress: null,\n wasSuccessful: false,\n recentlySuccessful: false,\n data() {\n return (Object.keys(defaults) as Array<keyof TForm>).reduce((carry, key) => {\n carry[key] = this[key]\n return carry\n }, {} as Partial<TForm>) as TForm\n },\n transform(callback) {\n transform = callback\n\n return this\n },\n defaults(fieldOrFields?: keyof TForm | Partial<TForm>, maybeValue?: FormDataConvertible) {\n if (typeof data === 'function') {\n throw new Error('You cannot call `defaults()` when using a function to define your form data.')\n }\n\n if (typeof fieldOrFields === 'undefined') {\n defaults = this.data()\n } else {\n defaults = Object.assign(\n {},\n cloneDeep(defaults),\n typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : fieldOrFields,\n )\n }\n\n return this\n },\n reset(...fields) {\n const resolvedData = typeof data === 'object' ? cloneDeep(defaults) : cloneDeep(data())\n const clonedData = cloneDeep(resolvedData)\n if (fields.length === 0) {\n defaults = clonedData\n Object.assign(this, resolvedData)\n } else {\n Object.keys(resolvedData)\n .filter((key) => fields.includes(key))\n .forEach((key) => {\n defaults[key] = clonedData[key]\n this[key] = resolvedData[key]\n })\n }\n\n return this\n },\n setError(fieldOrFields: keyof TForm | Record<keyof TForm, string>, maybeValue?: string) {\n Object.assign(this.errors, typeof fieldOrFields === 'string' ? { [fieldOrFields]: maybeValue } : fieldOrFields)\n\n this.hasErrors = Object.keys(this.errors).length > 0\n\n return this\n },\n clearErrors(...fields) {\n this.errors = Object.keys(this.errors).reduce(\n (carry, field) => ({\n ...carry,\n ...(fields.length > 0 && !fields.includes(field) ? { [field]: this.errors[field] } : {}),\n }),\n {},\n )\n\n this.hasErrors = Object.keys(this.errors).length > 0\n\n return this\n },\n submit(method, url, options: VisitOptions = {}) {\n const data = transform(this.data())\n const _options = {\n ...options,\n onCancelToken: (token) => {\n cancelToken = token\n\n if (options.onCancelToken) {\n return options.onCancelToken(token)\n }\n },\n onBefore: (visit) => {\n this.wasSuccessful = false\n this.recentlySuccessful = false\n clearTimeout(recentlySuccessfulTimeoutId)\n\n if (options.onBefore) {\n return options.onBefore(visit)\n }\n },\n onStart: (visit) => {\n this.processing = true\n\n if (options.onStart) {\n return options.onStart(visit)\n }\n },\n onProgress: (event) => {\n this.progress = event\n\n if (options.onProgress) {\n return options.onProgress(event)\n }\n },\n onSuccess: async (page) => {\n this.processing = false\n this.progress = null\n this.clearErrors()\n this.wasSuccessful = true\n this.recentlySuccessful = true\n recentlySuccessfulTimeoutId = setTimeout(() => (this.recentlySuccessful = false), 2000)\n\n const onSuccess = options.onSuccess ? await options.onSuccess(page) : null\n defaults = cloneDeep(this.data())\n this.isDirty = false\n return onSuccess\n },\n onError: (errors) => {\n this.processing = false\n this.progress = null\n this.clearErrors().setError(errors)\n\n if (options.onError) {\n return options.onError(errors)\n }\n },\n onCancel: () => {\n this.processing = false\n this.progress = null\n\n if (options.onCancel) {\n return options.onCancel()\n }\n },\n onFinish: (visit) => {\n this.processing = false\n this.progress = null\n cancelToken = null\n\n if (options.onFinish) {\n return options.onFinish(visit)\n }\n },\n }\n\n if (method === 'delete') {\n router.delete(url, { ..._options, data })\n } else {\n router[method](url, data, _options)\n }\n },\n get(url, options) {\n this.submit('get', url, options)\n },\n post(url, options) {\n this.submit('post', url, options)\n },\n put(url, options) {\n this.submit('put', url, options)\n },\n patch(url, options) {\n this.submit('patch', url, options)\n },\n delete(url, options) {\n this.submit('delete', url, options)\n },\n cancel() {\n if (cancelToken) {\n cancelToken.cancel()\n }\n },\n __rememberable: rememberKey === null,\n __remember() {\n return { data: this.data(), errors: this.errors }\n },\n __restore(restored) {\n Object.assign(this, restored.data)\n this.setError(restored.errors)\n },\n })\n\n watch(\n form,\n (newValue) => {\n form.isDirty = !isEqual(form.data(), defaults)\n if (rememberKey) {\n router.remember(cloneDeep(newValue.__remember()), rememberKey)\n }\n },\n { immediate: true, deep: true },\n )\n\n return form\n}\n", "import { Page, setupProgress } from '@inertiajs/core'\nimport { App as VueApp, createSSRApp, DefineComponent, h, Plugin } from 'vue'\nimport App, { InertiaApp, InertiaAppProps, plugin } from './app'\n\ninterface CreateInertiaAppProps {\n id?: string\n resolve: (name: string) => DefineComponent | Promise<DefineComponent> | { default: DefineComponent }\n setup: (props: { el: Element; App: InertiaApp; props: InertiaAppProps; plugin: Plugin }) => void | VueApp\n title?: (title: string) => string\n progress?:\n | false\n | {\n delay?: number\n color?: string\n includeCSS?: boolean\n showSpinner?: boolean\n }\n page?: Page\n render?: (app: VueApp) => Promise<string>\n}\n\nexport default async function createInertiaApp({\n id = 'app',\n resolve,\n setup,\n title,\n progress = {},\n page,\n render,\n}: CreateInertiaAppProps): Promise<{ head: string[]; body: string }> {\n const isServer = typeof window === 'undefined'\n const el = isServer ? null : document.getElementById(id)\n const initialPage = page || JSON.parse(el.dataset.page)\n const resolveComponent = (name) => Promise.resolve(resolve(name)).then((module) => module.default || module)\n\n let head = []\n\n const vueApp = await resolveComponent(initialPage.component).then((initialComponent) => {\n return setup({\n el,\n App,\n props: {\n initialPage,\n initialComponent,\n resolveComponent,\n titleCallback: title,\n onHeadUpdate: isServer ? (elements) => (head = elements) : null,\n },\n plugin,\n })\n })\n\n if (!isServer && progress) {\n setupProgress(progress)\n }\n\n if (isServer) {\n const body = await render(\n createSSRApp({\n render: () =>\n h('div', {\n id,\n 'data-page': JSON.stringify(initialPage),\n innerHTML: vueApp ? render(vueApp) : '',\n }),\n }),\n )\n\n return { head, body }\n }\n}\n", "import { defineComponent, DefineComponent } from 'vue'\n\nexport type InertiaHead = DefineComponent<{\n title?: string\n}>\n\nconst Head: InertiaHead = defineComponent({\n props: {\n title: {\n type: String,\n required: false,\n },\n },\n data() {\n return {\n provider: this.$headManager.createProvider(),\n }\n },\n beforeUnmount() {\n this.provider.disconnect()\n },\n methods: {\n 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 renderTagStart(node) {\n node.props = node.props || {}\n node.props.inertia = node.props['head-key'] !== undefined ? node.props['head-key'] : ''\n const attrs = Object.keys(node.props).reduce((carry, name) => {\n const value = node.props[name]\n if (['key', 'head-key'].includes(name)) {\n return carry\n } else if (value === '') {\n return carry + ` ${name}`\n } else {\n return carry + ` ${name}=\"${value}\"`\n }\n }, '')\n return `<${node.type}${attrs}>`\n },\n renderTagChildren(node) {\n return typeof node.children === 'string'\n ? node.children\n : node.children.reduce((html, child) => html + this.renderTag(child), '')\n },\n isFunctionNode(node) {\n return typeof node.type === 'function'\n },\n isComponentNode(node) {\n return typeof node.type === 'object'\n },\n isCommentNode(node) {\n return /(comment|cmt)/i.test(node.type.toString())\n },\n isFragmentNode(node) {\n return /(fragment|fgt|symbol\\(\\))/i.test(node.type.toString())\n },\n isTextNode(node) {\n return /(text|txt)/i.test(node.type.toString())\n },\n renderTag(node) {\n if (this.isTextNode(node)) {\n return node.children\n } else if (this.isFragmentNode(node)) {\n return ''\n } else if (this.isCommentNode(node)) {\n return ''\n }\n let html = this.renderTagStart(node)\n if (node.children) {\n html += this.renderTagChildren(node)\n }\n if (!this.isUnaryTag(node)) {\n html += `</${node.type}>`\n }\n return html\n },\n addTitleElement(elements) {\n if (this.title && !elements.find((tag) => tag.startsWith('<title'))) {\n elements.push(`<title inertia>${this.title}</title>`)\n }\n return elements\n },\n renderNodes(nodes) {\n return this.addTitleElement(\n nodes\n .flatMap((node) => this.resolveNode(node))\n .map((node) => this.renderTag(node))\n .filter((node) => node),\n )\n },\n resolveNode(node) {\n if (this.isFunctionNode(node)) {\n return this.resolveNode(node.type())\n } else if (this.isComponentNode(node)) {\n console.warn(`Using components in the <Head> component is not supported.`)\n return []\n } else if (this.isTextNode(node) && node.children) {\n return node\n } else if (this.isFragmentNode(node) && node.children) {\n return node.children.flatMap((child) => this.resolveNode(child))\n } else if (this.isCommentNode(node)) {\n return []\n } else {\n return node\n }\n },\n },\n render() {\n this.provider.update(this.renderNodes(this.$slots.default ? this.$slots.default() : []))\n },\n})\n\nexport default Head\n", "import { mergeDataIntoQueryString, Method, PageProps, Progress, router, shouldIntercept } from '@inertiajs/core'\nimport { defineComponent, DefineComponent, h, PropType } from 'vue'\n\nexport interface InertiaLinkProps {\n as?: string\n data?: object\n href: string\n method?: Method\n headers?: object\n onClick?: (event: MouseEvent) => void\n preserveScroll?: boolean | ((props: PageProps) => boolean)\n preserveState?: boolean | ((props: PageProps) => boolean) | null\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 queryStringArrayFormat?: 'brackets' | 'indices'\n}\n\ntype InertiaLink = DefineComponent<InertiaLinkProps>\n\nconst Link: InertiaLink = defineComponent({\n name: 'Link',\n props: {\n as: {\n type: String,\n default: 'a',\n },\n data: {\n type: Object,\n default: () => ({}),\n },\n href: {\n type: String,\n required: true,\n },\n method: {\n type: String as PropType<Method>,\n default: 'get',\n },\n replace: {\n type: Boolean,\n default: false,\n },\n preserveScroll: {\n type: Boolean,\n default: false,\n },\n preserveState: {\n type: Boolean,\n default: null,\n },\n only: {\n type: Array<string>,\n default: () => [],\n },\n headers: {\n type: Object,\n default: () => ({}),\n },\n queryStringArrayFormat: {\n type: String as PropType<'brackets' | 'indices'>,\n default: 'brackets',\n },\n },\n setup(props, { slots, attrs }) {\n return () => {\n const as = props.as.toLowerCase()\n const method = props.method.toLowerCase() as Method\n const [href, data] = mergeDataIntoQueryString(method, props.href || '', props.data, props.queryStringArrayFormat)\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 h(\n props.as,\n {\n ...attrs,\n ...(as === 'a' ? { href } : {}),\n onClick: (event) => {\n if (shouldIntercept(event)) {\n event.preventDefault()\n\n router.visit(href, {\n data: data,\n method: method,\n replace: props.replace,\n preserveScroll: props.preserveScroll,\n preserveState: props.preserveState ?? method !== 'get',\n only: props.only,\n headers: props.headers,\n // @ts-expect-error\n onCancelToken: attrs.onCancelToken || (() => ({})),\n // @ts-expect-error\n onBefore: attrs.onBefore || (() => ({})),\n // @ts-expect-error\n onStart: attrs.onStart || (() => ({})),\n // @ts-expect-error\n onProgress: attrs.onProgress || (() => ({})),\n // @ts-expect-error\n onFinish: attrs.onFinish || (() => ({})),\n // @ts-expect-error\n onCancel: attrs.onCancel || (() => ({})),\n // @ts-expect-error\n onSuccess: attrs.onSuccess || (() => ({})),\n // @ts-expect-error\n onError: attrs.onError || (() => ({})),\n })\n }\n },\n },\n slots,\n )\n }\n },\n})\n\nexport default Link\n", "import { router } from '@inertiajs/core'\nimport cloneDeep from 'lodash.clonedeep'\nimport { isReactive, reactive, ref, Ref, watch } from 'vue'\n\nexport default function useRemember<T extends object>(\n data: T & { __rememberable?: boolean; __remember?: Function; __restore?: Function },\n key?: string,\n): Ref<T> | T {\n if (typeof data === 'object' && data !== null && data.__rememberable === false) {\n return data\n }\n\n const restored = router.restore(key)\n const type = isReactive(data) ? reactive : ref\n const hasCallbacks = typeof data.__remember === 'function' && typeof data.__restore === 'function'\n const remembered = type(restored === undefined ? data : hasCallbacks ? data.__restore(restored) : restored)\n\n watch(\n remembered,\n (newValue) => {\n router.remember(cloneDeep(hasCallbacks ? data.__remember() : newValue), key)\n },\n { immediate: true, deep: true },\n )\n\n return remembered\n}\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["src_exports", "__export", "head_default", "link_default", "createInertiaApp", "useForm", "usePage", "useRemember", "__toCommonJS", "import_core", "import_core", "import_vue", "import_core", "import_lodash", "remember", "rememberKey", "restored", "rememberable", "key", "hasCallbacks", "data", "cloneDeep", "remember_default", "import_core", "import_lodash", "import_vue", "useForm", "rememberKeyOrData", "maybeData", "rememberKey", "data", "restored", "defaults", "cloneDeep", "cancelToken", "recentlySuccessfulTimeoutId", "transform", "form", "carry", "key", "callback", "fieldOrFields", "maybeValue", "fields", "resolvedData", "clonedData", "field", "method", "url", "options", "_options", "token", "visit", "event", "page", "onSuccess", "errors", "newValue", "isEqual", "component", "page", "layout", "key", "headManager", "App", "title", "initialPage", "initialComponent", "resolveComponent", "titleCallback", "onHeadUpdate", "isServer", "args", "child", "app_default", "plugin", "app", "useForm", "remember_default", "usePage", "import_core", "import_vue", "createInertiaApp", "id", "resolve", "setup", "title", "progress", "page", "render", "isServer", "el", "initialPage", "resolveComponent", "name", "module", "head", "vueApp", "initialComponent", "app_default", "elements", "plugin", "body", "import_vue", "Head", "node", "attrs", "carry", "name", "value", "html", "child", "elements", "tag", "nodes", "head_default", "import_core", "import_vue", "Link", "props", "slots", "attrs", "as", "method", "href", "data", "event", "link_default", "import_core", "import_lodash", "import_vue", "useRemember", "data", "key", "restored", "type", "hasCallbacks", "remembered", "newValue", "cloneDeep"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inertiajs/vue3",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.12",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "The Vue 3 adapter for Inertia.js",
|
|
6
6
|
"contributors": [
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"vue": "^3.0.0"
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@inertiajs/core": "1.0.
|
|
59
|
+
"@inertiajs/core": "1.0.12",
|
|
60
60
|
"lodash.clonedeep": "^4.5.0",
|
|
61
61
|
"lodash.isequal": "^4.5.0"
|
|
62
62
|
}
|
package/types/link.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export interface InertiaLinkProps {
|
|
|
6
6
|
href: string;
|
|
7
7
|
method?: Method;
|
|
8
8
|
headers?: object;
|
|
9
|
-
onClick?: (event: MouseEvent
|
|
9
|
+
onClick?: (event: MouseEvent) => void;
|
|
10
10
|
preserveScroll?: boolean | ((props: PageProps) => boolean);
|
|
11
11
|
preserveState?: boolean | ((props: PageProps) => boolean) | null;
|
|
12
12
|
replace?: boolean;
|