Files
budget_analyser/node_modules/@inertiajs/inertia-vue3/index.d.ts
TiclemFR 076ec32c3b 🔧
2023-12-29 17:47:40 +01:00

124 lines
3.7 KiB
TypeScript

import * as Inertia from '@inertiajs/inertia'
import { Ref, ComputedRef, App as VueApp, DefineComponent, Plugin } from 'vue'
export interface InertiaAppProps {
initialPage: Inertia.Page
initialComponent?: object
resolveComponent?: (name: string) => DefineComponent | Promise<DefineComponent>
onHeadUpdate?: (elements: string[]) => void
}
type InertiaApp = DefineComponent<InertiaAppProps>
export declare const App: InertiaApp
export declare const plugin: Plugin
export interface CreateInertiaAppProps {
id?: string
resolve: (name: string) =>
DefineComponent |
Promise<DefineComponent> |
{ default: DefineComponent }
setup: (props: {
el: Element
app: InertiaApp
props: InertiaAppProps
plugin: Plugin
}) => void | VueApp
title?: (title: string) => string
page?: Inertia.Page
render?: (app: VueApp) => Promise<string>
}
export declare function createInertiaApp(props: CreateInertiaAppProps): Promise<{ head: string[], body: string } | void>
export interface InertiaLinkProps {
as?: string
data?: object
href: string
method?: string
headers?: object
onClick?: (event: MouseEvent | KeyboardEvent) => void
preserveScroll?: boolean | ((props: Inertia.PageProps) => boolean)
preserveState?: boolean | ((props: Inertia.PageProps) => boolean) | null
replace?: boolean
only?: string[]
onCancelToken?: (cancelToken: import('axios').CancelTokenSource) => void
onBefore?: () => void
onStart?: () => void
onProgress?: (progress: Inertia.Progress) => void
onFinish?: () => void
onCancel?: () => void
onSuccess?: () => void
}
export type InertiaLink = DefineComponent<InertiaLinkProps>
export declare const Link: InertiaLink
export interface InertiaFormProps<TForm> {
isDirty: boolean
errors: Record<keyof TForm, string>
hasErrors: boolean
processing: boolean
progress: Inertia.Progress | null
wasSuccessful: boolean
recentlySuccessful: boolean
data(): TForm
transform(callback: (data: TForm) => object): this
defaults(): this
defaults(field: keyof TForm, value: string): this
defaults(fields: Record<keyof TForm, string>): this
reset(...fields: (keyof TForm)[]): this
clearErrors(...fields: (keyof TForm)[]): this
setError(field: keyof TForm, value: string): this
setError(errors: Record<keyof TForm, string>): this
submit(method: string, url: string, options?: Partial<Inertia.VisitOptions>): void
get(url: string, options?: Partial<Inertia.VisitOptions>): void
post(url: string, options?: Partial<Inertia.VisitOptions>): void
put(url: string, options?: Partial<Inertia.VisitOptions>): void
patch(url: string, options?: Partial<Inertia.VisitOptions>): void
delete(url: string, options?: Partial<Inertia.VisitOptions>): void
cancel(): void
}
export type InertiaForm<TForm> = TForm & InertiaFormProps<TForm>
export declare function useForm<TForm>(data: TForm): InertiaForm<TForm>
export declare function useForm<TForm>(rememberKey: string, data: TForm): InertiaForm<TForm>
export declare function useRemember(data: object, key?: string): Ref<object>
export declare function usePage<PageProps>(): {
props: ComputedRef<PageProps & Inertia.PageProps>
url: ComputedRef<string>
component: ComputedRef<string>
version: ComputedRef<string | null>
}
export type InertiaHead = DefineComponent<{
title?: string
}>
export declare const Head: InertiaHead
declare module '@vue/runtime-core' {
export interface ComponentCustomProperties {
$inertia: typeof Inertia.Inertia
$page: Inertia.Page
$headManager: ReturnType<typeof Inertia.createHeadManager>
}
export interface ComponentCustomOptions {
remember?:
string |
string[] |
{
data: string | string[]
key?: string | (() => string)
}
}
}