revojs 0.0.61 → 0.0.63

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.
@@ -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
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "revojs",
3
- "version": "0.0.61",
3
+ "version": "0.0.63",
4
4
  "type": "module",
5
5
  "repository": "coverbase/revojs",
6
6
  "license": "MIT",