@inertiajs/core 2.3.1 → 2.3.3
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 +73 -14
- package/dist/index.esm.js.map +3 -3
- package/dist/index.js +73 -14
- package/dist/index.js.map +3 -3
- package/package.json +1 -1
- package/types/events.d.ts +1 -0
- package/types/page.d.ts +5 -2
- package/types/router.d.ts +3 -2
- package/types/types.d.ts +21 -1
package/package.json
CHANGED
package/types/events.d.ts
CHANGED
|
@@ -11,3 +11,4 @@ export declare const fireStartEvent: GlobalEventTrigger<'start'>;
|
|
|
11
11
|
export declare const fireSuccessEvent: GlobalEventTrigger<'success'>;
|
|
12
12
|
export declare const firePrefetchedEvent: GlobalEventTrigger<'prefetched'>;
|
|
13
13
|
export declare const firePrefetchingEvent: GlobalEventTrigger<'prefetching'>;
|
|
14
|
+
export declare const fireFlashEvent: GlobalEventTrigger<'flash'>;
|
package/types/page.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Component, Page, PageEvent, PageHandler, PageResolver, RouterInitParams, Visit } from './types';
|
|
1
|
+
import { Component, FlashData, Page, PageEvent, PageHandler, PageResolver, RouterInitParams, Visit } from './types';
|
|
2
2
|
declare class CurrentPage {
|
|
3
3
|
protected page: Page;
|
|
4
4
|
protected swapComponent: PageHandler<any>;
|
|
5
5
|
protected resolveComponent: PageResolver;
|
|
6
|
+
protected onFlashCallback?: (flash: Page['flash']) => void;
|
|
6
7
|
protected componentId: {};
|
|
7
8
|
protected listeners: {
|
|
8
9
|
event: PageEvent;
|
|
@@ -11,7 +12,7 @@ declare class CurrentPage {
|
|
|
11
12
|
protected isFirstPageLoad: boolean;
|
|
12
13
|
protected cleared: boolean;
|
|
13
14
|
protected pendingDeferredProps: Pick<Page, 'deferredProps' | 'url' | 'component'> | null;
|
|
14
|
-
init<ComponentType = Component>({ initialPage, swapComponent, resolveComponent, }: RouterInitParams<ComponentType>): this;
|
|
15
|
+
init<ComponentType = Component>({ initialPage, swapComponent, resolveComponent, onFlash, }: RouterInitParams<ComponentType>): this;
|
|
15
16
|
set(page: Page, { replace, preserveScroll, preserveState, viewTransition, }?: {
|
|
16
17
|
replace?: boolean;
|
|
17
18
|
preserveScroll?: boolean;
|
|
@@ -24,8 +25,10 @@ declare class CurrentPage {
|
|
|
24
25
|
clear(): void;
|
|
25
26
|
isCleared(): boolean;
|
|
26
27
|
get(): Page;
|
|
28
|
+
getWithoutFlashData(): Page;
|
|
27
29
|
hasOnceProps(): boolean;
|
|
28
30
|
merge(data: Partial<Page>): void;
|
|
31
|
+
setFlash(flash: FlashData): void;
|
|
29
32
|
setUrlHash(hash: string): void;
|
|
30
33
|
remember(data: Page['rememberedState']): void;
|
|
31
34
|
swap({ component, page, preserveState, viewTransition, }: {
|
package/types/router.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import Queue from './queue';
|
|
2
2
|
import { RequestStream } from './requestStream';
|
|
3
|
-
import { ActiveVisit, ClientSideVisitOptions, Component, GlobalEvent, GlobalEventNames, GlobalEventResult, InFlightPrefetch, Page, PendingVisit, PendingVisitOptions, PollOptions, PrefetchedResponse, PrefetchOptions, ReloadOptions, RequestPayload, RouterInitParams, UrlMethodPair, VisitCallbacks, VisitHelperOptions, VisitOptions } from './types';
|
|
3
|
+
import { ActiveVisit, ClientSideVisitOptions, Component, FlashData, GlobalEvent, GlobalEventNames, GlobalEventResult, InFlightPrefetch, Page, PageFlashData, PendingVisit, PendingVisitOptions, PollOptions, PrefetchedResponse, PrefetchOptions, ReloadOptions, RequestPayload, RouterInitParams, UrlMethodPair, VisitCallbacks, VisitHelperOptions, VisitOptions } from './types';
|
|
4
4
|
export declare class Router {
|
|
5
5
|
protected syncRequestStream: RequestStream;
|
|
6
6
|
protected asyncRequestStream: RequestStream;
|
|
7
7
|
protected clientVisitQueue: Queue<Promise<void>>;
|
|
8
|
-
init<ComponentType = Component>({ initialPage, resolveComponent, swapComponent, }: RouterInitParams<ComponentType>): void;
|
|
8
|
+
init<ComponentType = Component>({ initialPage, resolveComponent, swapComponent, onFlash, }: RouterInitParams<ComponentType>): void;
|
|
9
9
|
get<T extends RequestPayload = RequestPayload>(url: URL | string | UrlMethodPair, data?: T, options?: VisitHelperOptions<T>): void;
|
|
10
10
|
post<T extends RequestPayload = RequestPayload>(url: URL | string | UrlMethodPair, data?: T, options?: VisitHelperOptions<T>): void;
|
|
11
11
|
put<T extends RequestPayload = RequestPayload>(url: URL | string | UrlMethodPair, data?: T, options?: VisitHelperOptions<T>): void;
|
|
@@ -39,6 +39,7 @@ export declare class Router {
|
|
|
39
39
|
appendToProp<TProps = Page['props']>(name: string, value: unknown | unknown[] | ((oldValue: unknown, props: TProps) => unknown | unknown[]), options?: Pick<ClientSideVisitOptions, 'onError' | 'onFinish' | 'onSuccess'>): void;
|
|
40
40
|
prependToProp<TProps = Page['props']>(name: string, value: unknown | unknown[] | ((oldValue: unknown, props: TProps) => unknown | unknown[]), options?: Pick<ClientSideVisitOptions, 'onError' | 'onFinish' | 'onSuccess'>): void;
|
|
41
41
|
push<TProps = Page['props']>(params: ClientSideVisitOptions<TProps>): void;
|
|
42
|
+
flash<TFlash extends PageFlashData = PageFlashData>(keyOrData: string | ((flash: FlashData) => TFlash) | TFlash, value?: unknown): void;
|
|
42
43
|
protected clientVisit<TProps = Page['props']>(params: ClientSideVisitOptions<TProps>, { replace }?: {
|
|
43
44
|
replace?: boolean;
|
|
44
45
|
}): void;
|
package/types/types.d.ts
CHANGED
|
@@ -6,8 +6,12 @@ declare module 'axios' {
|
|
|
6
6
|
percentage: number | undefined;
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
+
export interface PageFlashData {
|
|
10
|
+
[key: string]: unknown;
|
|
11
|
+
}
|
|
9
12
|
export type DefaultInertiaConfig = {
|
|
10
13
|
errorValueType: string;
|
|
14
|
+
flashDataType: PageFlashData;
|
|
11
15
|
sharedPageProps: PageProps;
|
|
12
16
|
};
|
|
13
17
|
/**
|
|
@@ -20,9 +24,11 @@ export type DefaultInertiaConfig = {
|
|
|
20
24
|
* declare module '@inertiajs/core' {
|
|
21
25
|
* export interface InertiaConfig {
|
|
22
26
|
* errorValueType: string[]
|
|
27
|
+
* flashDataType: {
|
|
28
|
+
* toast?: { type: 'success' | 'error', message: string }
|
|
29
|
+
* }
|
|
23
30
|
* sharedPageProps: {
|
|
24
31
|
* auth: { user: User | null }
|
|
25
|
-
* flash: { success?: string; error?: string }
|
|
26
32
|
* }
|
|
27
33
|
* }
|
|
28
34
|
* }
|
|
@@ -32,6 +38,7 @@ export interface InertiaConfig {
|
|
|
32
38
|
}
|
|
33
39
|
export type InertiaConfigFor<Key extends keyof DefaultInertiaConfig> = Key extends keyof InertiaConfig ? InertiaConfig[Key] : DefaultInertiaConfig[Key];
|
|
34
40
|
export type ErrorValue = InertiaConfigFor<'errorValueType'>;
|
|
41
|
+
export type FlashData = InertiaConfigFor<'flashDataType'>;
|
|
35
42
|
export type SharedPageProps = InertiaConfigFor<'sharedPageProps'>;
|
|
36
43
|
export type Errors = Record<string, ErrorValue>;
|
|
37
44
|
export type ErrorBag = Record<string, Errors>;
|
|
@@ -94,6 +101,7 @@ export interface Page<SharedProps extends PageProps = PageProps> {
|
|
|
94
101
|
deepMergeProps?: string[];
|
|
95
102
|
matchPropsOn?: string[];
|
|
96
103
|
scrollProps?: Record<keyof PageProps, ScrollProp>;
|
|
104
|
+
flash: FlashData;
|
|
97
105
|
onceProps?: Record<string, {
|
|
98
106
|
prop: keyof PageProps;
|
|
99
107
|
expiresAt?: number | null;
|
|
@@ -109,6 +117,7 @@ export interface ClientSideVisitOptions<TProps = Page['props']> {
|
|
|
109
117
|
component?: Page['component'];
|
|
110
118
|
url?: Page['url'];
|
|
111
119
|
props?: ((props: TProps) => PageProps) | PageProps;
|
|
120
|
+
flash?: ((flash: FlashData) => PageFlashData) | PageFlashData;
|
|
112
121
|
clearHistory?: Page['clearHistory'];
|
|
113
122
|
encryptHistory?: Page['encryptHistory'];
|
|
114
123
|
preserveScroll?: VisitOptions['preserveScroll'];
|
|
@@ -117,6 +126,7 @@ export interface ClientSideVisitOptions<TProps = Page['props']> {
|
|
|
117
126
|
viewTransition?: VisitOptions['viewTransition'];
|
|
118
127
|
onError?: (errors: Errors) => void;
|
|
119
128
|
onFinish?: (visit: ClientSideVisitOptions<TProps>) => void;
|
|
129
|
+
onFlash?: (flash: FlashData) => void;
|
|
120
130
|
onSuccess?: (page: Page) => void;
|
|
121
131
|
}
|
|
122
132
|
export type PageResolver = (name: string) => Component;
|
|
@@ -248,6 +258,13 @@ export type GlobalEventsMap<T extends RequestPayload = RequestPayload> = {
|
|
|
248
258
|
};
|
|
249
259
|
result: void;
|
|
250
260
|
};
|
|
261
|
+
flash: {
|
|
262
|
+
parameters: [Page['flash']];
|
|
263
|
+
details: {
|
|
264
|
+
flash: Page['flash'];
|
|
265
|
+
};
|
|
266
|
+
result: void;
|
|
267
|
+
};
|
|
251
268
|
};
|
|
252
269
|
export type PageEvent = 'newComponent' | 'firstLoad';
|
|
253
270
|
export type GlobalEventNames<T extends RequestPayload = RequestPayload> = keyof GlobalEventsMap<T>;
|
|
@@ -268,6 +285,7 @@ export type VisitCallbacks<T extends RequestPayload = RequestPayload> = {
|
|
|
268
285
|
onCancel: GlobalEventCallback<'cancel', T>;
|
|
269
286
|
onSuccess: GlobalEventCallback<'success', T>;
|
|
270
287
|
onError: GlobalEventCallback<'error', T>;
|
|
288
|
+
onFlash: GlobalEventCallback<'flash', T>;
|
|
271
289
|
onPrefetched: GlobalEventCallback<'prefetched', T>;
|
|
272
290
|
onPrefetching: GlobalEventCallback<'prefetching', T>;
|
|
273
291
|
};
|
|
@@ -282,6 +300,7 @@ export type RouterInitParams<ComponentType = Component> = {
|
|
|
282
300
|
initialPage: Page;
|
|
283
301
|
resolveComponent: PageResolver;
|
|
284
302
|
swapComponent: PageHandler<ComponentType>;
|
|
303
|
+
onFlash?: (flash: Page['flash']) => void;
|
|
285
304
|
};
|
|
286
305
|
export type PendingVisitOptions = {
|
|
287
306
|
url: URL;
|
|
@@ -554,6 +573,7 @@ declare global {
|
|
|
554
573
|
'inertia:finish': GlobalEvent<'finish'>;
|
|
555
574
|
'inertia:beforeUpdate': GlobalEvent<'beforeUpdate'>;
|
|
556
575
|
'inertia:navigate': GlobalEvent<'navigate'>;
|
|
576
|
+
'inertia:flash': GlobalEvent<'flash'>;
|
|
557
577
|
}
|
|
558
578
|
}
|
|
559
579
|
export {};
|