defuss 3.4.7 → 3.4.8
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/{dom-DIfHWdHZ.cjs → dom-D--m76Im.cjs} +24 -0
- package/dist/{dom-DhkFpQzW.mjs → dom-_OdBXxSy.mjs} +24 -1
- package/dist/{index-CDeQTFKH.d.ts → index-CeFAHwJi.d.ts} +35 -30
- package/dist/index.cjs +72 -2
- package/dist/index.d.ts +89 -4
- package/dist/index.mjs +71 -4
- package/dist/{mount-0BKlcRFL.mjs → mount-BcFWqQDc.mjs} +1 -1
- package/dist/{mount-C9aDnSHs.cjs → mount-CY0wDye_.cjs} +1 -1
- package/dist/render/client.cjs +2 -2
- package/dist/render/client.d.ts +2 -2
- package/dist/render/client.mjs +3 -3
- package/dist/render/dev/index.cjs +1 -1
- package/dist/render/dev/index.d.ts +1 -1
- package/dist/render/dev/index.mjs +1 -1
- package/dist/render/index.cjs +2 -2
- package/dist/render/index.d.ts +2 -2
- package/dist/render/index.mjs +2 -2
- package/dist/render/server.cjs +2 -2
- package/dist/render/server.d.ts +2 -2
- package/dist/render/server.mjs +3 -3
- package/package.json +2 -2
|
@@ -271,6 +271,20 @@ function unregisterComponent(el) {
|
|
|
271
271
|
componentRegistry.delete(el);
|
|
272
272
|
}
|
|
273
273
|
|
|
274
|
+
function reactive(config, target) {
|
|
275
|
+
const stores = Array.isArray(config.store) ? config.store : [config.store];
|
|
276
|
+
const ref = target instanceof HTMLElement ? { current: target } : target;
|
|
277
|
+
const update = () => {
|
|
278
|
+
dequery(ref).jsx(config.render());
|
|
279
|
+
};
|
|
280
|
+
update();
|
|
281
|
+
const unsubscribes = stores.map((s) => s.subscribe(update));
|
|
282
|
+
return () => {
|
|
283
|
+
unsubscribes.forEach((unsub) => unsub());
|
|
284
|
+
config.cleanup?.();
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
|
|
274
288
|
const emptyImpl = (nodes) => {
|
|
275
289
|
nodes.forEach((el) => {
|
|
276
290
|
const element = el;
|
|
@@ -1040,6 +1054,15 @@ class CallChainImpl {
|
|
|
1040
1054
|
}
|
|
1041
1055
|
return this;
|
|
1042
1056
|
}
|
|
1057
|
+
// --- Reactive ---
|
|
1058
|
+
reactive(config) {
|
|
1059
|
+
this._nodes.forEach((el) => {
|
|
1060
|
+
if (el instanceof HTMLElement) {
|
|
1061
|
+
reactive(config, el);
|
|
1062
|
+
}
|
|
1063
|
+
});
|
|
1064
|
+
return this;
|
|
1065
|
+
}
|
|
1043
1066
|
}
|
|
1044
1067
|
function dequery(selectorRefOrEl, options = getDefaultDequeryOptions()) {
|
|
1045
1068
|
if (typeof selectorRefOrEl === "function") {
|
|
@@ -2598,6 +2621,7 @@ exports.parseEventPropName = parseEventPropName;
|
|
|
2598
2621
|
exports.performTransition = performTransition;
|
|
2599
2622
|
exports.processAllFormElements = processAllFormElements;
|
|
2600
2623
|
exports.queueCallback = queueCallback;
|
|
2624
|
+
exports.reactive = reactive;
|
|
2601
2625
|
exports.registerComponent = registerComponent;
|
|
2602
2626
|
exports.registerDelegatedEvent = registerDelegatedEvent;
|
|
2603
2627
|
exports.removeDelegatedEvent = removeDelegatedEvent;
|
|
@@ -269,6 +269,20 @@ function unregisterComponent(el) {
|
|
|
269
269
|
componentRegistry.delete(el);
|
|
270
270
|
}
|
|
271
271
|
|
|
272
|
+
function reactive(config, target) {
|
|
273
|
+
const stores = Array.isArray(config.store) ? config.store : [config.store];
|
|
274
|
+
const ref = target instanceof HTMLElement ? { current: target } : target;
|
|
275
|
+
const update = () => {
|
|
276
|
+
dequery(ref).jsx(config.render());
|
|
277
|
+
};
|
|
278
|
+
update();
|
|
279
|
+
const unsubscribes = stores.map((s) => s.subscribe(update));
|
|
280
|
+
return () => {
|
|
281
|
+
unsubscribes.forEach((unsub) => unsub());
|
|
282
|
+
config.cleanup?.();
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
|
|
272
286
|
const emptyImpl = (nodes) => {
|
|
273
287
|
nodes.forEach((el) => {
|
|
274
288
|
const element = el;
|
|
@@ -1038,6 +1052,15 @@ class CallChainImpl {
|
|
|
1038
1052
|
}
|
|
1039
1053
|
return this;
|
|
1040
1054
|
}
|
|
1055
|
+
// --- Reactive ---
|
|
1056
|
+
reactive(config) {
|
|
1057
|
+
this._nodes.forEach((el) => {
|
|
1058
|
+
if (el instanceof HTMLElement) {
|
|
1059
|
+
reactive(config, el);
|
|
1060
|
+
}
|
|
1061
|
+
});
|
|
1062
|
+
return this;
|
|
1063
|
+
}
|
|
1041
1064
|
}
|
|
1042
1065
|
function dequery(selectorRefOrEl, options = getDefaultDequeryOptions()) {
|
|
1043
1066
|
if (typeof selectorRefOrEl === "function") {
|
|
@@ -2542,4 +2565,4 @@ function htmlStringToVNodes(html, Parser) {
|
|
|
2542
2565
|
return vNodes;
|
|
2543
2566
|
}
|
|
2544
2567
|
|
|
2545
|
-
export { $,
|
|
2568
|
+
export { $, getTransitionStyles as A, globalScopeDomApis as B, CAPTURE_ONLY_EVENTS as C, DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE as D, handleLifecycleEventsForOnMount as E, Fragment as F, htmlStringToVNodes as G, isComponentRoot as H, isDequery as I, isDequeryOptionsObject as J, isHTML as K, isJSX as L, isMarkup as M, isRef as N, isSVG as O, jsx as P, jsxDEV as Q, REF_ATTRIBUTE_NAME as R, jsxs as S, nsMap as T, observeUnmount as U, parseDOM as V, parseEventPropName as W, XLINK_ATTRIBUTE_NAME as X, performTransition as Y, processAllFormElements as Z, queueCallback as _, CLASS_ATTRIBUTE_NAME as a, reactive as a0, registerComponent as a1, registerDelegatedEvent as a2, removeDelegatedEvent as a3, removeDelegatedEventByKey as a4, removeElementEvent as a5, render as a6, renderInto as a7, renderIsomorphicAsync as a8, renderIsomorphicSync as a9, renderMarkup as aa, replaceDomWithVdom as ab, scrollHelper as ac, shallowEquals as ad, unregisterComponent as ae, updateDom as af, updateDomWithVdom as ag, waitForDOM as ah, webstorage as ai, CallChainImpl as b, DEFAULT_TRANSITION_CONFIG as c, XMLNS_ATTRIBUTE_NAME as d, addElementEvent as e, applyStyles as f, areDomNodesEqual as g, checkElementVisibility as h, clearDelegatedEvents as i, clearDelegatedEventsDeep as j, clearElementEvents as k, createInPlaceErrorMessageVNode as l, createRef as m, createStore as n, deepEquals as o, dequery as p, domNodeToVNode as q, emptyImpl as r, getAllFormValues as s, getComponentInstance as t, getDefaultDequeryOptions as u, getEventMap as v, getMimeType as w, getRegisteredEventKeys as x, getRegisteredEventTypes as y, getRenderer as z };
|
|
@@ -20,6 +20,34 @@ interface PersistenceProviderImpl<T> {
|
|
|
20
20
|
type PersistenceProviderType = "session" | "local" | "memory";
|
|
21
21
|
type PersistenceProviderOptions = MemoryProviderOptions;
|
|
22
22
|
|
|
23
|
+
type Listener<T> = (newValue: T, oldValue?: T, changedKey?: string) => void;
|
|
24
|
+
type EqualsFn<T> = (a: T, b: T) => boolean;
|
|
25
|
+
interface StoreOptions<T> {
|
|
26
|
+
/** Custom equality function. Default: Object.is (shallow identity) */
|
|
27
|
+
equals?: EqualsFn<T>;
|
|
28
|
+
}
|
|
29
|
+
interface Store<T> {
|
|
30
|
+
value: T;
|
|
31
|
+
/** Get value at path, or entire store if no path */
|
|
32
|
+
get: <D = T>(path?: string) => D;
|
|
33
|
+
/** Set value at path, or replace entire store if no path */
|
|
34
|
+
set: <D = T>(pathOrValue: string | D, value?: D) => void;
|
|
35
|
+
/** Get entire store value (clearer API than get()) */
|
|
36
|
+
getRaw: () => T;
|
|
37
|
+
/** Replace entire store value (clearer API than set(value)) */
|
|
38
|
+
setRaw: (value: T) => void;
|
|
39
|
+
/** Reset store to initial value or provided value */
|
|
40
|
+
reset: (value?: T) => void;
|
|
41
|
+
subscribe: (listener: Listener<T>) => () => void;
|
|
42
|
+
persist: (key: string, provider?: PersistenceProviderType) => void;
|
|
43
|
+
restore: (key: string, provider?: PersistenceProviderType) => void;
|
|
44
|
+
}
|
|
45
|
+
/** Shallow identity comparison (opt-in for performance) */
|
|
46
|
+
declare const shallowEquals: <T>(a: T, b: T) => boolean;
|
|
47
|
+
/** Deep equality via JSON (default - backward compatible) */
|
|
48
|
+
declare const deepEquals: <T>(a: T, b: T) => boolean;
|
|
49
|
+
declare const createStore: <T>(initialValue: T, options?: StoreOptions<T>) => Store<T>;
|
|
50
|
+
|
|
23
51
|
type TransitionType = "fade" | "slide-left" | "slide-right" | "shake" | "none";
|
|
24
52
|
interface TransitionStyles {
|
|
25
53
|
enter: Record<string, string>;
|
|
@@ -169,6 +197,11 @@ declare class CallChainImpl<NT = DequerySyncMethodReturnType, ET extends Dequery
|
|
|
169
197
|
debug(cb: (chain: CallChainImpl<NT, ET>) => void): ET;
|
|
170
198
|
dispose(): void;
|
|
171
199
|
ready(callback?: () => void): ET;
|
|
200
|
+
reactive(config: {
|
|
201
|
+
store: Store<any> | Store<any>[];
|
|
202
|
+
render: () => JSX.Element;
|
|
203
|
+
cleanup?: () => void;
|
|
204
|
+
}): ET;
|
|
172
205
|
}
|
|
173
206
|
type Dequery<NT> = CallChainImpl<NT, any>;
|
|
174
207
|
declare function dequery<T extends EventTarget>(selectorRefOrEl: T, options?: DequeryOptions<T> & ElementCreationOptions): Dequery<T>;
|
|
@@ -184,34 +217,6 @@ declare function isDequery(obj: unknown): obj is CallChainImpl;
|
|
|
184
217
|
declare function isDequeryOptionsObject(o: object): boolean;
|
|
185
218
|
declare function getDefaultDequeryOptions<NT>(): DequeryOptions<NT>;
|
|
186
219
|
|
|
187
|
-
type Listener<T> = (newValue: T, oldValue?: T, changedKey?: string) => void;
|
|
188
|
-
type EqualsFn<T> = (a: T, b: T) => boolean;
|
|
189
|
-
interface StoreOptions<T> {
|
|
190
|
-
/** Custom equality function. Default: Object.is (shallow identity) */
|
|
191
|
-
equals?: EqualsFn<T>;
|
|
192
|
-
}
|
|
193
|
-
interface Store<T> {
|
|
194
|
-
value: T;
|
|
195
|
-
/** Get value at path, or entire store if no path */
|
|
196
|
-
get: <D = T>(path?: string) => D;
|
|
197
|
-
/** Set value at path, or replace entire store if no path */
|
|
198
|
-
set: <D = T>(pathOrValue: string | D, value?: D) => void;
|
|
199
|
-
/** Get entire store value (clearer API than get()) */
|
|
200
|
-
getRaw: () => T;
|
|
201
|
-
/** Replace entire store value (clearer API than set(value)) */
|
|
202
|
-
setRaw: (value: T) => void;
|
|
203
|
-
/** Reset store to initial value or provided value */
|
|
204
|
-
reset: (value?: T) => void;
|
|
205
|
-
subscribe: (listener: Listener<T>) => () => void;
|
|
206
|
-
persist: (key: string, provider?: PersistenceProviderType) => void;
|
|
207
|
-
restore: (key: string, provider?: PersistenceProviderType) => void;
|
|
208
|
-
}
|
|
209
|
-
/** Shallow identity comparison (opt-in for performance) */
|
|
210
|
-
declare const shallowEquals: <T>(a: T, b: T) => boolean;
|
|
211
|
-
/** Deep equality via JSON (default - backward compatible) */
|
|
212
|
-
declare const deepEquals: <T>(a: T, b: T) => boolean;
|
|
213
|
-
declare const createStore: <T>(initialValue: T, options?: StoreOptions<T>) => Store<T>;
|
|
214
|
-
|
|
215
220
|
declare global {
|
|
216
221
|
var __defuss_document: Document;
|
|
217
222
|
var __defuss_window: Window;
|
|
@@ -1320,5 +1325,5 @@ declare function updateDom<NT>(input: string | RenderInput | Ref<NodeType> | Nod
|
|
|
1320
1325
|
declare const isRef: <NT extends Node | Element | Text | null = HTMLElement, ST = any>(obj: any) => obj is Ref<NT, ST>;
|
|
1321
1326
|
declare function createRef<NT extends DOMElement = DOMElement, ST = any>(refUpdateFn?: RefUpdateFn<ST>, defaultState?: ST): Ref<NT, ST>;
|
|
1322
1327
|
|
|
1323
|
-
export { CLASS_ATTRIBUTE_NAME as C, DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE as D,
|
|
1324
|
-
export type {
|
|
1328
|
+
export { $, Fragment as B, CLASS_ATTRIBUTE_NAME as C, DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE as D, REF_ATTRIBUTE_NAME as Z, dequery as aA, emptyImpl as aB, getAllFormValues as aC, getDefaultDequeryOptions as aD, getRenderer as aE, getTransitionStyles as aF, globalScopeDomApis as aG, handleLifecycleEventsForOnMount as aH, isDequery as aI, isDequeryOptionsObject as aJ, isJSX as aK, isRef as aL, jsx as aM, jsxDEV as aN, jsxs as aO, nsMap as aP, observeUnmount as aQ, performTransition as aR, render as aS, renderInto as aT, renderIsomorphicAsync as aU, renderIsomorphicSync as aV, scrollHelper as aW, shallowEquals as aX, updateDom as aY, XLINK_ATTRIBUTE_NAME as at, XMLNS_ATTRIBUTE_NAME as au, applyStyles as av, createInPlaceErrorMessageVNode as aw, createRef as ax, createStore as ay, deepEquals as az, CallChainImpl as f, DEFAULT_TRANSITION_CONFIG as h };
|
|
1329
|
+
export type { AllHTMLElements as A, ElementCreationOptions as E, FC as F, FunctionComponent as G, Globals as H, JsxSourceInfo as I, JsxRuntimeHookFn as J, KeyFrameProperties as K, Listener as L, Maybe as M, MemoryStorage as N, MiddlewareFn as O, MountHandler as P, NodeType as Q, OneOrMany as R, ParentElementInput as S, ParentElementInputAsync as T, PersistenceProviderImpl as U, PersistenceProviderOptions as V, PersistenceProviderType as W, Position as X, Props as Y, Ref as _, AnyEventHandler as a, RefUpdateFn as a0, RefUpdateRenderFn as a1, RefUpdateRenderFnInput as a2, RenderInput as a3, RenderNodeInput as a4, RenderResult as a5, RenderResultNode as a6, Store as a7, StoreOptions as a8, SyncRenderInput as a9, SyncRenderResult as aa, TargetOf as ab, TransitionConfig as ac, TransitionStyles as ad, TransitionType as ae, TransitionsEasing as af, UnionToIntersection as ag, UnmountHandler as ah, VAttributes as ai, VNode as aj, VNodeAttributes as ak, VNodeChild as al, VNodeChildren as am, VNodeKey as an, VNodeRef as ao, VNodeRefCallback as ap, VNodeRefObject as aq, VNodeType as ar, WebStorage as as, AsyncDefussChild as b, AsyncFC as c, AsyncFunctionComponent as d, CSSProperties as e, Children as g, DOMElement as i, DOMPropValue as j, DefussChild as k, DefussChildren as l, DefussClassValue as m, DefussKey as n, Dequery as o, DequeryOptions as p, DequerySyncMethodReturnType as q, Dimensions as r, DomAbstractionImpl as s, ElementProps as t, EqualsFn as u, EventMapFor as v, EventMapForAny as w, FontFaceProperties as x, FormFieldValue as y, FormKeyValues as z };
|
package/dist/index.cjs
CHANGED
|
@@ -1,11 +1,78 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var dom = require('./dom-
|
|
4
|
-
var mount = require('./mount-
|
|
3
|
+
var dom = require('./dom-D--m76Im.cjs');
|
|
4
|
+
var mount = require('./mount-CY0wDye_.cjs');
|
|
5
5
|
require('defuss-runtime');
|
|
6
6
|
|
|
7
7
|
const inDevMode = typeof process !== "undefined" && process.env ? process.env.NODE_ENV !== "production" : false;
|
|
8
8
|
|
|
9
|
+
function computed(stores, fn) {
|
|
10
|
+
const storeList = Array.isArray(stores) ? stores : [stores];
|
|
11
|
+
let value = fn(...storeList.map((s) => s.value));
|
|
12
|
+
const listeners = [];
|
|
13
|
+
const recalculate = () => {
|
|
14
|
+
const oldValue = value;
|
|
15
|
+
value = fn(...storeList.map((s) => s.value));
|
|
16
|
+
if (value !== oldValue) {
|
|
17
|
+
listeners.forEach((l) => l(value, oldValue));
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
storeList.map((s) => s.subscribe(recalculate));
|
|
21
|
+
return {
|
|
22
|
+
get value() {
|
|
23
|
+
return value;
|
|
24
|
+
},
|
|
25
|
+
get: () => value,
|
|
26
|
+
set: () => {
|
|
27
|
+
throw new Error("Computed stores are read-only");
|
|
28
|
+
},
|
|
29
|
+
getRaw: () => value,
|
|
30
|
+
setRaw: () => {
|
|
31
|
+
throw new Error("Computed stores are read-only");
|
|
32
|
+
},
|
|
33
|
+
reset: () => {
|
|
34
|
+
},
|
|
35
|
+
subscribe: (listener) => {
|
|
36
|
+
listeners.push(listener);
|
|
37
|
+
return () => {
|
|
38
|
+
const idx = listeners.indexOf(listener);
|
|
39
|
+
if (idx >= 0) listeners.splice(idx, 1);
|
|
40
|
+
};
|
|
41
|
+
},
|
|
42
|
+
persist: () => {
|
|
43
|
+
},
|
|
44
|
+
restore: () => {
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const Reactive = ({
|
|
50
|
+
store,
|
|
51
|
+
render,
|
|
52
|
+
cleanup,
|
|
53
|
+
tag = "div",
|
|
54
|
+
className,
|
|
55
|
+
ref = dom.createRef(),
|
|
56
|
+
...props
|
|
57
|
+
}) => {
|
|
58
|
+
const reactiveRef = ref || dom.createRef();
|
|
59
|
+
let cleanupFn;
|
|
60
|
+
return /* @__PURE__ */ dom.jsx(
|
|
61
|
+
"tag",
|
|
62
|
+
{
|
|
63
|
+
ref: reactiveRef,
|
|
64
|
+
class: className,
|
|
65
|
+
...props,
|
|
66
|
+
onMount: () => {
|
|
67
|
+
cleanupFn = dom.reactive({ store, render, cleanup }, reactiveRef);
|
|
68
|
+
},
|
|
69
|
+
onUnmount: () => {
|
|
70
|
+
cleanupFn?.();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
);
|
|
74
|
+
};
|
|
75
|
+
|
|
9
76
|
const VARIABLE_REGEX = /{([^}]*)}/g;
|
|
10
77
|
const DOUBLE_BRACE_REGEX = /\{\{([^}]*)\}\}/g;
|
|
11
78
|
const interpolate = (template, replacements) => {
|
|
@@ -764,6 +831,7 @@ exports.parseEventPropName = dom.parseEventPropName;
|
|
|
764
831
|
exports.performTransition = dom.performTransition;
|
|
765
832
|
exports.processAllFormElements = dom.processAllFormElements;
|
|
766
833
|
exports.queueCallback = dom.queueCallback;
|
|
834
|
+
exports.reactive = dom.reactive;
|
|
767
835
|
exports.registerComponent = dom.registerComponent;
|
|
768
836
|
exports.registerDelegatedEvent = dom.registerDelegatedEvent;
|
|
769
837
|
exports.removeDelegatedEvent = dom.removeDelegatedEvent;
|
|
@@ -785,6 +853,7 @@ exports.webstorage = dom.webstorage;
|
|
|
785
853
|
exports.mount = mount.mount;
|
|
786
854
|
exports.unmount = mount.unmount;
|
|
787
855
|
exports.Async = Async;
|
|
856
|
+
exports.Reactive = Reactive;
|
|
788
857
|
exports.Redirect = Redirect;
|
|
789
858
|
exports.Route = Route;
|
|
790
859
|
exports.Router = Router;
|
|
@@ -794,6 +863,7 @@ exports.Suspense = Suspense;
|
|
|
794
863
|
exports.T = T;
|
|
795
864
|
exports.Trans = Trans;
|
|
796
865
|
exports.changeLanguage = changeLanguage;
|
|
866
|
+
exports.computed = computed;
|
|
797
867
|
exports.createI18n = createI18n;
|
|
798
868
|
exports.createTrans = createTrans;
|
|
799
869
|
exports.getLanguage = getLanguage;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
1
|
+
import { W as PersistenceProviderType, V as PersistenceProviderOptions, U as PersistenceProviderImpl, aj as VNode, ak as VNodeAttributes, Q as NodeType, a3 as RenderInput, H as Globals, a7 as Store, _ as Ref, F as FC, t as ElementProps, Y as Props, i as DOMElement, al as VNodeChild, ac as TransitionConfig, b as AsyncDefussChild } from './index-CeFAHwJi.js';
|
|
2
|
+
export { $, A as AllHTMLElements, a as AnyEventHandler, c as AsyncFC, d as AsyncFunctionComponent, C as CLASS_ATTRIBUTE_NAME, e as CSSProperties, f as CallChainImpl, g as Children, D as DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE, h as DEFAULT_TRANSITION_CONFIG, j as DOMPropValue, k as DefussChild, l as DefussChildren, m as DefussClassValue, n as DefussKey, o as Dequery, p as DequeryOptions, q as DequerySyncMethodReturnType, r as Dimensions, s as DomAbstractionImpl, E as ElementCreationOptions, u as EqualsFn, v as EventMapFor, w as EventMapForAny, x as FontFaceProperties, y as FormFieldValue, z as FormKeyValues, B as Fragment, G as FunctionComponent, J as JsxRuntimeHookFn, I as JsxSourceInfo, K as KeyFrameProperties, L as Listener, M as Maybe, N as MemoryStorage, O as MiddlewareFn, P as MountHandler, R as OneOrMany, S as ParentElementInput, T as ParentElementInputAsync, X as Position, Z as REF_ATTRIBUTE_NAME, a0 as RefUpdateFn, a1 as RefUpdateRenderFn, a2 as RefUpdateRenderFnInput, a4 as RenderNodeInput, a5 as RenderResult, a6 as RenderResultNode, a8 as StoreOptions, a9 as SyncRenderInput, aa as SyncRenderResult, ab as TargetOf, ad as TransitionStyles, ae as TransitionType, af as TransitionsEasing, ag as UnionToIntersection, ah as UnmountHandler, ai as VAttributes, am as VNodeChildren, an as VNodeKey, ao as VNodeRef, ap as VNodeRefCallback, aq as VNodeRefObject, ar as VNodeType, as as WebStorage, at as XLINK_ATTRIBUTE_NAME, au as XMLNS_ATTRIBUTE_NAME, av as applyStyles, aw as createInPlaceErrorMessageVNode, ax as createRef, ay as createStore, az as deepEquals, aA as dequery, aB as emptyImpl, aC as getAllFormValues, aD as getDefaultDequeryOptions, aE as getRenderer, aF as getTransitionStyles, aG as globalScopeDomApis, aH as handleLifecycleEventsForOnMount, aI as isDequery, aJ as isDequeryOptionsObject, aK as isJSX, aL as isRef, aM as jsx, aN as jsxDEV, aO as jsxs, aP as nsMap, aQ as observeUnmount, aR as performTransition, aS as render, aT as renderInto, aU as renderIsomorphicAsync, aV as renderIsomorphicSync, aW as scrollHelper, aX as shallowEquals, aY as updateDom } from './index-CeFAHwJi.js';
|
|
3
3
|
export { CAPTURE_ONLY_EVENTS, ComponentInstance, DelegatedEventOptions, DelegatedPhase, ParsedEventProp, clearDelegatedEvents, clearDelegatedEventsDeep, getComponentInstance, getRegisteredEventKeys, getRegisteredEventTypes, isComponentRoot, mount, parseEventPropName, registerComponent, registerDelegatedEvent, removeDelegatedEvent, removeDelegatedEventByKey, unmount, unregisterComponent } from './render/index.js';
|
|
4
4
|
import 'csstype';
|
|
5
5
|
|
|
@@ -69,6 +69,91 @@ declare function htmlStringToVNodes(html: string, Parser: typeof DOMParser): Arr
|
|
|
69
69
|
|
|
70
70
|
declare const queueCallback: <T extends any[]>(cb: (...args: T) => void) => (...args: T) => void;
|
|
71
71
|
|
|
72
|
+
/**
|
|
73
|
+
* Creates a computed (derived) store from other stores.
|
|
74
|
+
* The computed value is recalculated when any dependency store changes.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```ts
|
|
78
|
+
* const countStore = createStore({ count: 0 });
|
|
79
|
+
* const doubled = computed(countStore, (v) => v.count * 2);
|
|
80
|
+
*
|
|
81
|
+
* // Or with multiple stores:
|
|
82
|
+
* const a = createStore({ value: 1 });
|
|
83
|
+
* const b = createStore({ value: 2 });
|
|
84
|
+
* const sum = computed([a, b], (av, bv) => av.value + bv.value);
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
declare function computed<T>(stores: Store<any> | Store<any>[], fn: (...values: any[]) => T): Store<T>;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Configuration for reactive rendering.
|
|
91
|
+
*/
|
|
92
|
+
interface ReactiveConfig {
|
|
93
|
+
/** One or more stores to subscribe to. */
|
|
94
|
+
store: Store<any> | Store<any>[];
|
|
95
|
+
/** Render function that returns JSX to render into the target. */
|
|
96
|
+
render: () => JSX.Element;
|
|
97
|
+
/** Optional cleanup function called on unmount. */
|
|
98
|
+
cleanup?: () => void;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Core reactive utility - subscribes to store(s) and re-renders JSX on changes.
|
|
102
|
+
* Returns a cleanup function to unsubscribe all stores and call optional cleanup.
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```ts
|
|
106
|
+
* const store = createStore({ count: 0 });
|
|
107
|
+
* const ref = createRef<HTMLDivElement>();
|
|
108
|
+
*
|
|
109
|
+
* // In onMount:
|
|
110
|
+
* const cleanup = reactive({
|
|
111
|
+
* store,
|
|
112
|
+
* render: () => <div>Count: {store.value.count}</div>,
|
|
113
|
+
* cleanup: () => console.log("unmounted")
|
|
114
|
+
* }, ref);
|
|
115
|
+
*
|
|
116
|
+
* // Later, to clean up:
|
|
117
|
+
* cleanup();
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
declare function reactive(config: ReactiveConfig, target: Ref<HTMLElement> | HTMLElement): () => void;
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Props for the Reactive component.
|
|
124
|
+
*/
|
|
125
|
+
interface ReactiveProps extends ElementProps<HTMLDivElement> {
|
|
126
|
+
/** One or more stores to subscribe to. */
|
|
127
|
+
store: ReactiveConfig["store"];
|
|
128
|
+
/** Render function that returns JSX to render into the component. */
|
|
129
|
+
render: ReactiveConfig["render"];
|
|
130
|
+
/** Optional cleanup function called on unmount. */
|
|
131
|
+
cleanup?: ReactiveConfig["cleanup"];
|
|
132
|
+
/** Wrapper element tag name. Default: "div". */
|
|
133
|
+
tag?: string;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* A component that automatically re-renders when its store(s) change.
|
|
137
|
+
* Handles subscription setup on mount and cleanup on unmount.
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```tsx
|
|
141
|
+
* import { Reactive, createStore } from "defuss";
|
|
142
|
+
*
|
|
143
|
+
* const store = createStore({ count: 0 });
|
|
144
|
+
*
|
|
145
|
+
* <Reactive store={store} render={() => (
|
|
146
|
+
* <div>
|
|
147
|
+
* <p>Count: {store.value.count}</p>
|
|
148
|
+
* <button onClick={() => store.set({ count: store.value.count + 1 })}>
|
|
149
|
+
* Increment
|
|
150
|
+
* </button>
|
|
151
|
+
* </div>
|
|
152
|
+
* )}/>
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
declare const Reactive: FC<ReactiveProps>;
|
|
156
|
+
|
|
72
157
|
type Resolve<T> = T extends infer U ? U : never;
|
|
73
158
|
type TranslationKeys<T, Prefix extends string = ""> = Resolve<{
|
|
74
159
|
[K in keyof T]: T[K] extends Record<string, unknown> ? TranslationKeys<T[K], `${Prefix}${K & string}.`> : `${Prefix}${K & string}`;
|
|
@@ -485,5 +570,5 @@ declare const Suspense: ({ fallback, ref, children, class: _class, className, id
|
|
|
485
570
|
children: (VNode<VNodeAttributes> | VNode<VNodeAttributes> | Promise<VNode<VNodeAttributes> | null>)[];
|
|
486
571
|
};
|
|
487
572
|
|
|
488
|
-
export { Async, AsyncDefussChild, DOMElement, FC, Globals, NodeType, PersistenceProviderImpl, PersistenceProviderOptions, PersistenceProviderType, Props, Redirect, Ref, RenderInput, Route, Router, RouterSlot, RouterSlotId, Suspense, T, Trans, TransitionConfig, VNode, VNodeAttributes, VNodeChild, addElementEvent, areDomNodesEqual, changeLanguage, checkElementVisibility, clearElementEvents, createI18n, createTrans, domNodeToVNode, getEventMap, getLanguage, getMimeType, getRouterState, htmlStringToVNodes, i18n, inDevMode, isHTML, isMarkup, isSVG, loadLanguage, matchRouteRegistrations, parseDOM, processAllFormElements, queueCallback, removeElementEvent, renderMarkup, replaceDomWithVdom, setupRouter, t, tokenizePath, updateDomWithVdom, waitForDOM, webstorage };
|
|
489
|
-
export type { AsyncProps, AsyncState, AsyncStateRef, BeforeLeaveHookFn, I18nStore, LeaveHookFn, MatchRouteRegistrationsOpts, OnHandleRouteChangeFn, OnLanguageChangeListener, OnRouteChangeFn, RedirectProps, Replacements, Resolve, RouteComponentProps, RouteContext, RouteHandler, RouteParams, RouteProps, RouteRegistration, RouteRequest, RouterConfig, RouterSlotProps, RouterStrategy, TokenizedPath, TransProps, TransRef, TranslationKeys, TranslationObject, Translations, ValidChild };
|
|
573
|
+
export { Async, AsyncDefussChild, DOMElement, ElementProps, FC, Globals, NodeType, PersistenceProviderImpl, PersistenceProviderOptions, PersistenceProviderType, Props, Reactive, Redirect, Ref, RenderInput, Route, Router, RouterSlot, RouterSlotId, Store, Suspense, T, Trans, TransitionConfig, VNode, VNodeAttributes, VNodeChild, addElementEvent, areDomNodesEqual, changeLanguage, checkElementVisibility, clearElementEvents, computed, createI18n, createTrans, domNodeToVNode, getEventMap, getLanguage, getMimeType, getRouterState, htmlStringToVNodes, i18n, inDevMode, isHTML, isMarkup, isSVG, loadLanguage, matchRouteRegistrations, parseDOM, processAllFormElements, queueCallback, reactive, removeElementEvent, renderMarkup, replaceDomWithVdom, setupRouter, t, tokenizePath, updateDomWithVdom, waitForDOM, webstorage };
|
|
574
|
+
export type { AsyncProps, AsyncState, AsyncStateRef, BeforeLeaveHookFn, I18nStore, LeaveHookFn, MatchRouteRegistrationsOpts, OnHandleRouteChangeFn, OnLanguageChangeListener, OnRouteChangeFn, ReactiveConfig, ReactiveProps, RedirectProps, Replacements, Resolve, RouteComponentProps, RouteContext, RouteHandler, RouteParams, RouteProps, RouteRegistration, RouteRequest, RouterConfig, RouterSlotProps, RouterStrategy, TokenizedPath, TransProps, TransRef, TranslationKeys, TranslationObject, Translations, ValidChild };
|
package/dist/index.mjs
CHANGED
|
@@ -1,10 +1,77 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { C as CAPTURE_ONLY_EVENTS, a as CLASS_ATTRIBUTE_NAME,
|
|
3
|
-
export { m as mount, u as unmount } from './mount-
|
|
1
|
+
import { m as createRef, P as jsx, a0 as reactive, n as createStore, $, N as isRef } from './dom-_OdBXxSy.mjs';
|
|
2
|
+
export { C as CAPTURE_ONLY_EVENTS, a as CLASS_ATTRIBUTE_NAME, b as CallChainImpl, D as DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE, c as DEFAULT_TRANSITION_CONFIG, F as Fragment, R as REF_ATTRIBUTE_NAME, X as XLINK_ATTRIBUTE_NAME, d as XMLNS_ATTRIBUTE_NAME, e as addElementEvent, f as applyStyles, g as areDomNodesEqual, h as checkElementVisibility, i as clearDelegatedEvents, j as clearDelegatedEventsDeep, k as clearElementEvents, l as createInPlaceErrorMessageVNode, o as deepEquals, p as dequery, q as domNodeToVNode, r as emptyImpl, s as getAllFormValues, t as getComponentInstance, u as getDefaultDequeryOptions, v as getEventMap, w as getMimeType, x as getRegisteredEventKeys, y as getRegisteredEventTypes, z as getRenderer, A as getTransitionStyles, B as globalScopeDomApis, E as handleLifecycleEventsForOnMount, G as htmlStringToVNodes, H as isComponentRoot, I as isDequery, J as isDequeryOptionsObject, K as isHTML, L as isJSX, M as isMarkup, O as isSVG, Q as jsxDEV, S as jsxs, T as nsMap, U as observeUnmount, V as parseDOM, W as parseEventPropName, Y as performTransition, Z as processAllFormElements, _ as queueCallback, a1 as registerComponent, a2 as registerDelegatedEvent, a3 as removeDelegatedEvent, a4 as removeDelegatedEventByKey, a5 as removeElementEvent, a6 as render, a7 as renderInto, a8 as renderIsomorphicAsync, a9 as renderIsomorphicSync, aa as renderMarkup, ab as replaceDomWithVdom, ac as scrollHelper, ad as shallowEquals, ae as unregisterComponent, af as updateDom, ag as updateDomWithVdom, ah as waitForDOM, ai as webstorage } from './dom-_OdBXxSy.mjs';
|
|
3
|
+
export { m as mount, u as unmount } from './mount-BcFWqQDc.mjs';
|
|
4
4
|
import 'defuss-runtime';
|
|
5
5
|
|
|
6
6
|
const inDevMode = typeof process !== "undefined" && process.env ? process.env.NODE_ENV !== "production" : false;
|
|
7
7
|
|
|
8
|
+
function computed(stores, fn) {
|
|
9
|
+
const storeList = Array.isArray(stores) ? stores : [stores];
|
|
10
|
+
let value = fn(...storeList.map((s) => s.value));
|
|
11
|
+
const listeners = [];
|
|
12
|
+
const recalculate = () => {
|
|
13
|
+
const oldValue = value;
|
|
14
|
+
value = fn(...storeList.map((s) => s.value));
|
|
15
|
+
if (value !== oldValue) {
|
|
16
|
+
listeners.forEach((l) => l(value, oldValue));
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
storeList.map((s) => s.subscribe(recalculate));
|
|
20
|
+
return {
|
|
21
|
+
get value() {
|
|
22
|
+
return value;
|
|
23
|
+
},
|
|
24
|
+
get: () => value,
|
|
25
|
+
set: () => {
|
|
26
|
+
throw new Error("Computed stores are read-only");
|
|
27
|
+
},
|
|
28
|
+
getRaw: () => value,
|
|
29
|
+
setRaw: () => {
|
|
30
|
+
throw new Error("Computed stores are read-only");
|
|
31
|
+
},
|
|
32
|
+
reset: () => {
|
|
33
|
+
},
|
|
34
|
+
subscribe: (listener) => {
|
|
35
|
+
listeners.push(listener);
|
|
36
|
+
return () => {
|
|
37
|
+
const idx = listeners.indexOf(listener);
|
|
38
|
+
if (idx >= 0) listeners.splice(idx, 1);
|
|
39
|
+
};
|
|
40
|
+
},
|
|
41
|
+
persist: () => {
|
|
42
|
+
},
|
|
43
|
+
restore: () => {
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const Reactive = ({
|
|
49
|
+
store,
|
|
50
|
+
render,
|
|
51
|
+
cleanup,
|
|
52
|
+
tag = "div",
|
|
53
|
+
className,
|
|
54
|
+
ref = createRef(),
|
|
55
|
+
...props
|
|
56
|
+
}) => {
|
|
57
|
+
const reactiveRef = ref || createRef();
|
|
58
|
+
let cleanupFn;
|
|
59
|
+
return /* @__PURE__ */ jsx(
|
|
60
|
+
"tag",
|
|
61
|
+
{
|
|
62
|
+
ref: reactiveRef,
|
|
63
|
+
class: className,
|
|
64
|
+
...props,
|
|
65
|
+
onMount: () => {
|
|
66
|
+
cleanupFn = reactive({ store, render, cleanup }, reactiveRef);
|
|
67
|
+
},
|
|
68
|
+
onUnmount: () => {
|
|
69
|
+
cleanupFn?.();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
);
|
|
73
|
+
};
|
|
74
|
+
|
|
8
75
|
const VARIABLE_REGEX = /{([^}]*)}/g;
|
|
9
76
|
const DOUBLE_BRACE_REGEX = /\{\{([^}]*)\}\}/g;
|
|
10
77
|
const interpolate = (template, replacements) => {
|
|
@@ -709,4 +776,4 @@ const Async = ({
|
|
|
709
776
|
};
|
|
710
777
|
const Suspense = Async;
|
|
711
778
|
|
|
712
|
-
export { $, Async, Redirect, Route, Router, RouterSlot, RouterSlotId, Suspense, T, Trans, changeLanguage, createI18n, createRef, createStore, createTrans, getLanguage, getRouterState, i18n, inDevMode, isRef, jsx, loadLanguage, matchRouteRegistrations, setupRouter, t, tokenizePath };
|
|
779
|
+
export { $, Async, Reactive, Redirect, Route, Router, RouterSlot, RouterSlotId, Suspense, T, Trans, changeLanguage, computed, createI18n, createRef, createStore, createTrans, getLanguage, getRouterState, i18n, inDevMode, isRef, jsx, loadLanguage, matchRouteRegistrations, reactive, setupRouter, t, tokenizePath };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { a9 as renderIsomorphicSync, a1 as registerComponent, U as observeUnmount, ae as unregisterComponent } from './dom-_OdBXxSy.mjs';
|
|
2
2
|
|
|
3
3
|
function mount(container, Component, initialProps) {
|
|
4
4
|
while (container.firstChild) {
|
package/dist/render/client.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var dom = require('../dom-
|
|
4
|
-
var mount = require('../mount-
|
|
3
|
+
var dom = require('../dom-D--m76Im.cjs');
|
|
4
|
+
var mount = require('../mount-CY0wDye_.cjs');
|
|
5
5
|
require('defuss-runtime');
|
|
6
6
|
|
|
7
7
|
const renderSync = (virtualNode, parentDomElement = document.documentElement) => {
|
package/dist/render/client.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { A as AllHTMLElements,
|
|
1
|
+
import { aj as VNode, a3 as RenderInput, T as ParentElementInputAsync, a5 as RenderResult, S as ParentElementInput } from '../index-CeFAHwJi.js';
|
|
2
|
+
export { A as AllHTMLElements, b as AsyncDefussChild, c as AsyncFC, d as AsyncFunctionComponent, C as CLASS_ATTRIBUTE_NAME, e as CSSProperties, g as Children, D as DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE, h as DEFAULT_TRANSITION_CONFIG, i as DOMElement, k as DefussChild, l as DefussChildren, m as DefussClassValue, n as DefussKey, s as DomAbstractionImpl, t as ElementProps, F as FC, x as FontFaceProperties, B as Fragment, G as FunctionComponent, H as Globals, J as JsxRuntimeHookFn, I as JsxSourceInfo, K as KeyFrameProperties, M as Maybe, P as MountHandler, Q as NodeType, R as OneOrMany, Y as Props, Z as REF_ATTRIBUTE_NAME, _ as Ref, a0 as RefUpdateFn, a1 as RefUpdateRenderFn, a2 as RefUpdateRenderFnInput, a4 as RenderNodeInput, a6 as RenderResultNode, a9 as SyncRenderInput, aa as SyncRenderResult, ac as TransitionConfig, ad as TransitionStyles, ae as TransitionType, af as TransitionsEasing, ah as UnmountHandler, ai as VAttributes, ak as VNodeAttributes, al as VNodeChild, am as VNodeChildren, an as VNodeKey, ao as VNodeRef, ap as VNodeRefCallback, aq as VNodeRefObject, ar as VNodeType, at as XLINK_ATTRIBUTE_NAME, au as XMLNS_ATTRIBUTE_NAME, av as applyStyles, aw as createInPlaceErrorMessageVNode, ax as createRef, aE as getRenderer, aF as getTransitionStyles, aG as globalScopeDomApis, aH as handleLifecycleEventsForOnMount, aK as isJSX, aL as isRef, aM as jsx, aN as jsxDEV, aO as jsxs, aP as nsMap, aQ as observeUnmount, aR as performTransition, aT as renderInto, aU as renderIsomorphicAsync, aV as renderIsomorphicSync, aY as updateDom } from '../index-CeFAHwJi.js';
|
|
3
3
|
export { CAPTURE_ONLY_EVENTS, ComponentInstance, DelegatedEventOptions, DelegatedPhase, ParsedEventProp, clearDelegatedEvents, clearDelegatedEventsDeep, getComponentInstance, getRegisteredEventKeys, getRegisteredEventTypes, isComponentRoot, mount, parseEventPropName, registerComponent, registerDelegatedEvent, removeDelegatedEvent, removeDelegatedEventByKey, unmount, unregisterComponent } from './index.js';
|
|
4
4
|
import 'csstype';
|
|
5
5
|
|
package/dist/render/client.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { C as CAPTURE_ONLY_EVENTS, a as CLASS_ATTRIBUTE_NAME, D as DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE,
|
|
3
|
-
export { m as mount, u as unmount } from '../mount-
|
|
1
|
+
import { W as parseEventPropName, a2 as registerDelegatedEvent, U as observeUnmount, B as globalScopeDomApis, a8 as renderIsomorphicAsync, a9 as renderIsomorphicSync } from '../dom-_OdBXxSy.mjs';
|
|
2
|
+
export { C as CAPTURE_ONLY_EVENTS, a as CLASS_ATTRIBUTE_NAME, D as DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE, c as DEFAULT_TRANSITION_CONFIG, F as Fragment, R as REF_ATTRIBUTE_NAME, X as XLINK_ATTRIBUTE_NAME, d as XMLNS_ATTRIBUTE_NAME, f as applyStyles, i as clearDelegatedEvents, j as clearDelegatedEventsDeep, l as createInPlaceErrorMessageVNode, m as createRef, t as getComponentInstance, x as getRegisteredEventKeys, y as getRegisteredEventTypes, z as getRenderer, A as getTransitionStyles, E as handleLifecycleEventsForOnMount, H as isComponentRoot, L as isJSX, N as isRef, P as jsx, Q as jsxDEV, S as jsxs, T as nsMap, Y as performTransition, a1 as registerComponent, a3 as removeDelegatedEvent, a4 as removeDelegatedEventByKey, a7 as renderInto, ae as unregisterComponent, af as updateDom } from '../dom-_OdBXxSy.mjs';
|
|
3
|
+
export { m as mount, u as unmount } from '../mount-BcFWqQDc.mjs';
|
|
4
4
|
import 'defuss-runtime';
|
|
5
5
|
|
|
6
6
|
const renderSync = (virtualNode, parentDomElement = document.documentElement) => {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { A as AllHTMLElements,
|
|
1
|
+
export { A as AllHTMLElements, b as AsyncDefussChild, c as AsyncFC, d as AsyncFunctionComponent, C as CLASS_ATTRIBUTE_NAME, e as CSSProperties, g as Children, D as DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE, h as DEFAULT_TRANSITION_CONFIG, i as DOMElement, k as DefussChild, l as DefussChildren, m as DefussClassValue, n as DefussKey, s as DomAbstractionImpl, t as ElementProps, F as FC, x as FontFaceProperties, B as Fragment, G as FunctionComponent, H as Globals, J as JsxRuntimeHookFn, I as JsxSourceInfo, K as KeyFrameProperties, M as Maybe, P as MountHandler, Q as NodeType, R as OneOrMany, S as ParentElementInput, T as ParentElementInputAsync, Y as Props, Z as REF_ATTRIBUTE_NAME, _ as Ref, a0 as RefUpdateFn, a1 as RefUpdateRenderFn, a2 as RefUpdateRenderFnInput, a3 as RenderInput, a4 as RenderNodeInput, a5 as RenderResult, a6 as RenderResultNode, a9 as SyncRenderInput, aa as SyncRenderResult, ac as TransitionConfig, ad as TransitionStyles, ae as TransitionType, af as TransitionsEasing, ah as UnmountHandler, ai as VAttributes, aj as VNode, ak as VNodeAttributes, al as VNodeChild, am as VNodeChildren, an as VNodeKey, ao as VNodeRef, ap as VNodeRefCallback, aq as VNodeRefObject, ar as VNodeType, at as XLINK_ATTRIBUTE_NAME, au as XMLNS_ATTRIBUTE_NAME, av as applyStyles, aw as createInPlaceErrorMessageVNode, ax as createRef, aE as getRenderer, aF as getTransitionStyles, aG as globalScopeDomApis, aH as handleLifecycleEventsForOnMount, aK as isJSX, aL as isRef, aM as jsx, aN as jsxDEV, aO as jsxs, aP as nsMap, aQ as observeUnmount, aR as performTransition, aS as render, aT as renderInto, aU as renderIsomorphicAsync, aV as renderIsomorphicSync, aY as updateDom } from '../../index-CeFAHwJi.js';
|
|
2
2
|
import 'csstype';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { a as CLASS_ATTRIBUTE_NAME, D as DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE,
|
|
1
|
+
export { a as CLASS_ATTRIBUTE_NAME, D as DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE, c as DEFAULT_TRANSITION_CONFIG, F as Fragment, R as REF_ATTRIBUTE_NAME, X as XLINK_ATTRIBUTE_NAME, d as XMLNS_ATTRIBUTE_NAME, f as applyStyles, l as createInPlaceErrorMessageVNode, m as createRef, z as getRenderer, A as getTransitionStyles, B as globalScopeDomApis, E as handleLifecycleEventsForOnMount, L as isJSX, N as isRef, P as jsx, Q as jsxDEV, S as jsxs, T as nsMap, U as observeUnmount, Y as performTransition, a6 as render, a7 as renderInto, a8 as renderIsomorphicAsync, a9 as renderIsomorphicSync, af as updateDom } from '../../dom-_OdBXxSy.mjs';
|
|
2
2
|
import 'defuss-runtime';
|
package/dist/render/index.cjs
CHANGED
package/dist/render/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { A as AllHTMLElements,
|
|
1
|
+
import { aj as VNode } from '../index-CeFAHwJi.js';
|
|
2
|
+
export { A as AllHTMLElements, b as AsyncDefussChild, c as AsyncFC, d as AsyncFunctionComponent, C as CLASS_ATTRIBUTE_NAME, e as CSSProperties, g as Children, D as DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE, h as DEFAULT_TRANSITION_CONFIG, i as DOMElement, k as DefussChild, l as DefussChildren, m as DefussClassValue, n as DefussKey, s as DomAbstractionImpl, t as ElementProps, F as FC, x as FontFaceProperties, B as Fragment, G as FunctionComponent, H as Globals, J as JsxRuntimeHookFn, I as JsxSourceInfo, K as KeyFrameProperties, M as Maybe, P as MountHandler, Q as NodeType, R as OneOrMany, S as ParentElementInput, T as ParentElementInputAsync, Y as Props, Z as REF_ATTRIBUTE_NAME, _ as Ref, a0 as RefUpdateFn, a1 as RefUpdateRenderFn, a2 as RefUpdateRenderFnInput, a3 as RenderInput, a4 as RenderNodeInput, a5 as RenderResult, a6 as RenderResultNode, a9 as SyncRenderInput, aa as SyncRenderResult, ac as TransitionConfig, ad as TransitionStyles, ae as TransitionType, af as TransitionsEasing, ah as UnmountHandler, ai as VAttributes, ak as VNodeAttributes, al as VNodeChild, am as VNodeChildren, an as VNodeKey, ao as VNodeRef, ap as VNodeRefCallback, aq as VNodeRefObject, ar as VNodeType, at as XLINK_ATTRIBUTE_NAME, au as XMLNS_ATTRIBUTE_NAME, av as applyStyles, aw as createInPlaceErrorMessageVNode, ax as createRef, aE as getRenderer, aF as getTransitionStyles, aG as globalScopeDomApis, aH as handleLifecycleEventsForOnMount, aK as isJSX, aL as isRef, aM as jsx, aN as jsxDEV, aO as jsxs, aP as nsMap, aQ as observeUnmount, aR as performTransition, aS as render, aT as renderInto, aU as renderIsomorphicAsync, aV as renderIsomorphicSync, aY as updateDom } from '../index-CeFAHwJi.js';
|
|
3
3
|
import 'csstype';
|
|
4
4
|
|
|
5
5
|
type DelegatedPhase = "bubble" | "capture";
|
package/dist/render/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { C as CAPTURE_ONLY_EVENTS, a as CLASS_ATTRIBUTE_NAME, D as DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE,
|
|
2
|
-
export { m as mount, u as unmount } from '../mount-
|
|
1
|
+
export { C as CAPTURE_ONLY_EVENTS, a as CLASS_ATTRIBUTE_NAME, D as DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE, c as DEFAULT_TRANSITION_CONFIG, F as Fragment, R as REF_ATTRIBUTE_NAME, X as XLINK_ATTRIBUTE_NAME, d as XMLNS_ATTRIBUTE_NAME, f as applyStyles, i as clearDelegatedEvents, j as clearDelegatedEventsDeep, l as createInPlaceErrorMessageVNode, m as createRef, t as getComponentInstance, x as getRegisteredEventKeys, y as getRegisteredEventTypes, z as getRenderer, A as getTransitionStyles, B as globalScopeDomApis, E as handleLifecycleEventsForOnMount, H as isComponentRoot, L as isJSX, N as isRef, P as jsx, Q as jsxDEV, S as jsxs, T as nsMap, U as observeUnmount, W as parseEventPropName, Y as performTransition, a1 as registerComponent, a2 as registerDelegatedEvent, a3 as removeDelegatedEvent, a4 as removeDelegatedEventByKey, a6 as render, a7 as renderInto, a8 as renderIsomorphicAsync, a9 as renderIsomorphicSync, ae as unregisterComponent, af as updateDom } from '../dom-_OdBXxSy.mjs';
|
|
2
|
+
export { m as mount, u as unmount } from '../mount-BcFWqQDc.mjs';
|
|
3
3
|
import 'defuss-runtime';
|
package/dist/render/server.cjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var HappyDom = require('happy-dom');
|
|
4
|
-
var dom = require('../dom-
|
|
4
|
+
var dom = require('../dom-D--m76Im.cjs');
|
|
5
5
|
var serializeHtml = require('w3c-xmlserializer');
|
|
6
|
-
var mount = require('../mount-
|
|
6
|
+
var mount = require('../mount-CY0wDye_.cjs');
|
|
7
7
|
require('defuss-runtime');
|
|
8
8
|
|
|
9
9
|
function _interopNamespaceDefault(e) {
|
package/dist/render/server.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { A as AllHTMLElements,
|
|
1
|
+
import { H as Globals, a3 as RenderInput, T as ParentElementInputAsync, a5 as RenderResult, S as ParentElementInput } from '../index-CeFAHwJi.js';
|
|
2
|
+
export { A as AllHTMLElements, b as AsyncDefussChild, c as AsyncFC, d as AsyncFunctionComponent, C as CLASS_ATTRIBUTE_NAME, e as CSSProperties, g as Children, D as DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE, h as DEFAULT_TRANSITION_CONFIG, i as DOMElement, k as DefussChild, l as DefussChildren, m as DefussClassValue, n as DefussKey, s as DomAbstractionImpl, t as ElementProps, F as FC, x as FontFaceProperties, B as Fragment, G as FunctionComponent, J as JsxRuntimeHookFn, I as JsxSourceInfo, K as KeyFrameProperties, M as Maybe, P as MountHandler, Q as NodeType, R as OneOrMany, Y as Props, Z as REF_ATTRIBUTE_NAME, _ as Ref, a0 as RefUpdateFn, a1 as RefUpdateRenderFn, a2 as RefUpdateRenderFnInput, a4 as RenderNodeInput, a6 as RenderResultNode, a9 as SyncRenderInput, aa as SyncRenderResult, ac as TransitionConfig, ad as TransitionStyles, ae as TransitionType, af as TransitionsEasing, ah as UnmountHandler, ai as VAttributes, aj as VNode, ak as VNodeAttributes, al as VNodeChild, am as VNodeChildren, an as VNodeKey, ao as VNodeRef, ap as VNodeRefCallback, aq as VNodeRefObject, ar as VNodeType, at as XLINK_ATTRIBUTE_NAME, au as XMLNS_ATTRIBUTE_NAME, av as applyStyles, aw as createInPlaceErrorMessageVNode, ax as createRef, aE as getRenderer, aF as getTransitionStyles, aG as globalScopeDomApis, aH as handleLifecycleEventsForOnMount, aK as isJSX, aL as isRef, aM as jsx, aN as jsxDEV, aO as jsxs, aP as nsMap, aQ as observeUnmount, aR as performTransition, aT as renderInto, aU as renderIsomorphicAsync, aV as renderIsomorphicSync, aY as updateDom } from '../index-CeFAHwJi.js';
|
|
3
3
|
export { CAPTURE_ONLY_EVENTS, ComponentInstance, DelegatedEventOptions, DelegatedPhase, ParsedEventProp, clearDelegatedEvents, clearDelegatedEventsDeep, getComponentInstance, getRegisteredEventKeys, getRegisteredEventTypes, isComponentRoot, mount, parseEventPropName, registerComponent, registerDelegatedEvent, removeDelegatedEvent, removeDelegatedEventByKey, unmount, unregisterComponent } from './index.js';
|
|
4
4
|
import 'csstype';
|
|
5
5
|
|
package/dist/render/server.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as HappyDom from 'happy-dom';
|
|
2
|
-
import {
|
|
3
|
-
export { C as CAPTURE_ONLY_EVENTS, a as CLASS_ATTRIBUTE_NAME, D as DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE,
|
|
2
|
+
import { a8 as renderIsomorphicAsync, a9 as renderIsomorphicSync, B as globalScopeDomApis } from '../dom-_OdBXxSy.mjs';
|
|
3
|
+
export { C as CAPTURE_ONLY_EVENTS, a as CLASS_ATTRIBUTE_NAME, D as DANGEROUSLY_SET_INNER_HTML_ATTRIBUTE, c as DEFAULT_TRANSITION_CONFIG, F as Fragment, R as REF_ATTRIBUTE_NAME, X as XLINK_ATTRIBUTE_NAME, d as XMLNS_ATTRIBUTE_NAME, f as applyStyles, i as clearDelegatedEvents, j as clearDelegatedEventsDeep, l as createInPlaceErrorMessageVNode, m as createRef, t as getComponentInstance, x as getRegisteredEventKeys, y as getRegisteredEventTypes, z as getRenderer, A as getTransitionStyles, E as handleLifecycleEventsForOnMount, H as isComponentRoot, L as isJSX, N as isRef, P as jsx, Q as jsxDEV, S as jsxs, T as nsMap, U as observeUnmount, W as parseEventPropName, Y as performTransition, a1 as registerComponent, a2 as registerDelegatedEvent, a3 as removeDelegatedEvent, a4 as removeDelegatedEventByKey, a7 as renderInto, ae as unregisterComponent, af as updateDom } from '../dom-_OdBXxSy.mjs';
|
|
4
4
|
import serializeHtml from 'w3c-xmlserializer';
|
|
5
|
-
export { m as mount, u as unmount } from '../mount-
|
|
5
|
+
export { m as mount, u as unmount } from '../mount-BcFWqQDc.mjs';
|
|
6
6
|
import 'defuss-runtime';
|
|
7
7
|
|
|
8
8
|
const setupDomApis = (options = {}) => {
|
package/package.json
CHANGED