revojs 0.0.20 → 0.0.21
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 +4 -2
- package/dist/index.js +7 -7
- package/dist/jsx/index.d.ts +1 -2
- package/package.json +1 -1
package/dist/html/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type HtmlAttributes } from "../jsx";
|
|
2
2
|
import { type Descriptor, Hooks, Scope, type State, type Value } from "../signals";
|
|
3
3
|
export type TypeOf<T> = {
|
|
4
4
|
(): T;
|
|
5
5
|
};
|
|
6
6
|
export type Infer<T> = T extends TypeOf<infer U> ? U : unknown;
|
|
7
7
|
export type Slot = unknown | Template | Array<Slot> | (() => Slot);
|
|
8
|
+
export type EventListener<T extends Event> = ((event: T) => void) | Array<(event: T) => void>;
|
|
8
9
|
export type Template = {
|
|
9
10
|
tag: string;
|
|
10
11
|
attributes: Record<string, unknown>;
|
|
@@ -16,7 +17,7 @@ export type EventInput<T extends Events> = {
|
|
|
16
17
|
export type AttributeInput<T extends Attributes> = {
|
|
17
18
|
[K in keyof T]?: Value<Infer<T[K]["type"]> | undefined>;
|
|
18
19
|
};
|
|
19
|
-
export type Input<TEvents extends Events, TAttributes extends Attributes> = EventInput<TEvents>
|
|
20
|
+
export type Input<TEvents extends Events, TAttributes extends Attributes> = EventInput<TEvents> | AttributeInput<TAttributes> | HtmlAttributes;
|
|
20
21
|
export type EventOutput<T extends Events> = {
|
|
21
22
|
[K in keyof T]?: (event: Infer<T[K]["type"]>) => void;
|
|
22
23
|
};
|
|
@@ -78,6 +79,7 @@ export declare const toCustomElement: <TEvents extends Events = {}, TAttributes
|
|
|
78
79
|
export declare const registerComponent: <TEvents extends Events = {}, TAttributes extends Attributes = {}>(component: ComponentConstructor<TEvents, TAttributes>) => ComponentConstructor<TEvents, TAttributes>;
|
|
79
80
|
export declare const getGlobalStyles: () => CSSStyleSheet[];
|
|
80
81
|
export declare const getCustomElement: (node: Node | null) => CustomElement<Events, Attributes> | undefined;
|
|
82
|
+
export declare const eventListener: <T extends Event>(event: T, invoke?: EventListener<T>) => void;
|
|
81
83
|
export declare const isClient: () => boolean;
|
|
82
84
|
export declare const isServer: () => boolean;
|
|
83
85
|
export declare const preventDefault: (event: Event) => void;
|
package/dist/index.js
CHANGED
|
@@ -324,12 +324,8 @@ const renderToNode = async (scope, slot) => {
|
|
|
324
324
|
if (name.startsWith("on")) {
|
|
325
325
|
const event = name.substring(2).toLowerCase();
|
|
326
326
|
const controller = new AbortController();
|
|
327
|
-
element.addEventListener(event, (event$1) => {
|
|
328
|
-
|
|
329
|
-
if (Array.isArray(invoke)) for (const target of invoke) target?.(event$1);
|
|
330
|
-
else invoke?.(event$1);
|
|
331
|
-
}, { signal: controller.signal });
|
|
332
|
-
scope.dispose.push(() => controller.abort());
|
|
327
|
+
element.addEventListener(event, (event$1) => eventListener(event$1, value), { signal: controller.signal });
|
|
328
|
+
scope.dispose.push(controller.abort);
|
|
333
329
|
} else createCompute(scope, () => {
|
|
334
330
|
const set = toString(value);
|
|
335
331
|
if (set === "" || set === "false") return element.removeAttribute(name);
|
|
@@ -457,6 +453,10 @@ const getCustomElement = (node) => {
|
|
|
457
453
|
return getCustomElement(node.parentNode);
|
|
458
454
|
}
|
|
459
455
|
};
|
|
456
|
+
const eventListener = (event, invoke) => {
|
|
457
|
+
if (Array.isArray(invoke)) for (const target of invoke) target?.(event);
|
|
458
|
+
else invoke?.(event);
|
|
459
|
+
};
|
|
460
460
|
const isClient = () => typeof window !== "undefined";
|
|
461
461
|
const isServer = () => typeof window === "undefined";
|
|
462
462
|
const preventDefault = (event) => event.preventDefault();
|
|
@@ -789,4 +789,4 @@ const anchorNavigate = (event) => {
|
|
|
789
789
|
};
|
|
790
790
|
|
|
791
791
|
//#endregion
|
|
792
|
-
export { $fetch, Compute, Handler, Hooks, MOUNTED_HOOK, Outlet, RUNTIME_CONTEXT, Radix, Scope, activeCompute, anchorNavigate, components, createApp, createCompute, createElement, createEvent, createMemo, createRuntime, createState, defineComponent, defineContext, defineHook, defineRoute, fileName, fromValue, getAssets, getCookies, getCustomElement, getGlobalStyles, getMimeType, getRequestUrl, getRoutes, getSetCookies, getVariables, isClient, isServer, isTemplate, markdownToSlot, navigate, preventDefault, registerComponent, renderToNode, renderToString, sendBadRequest, sendHtml, sendJson, sendRedirect, sendText, sendUnauthorized, setCookie, stopImmediatePropagation, stopPropagation, targets, toCustomElement, toFragment, toPath, toString };
|
|
792
|
+
export { $fetch, Compute, Handler, Hooks, MOUNTED_HOOK, Outlet, RUNTIME_CONTEXT, Radix, Scope, activeCompute, anchorNavigate, components, createApp, createCompute, createElement, createEvent, createMemo, createRuntime, createState, defineComponent, defineContext, defineHook, defineRoute, eventListener, fileName, fromValue, getAssets, getCookies, getCustomElement, getGlobalStyles, getMimeType, getRequestUrl, getRoutes, getSetCookies, getVariables, isClient, isServer, isTemplate, markdownToSlot, navigate, preventDefault, registerComponent, renderToNode, renderToString, sendBadRequest, sendHtml, sendJson, sendRedirect, sendText, sendUnauthorized, setCookie, stopImmediatePropagation, stopPropagation, targets, toCustomElement, toFragment, toPath, toString };
|
package/dist/jsx/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { type Slot } from "../html";
|
|
2
|
-
export type EventListener<T extends Event> = ((event: T) => void) | Array<(event: T) => void>;
|
|
1
|
+
import { type EventListener, type Slot } from "../html";
|
|
3
2
|
export type EventAttributes = {
|
|
4
3
|
onScroll?: EventListener<Event>;
|
|
5
4
|
onScrollCapture?: EventListener<Event>;
|