@fictjs/runtime 0.0.3 → 0.0.4
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/README.md +1 -1
- package/dist/index.cjs +33 -29
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.dev.js +36 -31
- package/dist/index.dev.js.map +1 -1
- package/dist/index.js +33 -30
- package/dist/index.js.map +1 -1
- package/dist/jsx-dev-runtime.d.cts +671 -0
- package/dist/jsx-dev-runtime.d.ts +671 -0
- package/dist/slim.cjs +32 -29
- package/dist/slim.cjs.map +1 -1
- package/dist/slim.js +32 -29
- package/dist/slim.js.map +1 -1
- package/package.json +2 -2
- package/src/binding.ts +49 -31
- package/src/index.ts +1 -0
package/dist/index.js
CHANGED
|
@@ -1838,6 +1838,27 @@ function isReactive(value) {
|
|
|
1838
1838
|
function unwrap2(value) {
|
|
1839
1839
|
return isReactive(value) ? value() : value;
|
|
1840
1840
|
}
|
|
1841
|
+
function callEventHandler(handler, event, node, data) {
|
|
1842
|
+
if (!handler) return;
|
|
1843
|
+
const context = node ?? event.currentTarget ?? void 0;
|
|
1844
|
+
const invoke = (fn) => {
|
|
1845
|
+
if (typeof fn === "function") {
|
|
1846
|
+
const result = data === void 0 ? fn.call(context, event) : fn.call(context, data, event);
|
|
1847
|
+
if (typeof result === "function" && result !== fn) {
|
|
1848
|
+
if (data === void 0) {
|
|
1849
|
+
result.call(context, event);
|
|
1850
|
+
} else {
|
|
1851
|
+
result.call(context, data, event);
|
|
1852
|
+
}
|
|
1853
|
+
} else if (result && typeof result.handleEvent === "function") {
|
|
1854
|
+
result.handleEvent.call(result, event);
|
|
1855
|
+
}
|
|
1856
|
+
} else if (fn && typeof fn.handleEvent === "function") {
|
|
1857
|
+
fn.handleEvent.call(fn, event);
|
|
1858
|
+
}
|
|
1859
|
+
};
|
|
1860
|
+
invoke(handler);
|
|
1861
|
+
}
|
|
1841
1862
|
var PRIMITIVE_PROXY = Symbol("fict:primitive-proxy");
|
|
1842
1863
|
var PRIMITIVE_PROXY_RAW_VALUE = Symbol("fict:primitive-proxy:raw-value");
|
|
1843
1864
|
function unwrapPrimitive(value) {
|
|
@@ -2351,14 +2372,10 @@ function globalEventHandler(e) {
|
|
|
2351
2372
|
const hasData = rawData !== void 0;
|
|
2352
2373
|
const resolvedNodeData = hasData ? resolveData(rawData) : void 0;
|
|
2353
2374
|
if (typeof handler === "function") {
|
|
2354
|
-
|
|
2355
|
-
handler.call(node, resolvedNodeData, e);
|
|
2356
|
-
} else {
|
|
2357
|
-
handler.call(node, e);
|
|
2358
|
-
}
|
|
2375
|
+
callEventHandler(handler, e, node, hasData ? resolvedNodeData : void 0);
|
|
2359
2376
|
} else if (Array.isArray(handler)) {
|
|
2360
2377
|
const tupleData = resolveData(handler[1]);
|
|
2361
|
-
handler[0]
|
|
2378
|
+
callEventHandler(handler[0], e, node, tupleData);
|
|
2362
2379
|
}
|
|
2363
2380
|
if (e.cancelBubble) return false;
|
|
2364
2381
|
}
|
|
@@ -2422,23 +2439,15 @@ function bindEvent(el, eventName, handler, options2) {
|
|
|
2422
2439
|
if (DelegatedEvents.has(eventName) && !options2) {
|
|
2423
2440
|
const key = `$$${eventName}`;
|
|
2424
2441
|
delegateEvents([eventName]);
|
|
2425
|
-
const createWrapped = (resolve) => {
|
|
2426
|
-
const wrapped2 = function(...args) {
|
|
2427
|
-
try {
|
|
2428
|
-
const fn = resolve();
|
|
2429
|
-
if (typeof fn === "function") {
|
|
2430
|
-
return fn.apply(this, args);
|
|
2431
|
-
} else if (fn && typeof fn.handleEvent === "function") {
|
|
2432
|
-
return fn.handleEvent.apply(fn, args);
|
|
2433
|
-
}
|
|
2434
|
-
} catch (err) {
|
|
2435
|
-
handleError(err, { source: "event", eventName }, rootRef);
|
|
2436
|
-
}
|
|
2437
|
-
};
|
|
2438
|
-
return wrapped2;
|
|
2439
|
-
};
|
|
2440
2442
|
const resolveHandler = isReactive(handler) ? handler : () => handler;
|
|
2441
|
-
el[key] =
|
|
2443
|
+
el[key] = function(...args) {
|
|
2444
|
+
try {
|
|
2445
|
+
const fn = resolveHandler();
|
|
2446
|
+
callEventHandler(fn, args[0], el);
|
|
2447
|
+
} catch (err) {
|
|
2448
|
+
handleError(err, { source: "event", eventName }, rootRef);
|
|
2449
|
+
}
|
|
2450
|
+
};
|
|
2442
2451
|
return () => {
|
|
2443
2452
|
el[key] = void 0;
|
|
2444
2453
|
};
|
|
@@ -2447,13 +2456,7 @@ function bindEvent(el, eventName, handler, options2) {
|
|
|
2447
2456
|
const wrapped = (event) => {
|
|
2448
2457
|
try {
|
|
2449
2458
|
const resolved = getHandler();
|
|
2450
|
-
|
|
2451
|
-
;
|
|
2452
|
-
resolved(event);
|
|
2453
|
-
} else if (resolved && typeof resolved.handleEvent === "function") {
|
|
2454
|
-
;
|
|
2455
|
-
resolved.handleEvent(event);
|
|
2456
|
-
}
|
|
2459
|
+
callEventHandler(resolved, event, el);
|
|
2457
2460
|
} catch (err) {
|
|
2458
2461
|
if (handleError(err, { source: "event", eventName }, rootRef)) {
|
|
2459
2462
|
return;
|
|
@@ -4128,6 +4131,6 @@ function createFineGrainedKeyedList(getItems, keyFn, renderItem, needsIndex) {
|
|
|
4128
4131
|
};
|
|
4129
4132
|
}
|
|
4130
4133
|
|
|
4131
|
-
export { $effect, $memo, $state, Aliases, BooleanAttributes, ChildProperties, DelegatedEvents, ErrorBoundary, Fragment, Properties, SVGElements, SVGNamespace, Suspense, UnitlessStyles, __fictPopContext, __fictProp, __fictPropsRest, __fictPushContext, __fictRender, __fictResetContext, __fictUseContext, __fictUseEffect, __fictUseMemo, __fictUseSignal, addEventListener, assign, batch2 as batch, bindAttribute, bindClass, bindEvent, bindProperty, bindRef, bindStyle, bindText, classList, clearDelegatedEvents, createAttributeBinding, createChildBinding, createClassBinding, createConditional, createEffect, createElement, createKeyedBlock, createKeyedList, createKeyedListContainer, createList, createMemo, createPortal, createPropsProxy, createRef, createRenderEffect, createRoot, createSelector, createShow, signal as createSignal, createStore, createStyleBinding, createSuspenseToken, createTextBinding, createVersionedSignal, delegateEvents, destroyMarkerBlock, getDevtoolsHook, getFirstNodeAfter, getPropAlias, insert, insertNodesBefore, isNodeBetweenMarkers, isReactive, mergeProps, moveMarkerBlock, moveNodesBefore, onCleanup, onDestroy, onMount, __fictProp as prop, reconcileArrays, removeNodes, render, setCycleProtectionOptions, spread, startTransition, template, toNodeArray, untrack2 as untrack, unwrap2 as unwrap, unwrapPrimitive, useDeferredValue, useProp, useTransition };
|
|
4134
|
+
export { $effect, $memo, $state, Aliases, BooleanAttributes, ChildProperties, DelegatedEvents, ErrorBoundary, Fragment, Properties, SVGElements, SVGNamespace, Suspense, UnitlessStyles, __fictPopContext, __fictProp, __fictPropsRest, __fictPushContext, __fictRender, __fictResetContext, __fictUseContext, __fictUseEffect, __fictUseMemo, __fictUseSignal, addEventListener, assign, batch2 as batch, bindAttribute, bindClass, bindEvent, bindProperty, bindRef, bindStyle, bindText, callEventHandler, classList, clearDelegatedEvents, createAttributeBinding, createChildBinding, createClassBinding, createConditional, createEffect, createElement, createKeyedBlock, createKeyedList, createKeyedListContainer, createList, createMemo, createPortal, createPropsProxy, createRef, createRenderEffect, createRoot, createSelector, createShow, signal as createSignal, createStore, createStyleBinding, createSuspenseToken, createTextBinding, createVersionedSignal, delegateEvents, destroyMarkerBlock, getDevtoolsHook, getFirstNodeAfter, getPropAlias, insert, insertNodesBefore, isNodeBetweenMarkers, isReactive, mergeProps, moveMarkerBlock, moveNodesBefore, onCleanup, onDestroy, onMount, __fictProp as prop, reconcileArrays, removeNodes, render, setCycleProtectionOptions, spread, startTransition, template, toNodeArray, untrack2 as untrack, unwrap2 as unwrap, unwrapPrimitive, useDeferredValue, useProp, useTransition };
|
|
4132
4135
|
//# sourceMappingURL=index.js.map
|
|
4133
4136
|
//# sourceMappingURL=index.js.map
|