revojs 0.0.80 → 0.0.81
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/html/index.d.ts +14 -1
- package/dist/index.js +41 -12
- package/dist/router/index.d.ts +0 -4
- package/dist/runtime/index.d.ts +1 -1
- package/package.json +1 -1
package/dist/html/index.d.ts
CHANGED
|
@@ -67,6 +67,14 @@ export interface CustomElement<TEvents extends Events, TAttributes extends Attri
|
|
|
67
67
|
export interface CustomElementConstructor<TEvents extends Events, TAttributes extends Attributes> {
|
|
68
68
|
new (): CustomElement<TEvents, TAttributes>;
|
|
69
69
|
}
|
|
70
|
+
export declare class ViewTransitionEvent extends Event {
|
|
71
|
+
readonly name: string;
|
|
72
|
+
constructor(name: string);
|
|
73
|
+
}
|
|
74
|
+
export declare class AfterViewTransitionEvent extends Event {
|
|
75
|
+
readonly name: string;
|
|
76
|
+
constructor(name: string);
|
|
77
|
+
}
|
|
70
78
|
export declare class MountedEvent extends Event {
|
|
71
79
|
constructor();
|
|
72
80
|
}
|
|
@@ -88,7 +96,8 @@ export declare function useEvent<T extends keyof ElementEventMap>(scope: Scope,
|
|
|
88
96
|
export declare function useEvent<T extends keyof WindowEventMap>(scope: Scope, target: Window | undefined | null, event: T, input: EventListener<WindowEventMap[T]>, options?: AddEventListenerOptions): void;
|
|
89
97
|
export declare function useEvent<T extends keyof HTMLElementEventMap>(scope: Scope, target: Document | HTMLElement | undefined | null, event: T, input: EventListener<HTMLElementEventMap[T]>, options?: AddEventListenerOptions): void;
|
|
90
98
|
export declare function onMounted(scope: Scope, event: EventListener<MountedEvent>): void;
|
|
91
|
-
export declare function startViewTransition(invoke: ViewTransitionUpdateCallback): Promise<void>;
|
|
99
|
+
export declare function startViewTransition(name: string, invoke: ViewTransitionUpdateCallback): Promise<void>;
|
|
100
|
+
export declare function onViewTransition(scope: Scope, viewTransition: string, name: string): () => string;
|
|
92
101
|
export declare function isClient(): boolean;
|
|
93
102
|
export declare function isServer(): boolean;
|
|
94
103
|
export declare function preventDefault(event: Event): void;
|
|
@@ -97,6 +106,10 @@ export declare function stopImmediatePropagation(event: Event): void;
|
|
|
97
106
|
export declare const components: Map<string, ComponentConstructor<Events, Attributes>>;
|
|
98
107
|
export declare const HOST_CONTEXT: import("..").Descriptor<HostContext>;
|
|
99
108
|
declare global {
|
|
109
|
+
interface ElementEventMap {
|
|
110
|
+
viewTransition: ViewTransitionEvent;
|
|
111
|
+
afterViewTransition: AfterViewTransitionEvent;
|
|
112
|
+
}
|
|
100
113
|
interface HTMLElementEventMap {
|
|
101
114
|
mounted: MountedEvent;
|
|
102
115
|
}
|
package/dist/index.js
CHANGED
|
@@ -443,7 +443,7 @@ function useAsync(scope, invoke, options) {
|
|
|
443
443
|
isLoading.value = true;
|
|
444
444
|
try {
|
|
445
445
|
const result = await invoke();
|
|
446
|
-
if (options?.viewTransition) await startViewTransition(() => state.value = result);
|
|
446
|
+
if (options?.viewTransition) await startViewTransition(options.viewTransition, () => state.value = result);
|
|
447
447
|
else state.value = result;
|
|
448
448
|
} catch (error) {
|
|
449
449
|
options?.catch?.(error);
|
|
@@ -520,6 +520,20 @@ const ROUTE_CONTEXT = defineContext("ROUTE_CONTEXT");
|
|
|
520
520
|
|
|
521
521
|
//#endregion
|
|
522
522
|
//#region src/html/index.ts
|
|
523
|
+
var ViewTransitionEvent = class extends Event {
|
|
524
|
+
name;
|
|
525
|
+
constructor(name) {
|
|
526
|
+
super("viewTransition");
|
|
527
|
+
this.name = name;
|
|
528
|
+
}
|
|
529
|
+
};
|
|
530
|
+
var AfterViewTransitionEvent = class extends Event {
|
|
531
|
+
name;
|
|
532
|
+
constructor(name) {
|
|
533
|
+
super("afterViewTransition");
|
|
534
|
+
this.name = name;
|
|
535
|
+
}
|
|
536
|
+
};
|
|
523
537
|
var MountedEvent = class extends Event {
|
|
524
538
|
constructor() {
|
|
525
539
|
super("mounted");
|
|
@@ -800,10 +814,25 @@ function onMounted(scope, event) {
|
|
|
800
814
|
useEvent(scope, host, "mounted", event);
|
|
801
815
|
}
|
|
802
816
|
}
|
|
803
|
-
async function startViewTransition(invoke) {
|
|
804
|
-
if (isClient() && document.startViewTransition !== void 0)
|
|
817
|
+
async function startViewTransition(name, invoke) {
|
|
818
|
+
if (isClient() && document.startViewTransition !== void 0) {
|
|
819
|
+
document.dispatchEvent(new ViewTransitionEvent(name));
|
|
820
|
+
return document.startViewTransition(invoke).finished.finally(() => document.dispatchEvent(new AfterViewTransitionEvent(name)));
|
|
821
|
+
}
|
|
805
822
|
return invoke();
|
|
806
823
|
}
|
|
824
|
+
function onViewTransition(scope, viewTransition, name) {
|
|
825
|
+
const state = createState(name);
|
|
826
|
+
if (isClient()) {
|
|
827
|
+
useEvent(scope, document, "viewTransition", (event) => {
|
|
828
|
+
if (event.name === viewTransition) state.value = name;
|
|
829
|
+
});
|
|
830
|
+
useEvent(scope, document, "afterViewTransition", (event) => {
|
|
831
|
+
if (event.name === viewTransition) state.value = "none";
|
|
832
|
+
});
|
|
833
|
+
}
|
|
834
|
+
return () => `view-transition-name: ${state.value}`;
|
|
835
|
+
}
|
|
807
836
|
function isClient() {
|
|
808
837
|
return typeof window !== "undefined";
|
|
809
838
|
}
|
|
@@ -834,11 +863,6 @@ var AfterNavigateEvent = class extends Event {
|
|
|
834
863
|
super("afterNavigate");
|
|
835
864
|
}
|
|
836
865
|
};
|
|
837
|
-
var AfterNavigateTransitionEvent = class extends Event {
|
|
838
|
-
constructor() {
|
|
839
|
-
super("afterNavigateTransition");
|
|
840
|
-
}
|
|
841
|
-
};
|
|
842
866
|
function provideRouterContext(scope, options) {
|
|
843
867
|
const url = createState();
|
|
844
868
|
const route = createState();
|
|
@@ -863,7 +887,6 @@ function provideRouterContext(scope, options) {
|
|
|
863
887
|
navigator.dispatchEvent(new AfterNavigateEvent());
|
|
864
888
|
}
|
|
865
889
|
};
|
|
866
|
-
if (isClient()) useEvent(scope, window, "popstate", fetch$1);
|
|
867
890
|
scope.setContext(ROUTE_CONTEXT, { inputs: createState() });
|
|
868
891
|
scope.setContext(ROUTER_CONTEXT, {
|
|
869
892
|
options,
|
|
@@ -873,8 +896,14 @@ function provideRouterContext(scope, options) {
|
|
|
873
896
|
route
|
|
874
897
|
});
|
|
875
898
|
fetch$1();
|
|
876
|
-
useEvent(scope, navigator, "navigate", () => startViewTransition(fetch$1)
|
|
877
|
-
if (isClient())
|
|
899
|
+
useEvent(scope, navigator, "navigate", () => startViewTransition("navigate", fetch$1));
|
|
900
|
+
if (isClient()) {
|
|
901
|
+
useEvent(scope, window, "popstate", () => {
|
|
902
|
+
fetch$1();
|
|
903
|
+
document.dispatchEvent(new AfterViewTransitionEvent("navigate"));
|
|
904
|
+
});
|
|
905
|
+
requestAnimationFrame(() => document.dispatchEvent(new AfterViewTransitionEvent("navigate")));
|
|
906
|
+
}
|
|
878
907
|
return useRouter(scope);
|
|
879
908
|
}
|
|
880
909
|
function useRouter(scope, context) {
|
|
@@ -951,4 +980,4 @@ function useLocale(scope, context) {
|
|
|
951
980
|
const LOCALE_CONTEXT = defineContext("LOCALE_CONTEXT");
|
|
952
981
|
|
|
953
982
|
//#endregion
|
|
954
|
-
export { $fetch, AfterNavigateEvent,
|
|
983
|
+
export { $fetch, AfterNavigateEvent, AfterViewTransitionEvent, CLIENT, Compute, HOST_CONTEXT, Handler, LOCALE_CONTEXT, MountedEvent, NavigateEvent, Page, ROUTER_CONTEXT, ROUTE_CONTEXT, RUNTIME_CONTEXT, Radix, SERVER, Scope, StopEvent, ViewTransitionEvent, activeCompute, components, createApp, createCompute, createElement, createMemo, createRuntime, createState, defineComponent, defineContext, defineMiddleware, defineRoute, fileName, fromValue, hydrate, isClient, isComponent, isCustomElement, isRoute, isServer, isTemplate, mergeObjects, mimeType, onMounted, onViewTransition, preventDefault, provideLocaleContext, provideRouterContext, registerComponent, renderToString, sendBadRequest, sendHtml, sendJson, sendRedirect, sendText, sendUnauthorized, setCookie, startViewTransition, stopImmediatePropagation, stopPropagation, targets, toArray, toCustomElement, toFragment, toPath, toRange, toString, untrack, useAsync, useCookies, useEvent, useFetch, useHost, useLocale, useQuery, useRoute, useRouter, useRuntime, useSetCookies, useUrl };
|
package/dist/router/index.d.ts
CHANGED
|
@@ -17,9 +17,6 @@ export declare class NavigateEvent extends Event {
|
|
|
17
17
|
export declare class AfterNavigateEvent extends Event {
|
|
18
18
|
constructor();
|
|
19
19
|
}
|
|
20
|
-
export declare class AfterNavigateTransitionEvent extends Event {
|
|
21
|
-
constructor();
|
|
22
|
-
}
|
|
23
20
|
export declare function provideRouterContext(scope: Scope, options: RouterOptions): {
|
|
24
21
|
url: State<URL | undefined>;
|
|
25
22
|
route: State<unknown>;
|
|
@@ -44,6 +41,5 @@ declare global {
|
|
|
44
41
|
interface ElementEventMap {
|
|
45
42
|
navigate: NavigateEvent;
|
|
46
43
|
afterNavigate: AfterNavigateEvent;
|
|
47
|
-
afterNavigateTransition: AfterNavigateTransitionEvent;
|
|
48
44
|
}
|
|
49
45
|
}
|
package/dist/runtime/index.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export type RouteContext = {
|
|
|
22
22
|
inputs: State<Record<string, string>>;
|
|
23
23
|
};
|
|
24
24
|
export type AsyncOptions = {
|
|
25
|
-
viewTransition?:
|
|
25
|
+
viewTransition?: string;
|
|
26
26
|
catch?: (error: unknown) => void | Promise<void>;
|
|
27
27
|
};
|
|
28
28
|
export declare function isRoute<T>(value?: T): value is Route & T;
|