revojs 0.0.60 → 0.0.62
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
CHANGED
|
@@ -89,6 +89,8 @@ export declare const registerComponent: <TEvents extends Events, TAttributes ext
|
|
|
89
89
|
export declare function useEvent<T extends keyof ElementEventMap>(scope: Scope, target: EventTarget | undefined | null, event: T, input: EventListener<ElementEventMap[T]>, options?: AddEventListenerOptions): void;
|
|
90
90
|
export declare function useEvent<T extends keyof WindowEventMap>(scope: Scope, target: Window | undefined | null, event: T, input: EventListener<WindowEventMap[T]>, options?: AddEventListenerOptions): void;
|
|
91
91
|
export declare function useEvent<T extends keyof HTMLElementEventMap>(scope: Scope, target: Document | HTMLElement | undefined | null, event: T, input: EventListener<HTMLElementEventMap[T]>, options?: AddEventListenerOptions): void;
|
|
92
|
+
export declare const onMounted: (scope: Scope, event: EventListener<MountedEvent>) => void;
|
|
93
|
+
export declare const startViewTransition: (invoke: ViewTransitionUpdateCallback) => Promise<void>;
|
|
92
94
|
export declare const isClient: () => boolean;
|
|
93
95
|
export declare const isServer: () => boolean;
|
|
94
96
|
export declare const preventDefault: (event: Event) => void;
|
package/dist/index.js
CHANGED
|
@@ -111,15 +111,9 @@ var Scope = class extends EventTarget {
|
|
|
111
111
|
context;
|
|
112
112
|
constructor(parentScope) {
|
|
113
113
|
super();
|
|
114
|
-
this.context = /* @__PURE__ */ new Map();
|
|
115
|
-
this.setParentScope(parentScope);
|
|
116
|
-
}
|
|
117
|
-
getParentScope() {
|
|
118
|
-
return this.parentScope;
|
|
119
|
-
}
|
|
120
|
-
setParentScope(parentScope) {
|
|
121
114
|
this.parentScope = parentScope;
|
|
122
|
-
|
|
115
|
+
this.parentScope?.onStop(() => this.stop());
|
|
116
|
+
this.context = /* @__PURE__ */ new Map();
|
|
123
117
|
}
|
|
124
118
|
getContext(input) {
|
|
125
119
|
let scope = this;
|
|
@@ -160,7 +154,13 @@ var Handler = class Handler {
|
|
|
160
154
|
const set = computes.get(key) ?? /* @__PURE__ */ new Set();
|
|
161
155
|
computes.set(key, set.add(compute));
|
|
162
156
|
targets.set(target, computes);
|
|
163
|
-
compute.
|
|
157
|
+
compute.parentScope?.onStop(() => {
|
|
158
|
+
set.delete(compute);
|
|
159
|
+
if (set.size === 0) {
|
|
160
|
+
computes.delete(key);
|
|
161
|
+
if (computes.size === 0) targets.delete(target);
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
164
|
}
|
|
165
165
|
const value = Reflect.get(target, key);
|
|
166
166
|
if (value) {
|
|
@@ -416,7 +416,7 @@ const toCustomElement = (Component) => {
|
|
|
416
416
|
return findParentScope(node.parentNode);
|
|
417
417
|
}
|
|
418
418
|
};
|
|
419
|
-
this.component.scope.
|
|
419
|
+
this.component.scope.parentScope = findParentScope(this.parentNode);
|
|
420
420
|
if (this.component.shadowRoot) rootNode = this.shadowRoot ?? this.attachShadow(this.component.shadowRoot);
|
|
421
421
|
for (const [name, event] of Object.entries(Component.$events)) Reflect.set(this.component.events, name, (value) => {
|
|
422
422
|
if (value instanceof Event) return;
|
|
@@ -480,6 +480,16 @@ function useEvent(scope, target, event, input, options) {
|
|
|
480
480
|
});
|
|
481
481
|
scope.onStop(() => controller.abort());
|
|
482
482
|
}
|
|
483
|
+
const onMounted = (scope, event) => {
|
|
484
|
+
if (isClient()) {
|
|
485
|
+
const { host } = useHost(scope);
|
|
486
|
+
useEvent(scope, host, "mounted", event);
|
|
487
|
+
}
|
|
488
|
+
};
|
|
489
|
+
const startViewTransition = (invoke) => {
|
|
490
|
+
if (isClient() && document.startViewTransition !== void 0) return document.startViewTransition(invoke).updateCallbackDone;
|
|
491
|
+
return invoke();
|
|
492
|
+
};
|
|
483
493
|
const isClient = () => typeof window !== "undefined";
|
|
484
494
|
const isServer = () => typeof window === "undefined";
|
|
485
495
|
const preventDefault = (event) => event.preventDefault();
|
|
@@ -775,7 +785,7 @@ const createRouter = (options) => {
|
|
|
775
785
|
url.value = new URL(request?.url ?? window?.location.href);
|
|
776
786
|
const match = radix.match(url.value.pathname);
|
|
777
787
|
inputs.value = match.inputs;
|
|
778
|
-
route.value = await match.value?.();
|
|
788
|
+
await startViewTransition(async () => route.value = await match.value?.());
|
|
779
789
|
};
|
|
780
790
|
if (isClient()) useEvent(scope, window, "popstate", () => navigator.dispatchEvent(new NavigateEvent()));
|
|
781
791
|
scope.setContext(ROUTE_CONTEXT, { inputs: createState() });
|
|
@@ -872,4 +882,4 @@ const useLocale = (scope, context) => {
|
|
|
872
882
|
};
|
|
873
883
|
|
|
874
884
|
//#endregion
|
|
875
|
-
export { $fetch, CLIENT, Compute, HOST_CONTEXT, Handler, LOCALE_CONTEXT, MountedEvent, NavigateEvent, Page, ROUTER_CONTEXT, ROUTE_CONTEXT, RUNTIME_CONTEXT, Radix, SERVER, Scope, StopEvent, activeCompute, components, createApp, createCompute, createElement, createLocale, createMemo, createRouter, createRuntime, createState, defineComponent, defineContext, defineMiddleware, defineRoute, fileName, fromValue, hydrate, isClient, isComponent, isCustomElement, isRoute, isServer, isTemplate, mimeType, preventDefault, registerComponent, renderToString, sendBadRequest, sendHtml, sendJson, sendRedirect, sendText, sendUnauthorized, setCookie, stopImmediatePropagation, stopPropagation, targets, toArray, toCustomElement, toFragment, toPath, toRange, toString, useCookies, useEvent, useHost, useLocale, useRequestUrl, useRoute, useRouter, useRuntime, useSetCookies };
|
|
885
|
+
export { $fetch, CLIENT, Compute, HOST_CONTEXT, Handler, LOCALE_CONTEXT, MountedEvent, NavigateEvent, Page, ROUTER_CONTEXT, ROUTE_CONTEXT, RUNTIME_CONTEXT, Radix, SERVER, Scope, StopEvent, activeCompute, components, createApp, createCompute, createElement, createLocale, createMemo, createRouter, createRuntime, createState, defineComponent, defineContext, defineMiddleware, defineRoute, fileName, fromValue, hydrate, isClient, isComponent, isCustomElement, isRoute, isServer, isTemplate, mimeType, onMounted, preventDefault, registerComponent, renderToString, sendBadRequest, sendHtml, sendJson, sendRedirect, sendText, sendUnauthorized, setCookie, startViewTransition, stopImmediatePropagation, stopPropagation, targets, toArray, toCustomElement, toFragment, toPath, toRange, toString, useCookies, useEvent, useHost, useLocale, useRequestUrl, useRoute, useRouter, useRuntime, useSetCookies };
|
package/dist/presets/bun.js
CHANGED
|
@@ -9,15 +9,9 @@ var Scope = class extends EventTarget {
|
|
|
9
9
|
context;
|
|
10
10
|
constructor(parentScope) {
|
|
11
11
|
super();
|
|
12
|
-
this.context = /* @__PURE__ */ new Map();
|
|
13
|
-
this.setParentScope(parentScope);
|
|
14
|
-
}
|
|
15
|
-
getParentScope() {
|
|
16
|
-
return this.parentScope;
|
|
17
|
-
}
|
|
18
|
-
setParentScope(parentScope) {
|
|
19
12
|
this.parentScope = parentScope;
|
|
20
|
-
|
|
13
|
+
this.parentScope?.onStop(() => this.stop());
|
|
14
|
+
this.context = /* @__PURE__ */ new Map();
|
|
21
15
|
}
|
|
22
16
|
getContext(input) {
|
|
23
17
|
let scope = this;
|
package/dist/signals/index.d.ts
CHANGED
|
@@ -10,11 +10,9 @@ export declare class StopEvent extends Event {
|
|
|
10
10
|
constructor();
|
|
11
11
|
}
|
|
12
12
|
export declare class Scope extends EventTarget {
|
|
13
|
-
|
|
13
|
+
parentScope?: Scope;
|
|
14
14
|
readonly context: Map<string, unknown>;
|
|
15
15
|
constructor(parentScope?: Scope);
|
|
16
|
-
getParentScope(): Scope | undefined;
|
|
17
|
-
setParentScope(parentScope?: Scope): void | undefined;
|
|
18
16
|
getContext<T>(input: Descriptor<T>): T;
|
|
19
17
|
setContext<T>(input: Descriptor<T>, value: T): void;
|
|
20
18
|
onStop(input: (event: StopEvent) => void): void;
|