nexa-runtime 0.5.1 → 0.6.0
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/component/Transition.d.ts +0 -1
- package/dist/component/Transition.js +0 -1
- package/dist/component/asyncComponent.d.ts +0 -1
- package/dist/component/asyncComponent.js +0 -1
- package/dist/component/defineComponent.d.ts +0 -1
- package/dist/component/defineComponent.js +0 -1
- package/dist/component/errorBoundary.d.ts +0 -1
- package/dist/component/errorBoundary.js +3 -4
- package/dist/component/index.d.ts +1 -1
- package/dist/component/index.js +1 -1
- package/dist/component/inject.d.ts +2 -0
- package/dist/component/inject.js +16 -0
- package/dist/component/lifecycle.d.ts +0 -1
- package/dist/component/lifecycle.js +0 -1
- package/dist/component/suspense.d.ts +0 -1
- package/dist/component/suspense.js +3 -4
- package/dist/directives/index.d.ts +0 -1
- package/dist/directives/index.js +4 -5
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/scheduler.d.ts +3 -2
- package/dist/scheduler.d.ts.map +1 -1
- package/dist/scheduler.js +32 -13
- package/dist/scheduler.js.map +1 -1
- package/dist/ssr/hydrate.d.ts +0 -1
- package/dist/ssr/hydrate.js +3 -1
- package/dist/ssr/hydrate.js.map +1 -1
- package/dist/ssr/renderToStream.d.ts +0 -1
- package/dist/ssr/renderToStream.js +0 -1
- package/dist/ssr/renderToString.d.ts +0 -1
- package/dist/ssr/renderToString.js +4 -2
- package/dist/vdom/diff.d.ts +0 -1
- package/dist/vdom/diff.js +8 -12
- package/dist/vdom/dom.d.ts +0 -1
- package/dist/vdom/dom.js +45 -14
- package/dist/vdom/h.d.ts +0 -1
- package/dist/vdom/h.js +4 -3
- package/dist/vdom/hmr.d.ts +0 -1
- package/dist/vdom/hmr.js +3 -2
- package/dist/vdom/index.d.ts +0 -1
- package/dist/vdom/index.js +0 -1
- package/dist/vdom/mountComponent.d.ts +1 -1
- package/dist/vdom/mountComponent.d.ts.map +1 -1
- package/dist/vdom/mountComponent.js +116 -33
- package/dist/vdom/mountComponent.js.map +1 -1
- package/dist/vdom/mountProps.d.ts +0 -1
- package/dist/vdom/mountProps.js +31 -9
- package/dist/vdom/patch.d.ts +0 -1
- package/dist/vdom/patch.d.ts.map +1 -1
- package/dist/vdom/patch.js +27 -13
- package/dist/vdom/patch.js.map +1 -1
- package/dist/vdom/renderer.d.ts +0 -1
- package/dist/vdom/renderer.js +0 -1
- package/dist/vdom/scope.d.ts +0 -1
- package/dist/vdom/scope.js +0 -1
- package/dist/vdom/slots.d.ts +0 -1
- package/dist/vdom/slots.js +9 -2
- package/dist/vdom/transition.d.ts +0 -1
- package/dist/vdom/transition.js +0 -1
- package/dist/vdom/types.d.ts +4 -2
- package/dist/vdom/types.js +0 -1
- package/dist/vdom/unmount.d.ts +0 -1
- package/dist/vdom/unmount.js +25 -24
- package/package.json +2 -2
- package/dist/component/defineComponent.d.ts.map +0 -1
- package/dist/component/defineComponent.js.map +0 -1
- package/dist/component/index.js.map +0 -1
- package/dist/component/lifecycle.d.ts.map +0 -1
- package/dist/component/lifecycle.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/ssr/renderToStream.d.ts.map +0 -1
- package/dist/ssr/renderToStream.js.map +0 -1
- package/dist/ssr/renderToString.d.ts.map +0 -1
- package/dist/ssr/renderToString.js.map +0 -1
- package/dist/vdom/diff.d.ts.map +0 -1
- package/dist/vdom/diff.js.map +0 -1
- package/dist/vdom/h.js.map +0 -1
- package/dist/vdom/hmr.d.ts.map +0 -1
- package/dist/vdom/hmr.js.map +0 -1
- package/dist/vdom/index.js.map +0 -1
- package/dist/vdom/renderer.d.ts.map +0 -1
- package/dist/vdom/renderer.js.map +0 -1
- package/dist/vdom/scope.d.ts.map +0 -1
- package/dist/vdom/scope.js.map +0 -1
- package/dist/vdom/slots.d.ts.map +0 -1
- package/dist/vdom/slots.js.map +0 -1
- package/dist/vdom/transition.d.ts.map +0 -1
- package/dist/vdom/transition.js.map +0 -1
- package/dist/vdom/types.d.ts.map +0 -1
- package/dist/vdom/types.js.map +0 -1
- package/dist/vdom/unmount.d.ts.map +0 -1
- package/dist/vdom/unmount.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { signal } from 'nexa-reactivity';
|
|
2
2
|
import { h } from '../vdom/h';
|
|
3
|
-
|
|
3
|
+
import { provide, inject } from './inject';
|
|
4
4
|
export function getCurrentErrorBoundary() {
|
|
5
|
-
return
|
|
5
|
+
return inject('__errorBoundary__');
|
|
6
6
|
}
|
|
7
7
|
export const ErrorBoundary = {
|
|
8
8
|
setup(_props) {
|
|
@@ -10,7 +10,7 @@ export const ErrorBoundary = {
|
|
|
10
10
|
const handler = {
|
|
11
11
|
handleError: (err) => { error.value = err; },
|
|
12
12
|
};
|
|
13
|
-
|
|
13
|
+
provide('__errorBoundary__', handler);
|
|
14
14
|
return { error, _handler: handler };
|
|
15
15
|
},
|
|
16
16
|
render(ctx) {
|
|
@@ -30,4 +30,3 @@ export const ErrorBoundary = {
|
|
|
30
30
|
}
|
|
31
31
|
},
|
|
32
32
|
};
|
|
33
|
-
//# sourceMappingURL=errorBoundary.js.map
|
|
@@ -4,4 +4,4 @@ export { Suspense, getCurrentBoundary } from './suspense';
|
|
|
4
4
|
export { ErrorBoundary } from './errorBoundary';
|
|
5
5
|
export { Transition } from './Transition';
|
|
6
6
|
export { onBeforeMount, onMounted, onBeforeUpdate, onUpdated, onBeforeUnmount, onUnmounted, setCurrentInstance, getCurrentInstance, } from './lifecycle';
|
|
7
|
-
|
|
7
|
+
export { provide, inject } from './inject';
|
package/dist/component/index.js
CHANGED
|
@@ -4,4 +4,4 @@ export { Suspense, getCurrentBoundary } from './suspense';
|
|
|
4
4
|
export { ErrorBoundary } from './errorBoundary';
|
|
5
5
|
export { Transition } from './Transition';
|
|
6
6
|
export { onBeforeMount, onMounted, onBeforeUpdate, onUpdated, onBeforeUnmount, onUnmounted, setCurrentInstance, getCurrentInstance, } from './lifecycle';
|
|
7
|
-
|
|
7
|
+
export { provide, inject } from './inject';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { getCurrentInstance } from './lifecycle';
|
|
2
|
+
export function provide(key, value) {
|
|
3
|
+
const instance = getCurrentInstance();
|
|
4
|
+
if (instance) {
|
|
5
|
+
instance.provides[key] = value;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export function inject(key, defaultValue) {
|
|
9
|
+
const instance = getCurrentInstance();
|
|
10
|
+
if (instance) {
|
|
11
|
+
if (key in instance.provides) {
|
|
12
|
+
return instance.provides[key];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return defaultValue;
|
|
16
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { signal } from 'nexa-reactivity';
|
|
2
2
|
import { h } from '../vdom/h';
|
|
3
3
|
import { onMounted } from './lifecycle';
|
|
4
|
-
|
|
4
|
+
import { provide, inject } from './inject';
|
|
5
5
|
export function getCurrentBoundary() {
|
|
6
|
-
return
|
|
6
|
+
return inject('__suspense__');
|
|
7
7
|
}
|
|
8
8
|
export const Suspense = {
|
|
9
9
|
setup(_props) {
|
|
10
10
|
const ready = signal(false);
|
|
11
11
|
const boundary = { pending: 0, ready };
|
|
12
|
-
|
|
12
|
+
provide('__suspense__', boundary);
|
|
13
13
|
onMounted(() => {
|
|
14
14
|
if (boundary.pending <= 0) {
|
|
15
15
|
ready.value = true;
|
|
@@ -38,4 +38,3 @@ export const Suspense = {
|
|
|
38
38
|
return h('div', { key: 'suspense-wrap', style: '' }, pieces);
|
|
39
39
|
},
|
|
40
40
|
};
|
|
41
|
-
//# sourceMappingURL=suspense.js.map
|
|
@@ -4,4 +4,3 @@ export declare function vIf(condition: boolean, thenVNode: () => VNode | null, e
|
|
|
4
4
|
export declare function vFor<T>(items: T[], render: (item: T, index: number) => VNode | null): (VNode | null)[];
|
|
5
5
|
export declare function vShow(el: HTMLElement, signal: Signal<boolean>): () => void;
|
|
6
6
|
export declare function vModel(el: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement, signal: Signal<string>): () => void;
|
|
7
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/directives/index.js
CHANGED
|
@@ -6,22 +6,21 @@ export function vFor(items, render) {
|
|
|
6
6
|
return items.map((item, index) => render(item, index));
|
|
7
7
|
}
|
|
8
8
|
export function vShow(el, signal) {
|
|
9
|
-
const
|
|
9
|
+
const e = effect(() => {
|
|
10
10
|
el.style.display = signal.value ? '' : 'none';
|
|
11
11
|
});
|
|
12
|
-
return dispose;
|
|
12
|
+
return () => e.dispose();
|
|
13
13
|
}
|
|
14
14
|
export function vModel(el, signal) {
|
|
15
15
|
const onInput = () => {
|
|
16
16
|
signal.value = el.value;
|
|
17
17
|
};
|
|
18
18
|
el.addEventListener('input', onInput);
|
|
19
|
-
const
|
|
19
|
+
const e = effect(() => {
|
|
20
20
|
el.value = signal.value;
|
|
21
21
|
});
|
|
22
22
|
return () => {
|
|
23
23
|
el.removeEventListener('input', onInput);
|
|
24
|
-
dispose();
|
|
24
|
+
e.dispose();
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -6,10 +6,10 @@ export * from './vdom/hmr';
|
|
|
6
6
|
export * from './vdom/scope';
|
|
7
7
|
export * from './vdom/transition';
|
|
8
8
|
export * from './component';
|
|
9
|
+
export { getCurrentInstance, provide, inject } from './component';
|
|
9
10
|
export * from './scheduler';
|
|
10
11
|
export * from './ssr/renderToString';
|
|
11
12
|
export * from './ssr/renderToStream';
|
|
12
13
|
export * from './ssr/hydrate';
|
|
13
14
|
export * from './directives';
|
|
14
15
|
export declare function mount(vnode: any, containerOrSelector: any): any;
|
|
15
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -6,6 +6,7 @@ export * from './vdom/hmr';
|
|
|
6
6
|
export * from './vdom/scope';
|
|
7
7
|
export * from './vdom/transition';
|
|
8
8
|
export * from './component';
|
|
9
|
+
export { getCurrentInstance, provide, inject } from './component';
|
|
9
10
|
export * from './scheduler';
|
|
10
11
|
export * from './ssr/renderToString';
|
|
11
12
|
export * from './ssr/renderToStream';
|
|
@@ -22,4 +23,3 @@ export function mount(vnode, containerOrSelector) {
|
|
|
22
23
|
}
|
|
23
24
|
return baseMount(vnode, container, domOptions);
|
|
24
25
|
}
|
|
25
|
-
//# sourceMappingURL=index.js.map
|
package/dist/scheduler.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { type ComponentInstance } from './vdom/types';
|
|
2
|
+
export declare function queueJob(instance: ComponentInstance): void;
|
|
3
|
+
export declare function flushJobs(): void;
|
package/dist/scheduler.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAQrD,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAE1D;AAED,wBAAgB,SAAS,IAAI,IAAI,CAmBhC"}
|
package/dist/scheduler.js
CHANGED
|
@@ -1,18 +1,37 @@
|
|
|
1
|
+
import { setPostFlushCallback } from 'nexa-reactivity';
|
|
1
2
|
const pendingJobs = new Set();
|
|
2
3
|
let isFlushing = false;
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
const globalObj = (typeof globalThis !== 'undefined' ? globalThis : (typeof window !== 'undefined' ? window : {}));
|
|
5
|
+
// Register flushJobs as the post-flush callback for reactivity using the shared global state
|
|
6
|
+
const state = globalObj.__NEXA_REACTIVITY_STATE__;
|
|
7
|
+
if (state) {
|
|
8
|
+
state.postFlushCallback = flushJobs;
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
// Fallback to module import if global state is not yet initialized
|
|
12
|
+
setPostFlushCallback(flushJobs);
|
|
13
|
+
}
|
|
14
|
+
export function queueJob(instance) {
|
|
15
|
+
pendingJobs.add(instance);
|
|
9
16
|
}
|
|
10
|
-
function flushJobs() {
|
|
11
|
-
isFlushing
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
17
|
+
export function flushJobs() {
|
|
18
|
+
if (isFlushing || pendingJobs.size === 0) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
isFlushing = true;
|
|
22
|
+
try {
|
|
23
|
+
// Loop until all jobs are processed (handles cascaded updates)
|
|
24
|
+
while (pendingJobs.size > 0) {
|
|
25
|
+
const jobs = Array.from(pendingJobs).sort((a, b) => a.depth - b.depth);
|
|
26
|
+
pendingJobs.clear();
|
|
27
|
+
for (const instance of jobs) {
|
|
28
|
+
if (instance.update && typeof instance.update.run === 'function') {
|
|
29
|
+
instance.update.run();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
finally {
|
|
35
|
+
isFlushing = false;
|
|
16
36
|
}
|
|
17
37
|
}
|
|
18
|
-
//# sourceMappingURL=scheduler.js.map
|
package/dist/scheduler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAGtD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAqB,CAAA;AAChD,IAAI,UAAU,GAAG,KAAK,CAAA;AAEtB,+DAA+D;AAC/D,oBAAoB,CAAC,SAAS,CAAC,CAAA;AAE/B,MAAM,UAAU,QAAQ,CAAC,QAA2B;IAClD,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,UAAU,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC;QAAE,OAAM;IAChD,UAAU,GAAG,IAAI,CAAA;IAEjB,IAAI,CAAC;QACH,+DAA+D;QAC/D,OAAO,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;YACtE,WAAW,CAAC,KAAK,EAAE,CAAA;YAEnB,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE,CAAC;gBAC5B,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACpB,QAAQ,CAAC,MAAM,EAAE,CAAA;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,UAAU,GAAG,KAAK,CAAA;IACpB,CAAC;AACH,CAAC"}
|
package/dist/ssr/hydrate.d.ts
CHANGED
package/dist/ssr/hydrate.js
CHANGED
|
@@ -98,6 +98,9 @@ function hydrateComponent(vnode, parent, anchor) {
|
|
|
98
98
|
setupState: {},
|
|
99
99
|
vnode: null,
|
|
100
100
|
mounted: false,
|
|
101
|
+
depth: 0,
|
|
102
|
+
parent: null,
|
|
103
|
+
provides: {},
|
|
101
104
|
lifecycle: {
|
|
102
105
|
beforeMount: [],
|
|
103
106
|
mounted: [],
|
|
@@ -171,4 +174,3 @@ function attachEvents(el, props) {
|
|
|
171
174
|
}
|
|
172
175
|
}
|
|
173
176
|
}
|
|
174
|
-
//# sourceMappingURL=hydrate.js.map
|
package/dist/ssr/hydrate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hydrate.js","sourceRoot":"","sources":["../../src/ssr/hydrate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hydrate.js","sourceRoot":"","sources":["../../src/ssr/hydrate.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,7 +82,10 @@ function renderComponentToString(vnode) {
|
|
|
82
82
|
props: vnode.props ?? {},
|
|
83
83
|
setupState: {},
|
|
84
84
|
vnode: null,
|
|
85
|
-
mounted:
|
|
85
|
+
mounted: true,
|
|
86
|
+
depth: 0,
|
|
87
|
+
parent: null,
|
|
88
|
+
provides: {},
|
|
86
89
|
lifecycle: {
|
|
87
90
|
beforeMount: [],
|
|
88
91
|
mounted: [],
|
|
@@ -131,4 +134,3 @@ function escapeAttr(str) {
|
|
|
131
134
|
.replace(/</g, '<')
|
|
132
135
|
.replace(/>/g, '>');
|
|
133
136
|
}
|
|
134
|
-
//# sourceMappingURL=renderToString.js.map
|
package/dist/vdom/diff.d.ts
CHANGED
package/dist/vdom/diff.js
CHANGED
|
@@ -47,7 +47,7 @@ function diffVNode(oldV, newV, container, patches) {
|
|
|
47
47
|
props: propPatches
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
|
-
diffChildren(oldV, newV, patches);
|
|
50
|
+
diffChildren(oldV, newV, newV.el, patches);
|
|
51
51
|
}
|
|
52
52
|
else if (oldV._type === 'component') {
|
|
53
53
|
patches.push({
|
|
@@ -59,7 +59,7 @@ function diffVNode(oldV, newV, container, patches) {
|
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
61
|
else if (oldV._type === 'fragment') {
|
|
62
|
-
diffChildren(oldV, newV, patches);
|
|
62
|
+
diffChildren(oldV, newV, container, patches);
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
function diffProps(oldV, newV) {
|
|
@@ -82,12 +82,9 @@ function diffProps(oldV, newV) {
|
|
|
82
82
|
}
|
|
83
83
|
return patches;
|
|
84
84
|
}
|
|
85
|
-
function diffChildren(oldV, newV, patches) {
|
|
86
|
-
const oldChildren = oldV.children ?? [];
|
|
87
|
-
const newChildren = newV.children ?? [];
|
|
88
|
-
const el = oldV.el;
|
|
89
|
-
if (!el)
|
|
90
|
-
return;
|
|
85
|
+
function diffChildren(oldV, newV, container, patches) {
|
|
86
|
+
const oldChildren = (oldV.children ?? []);
|
|
87
|
+
const newChildren = (newV.children ?? []);
|
|
91
88
|
const maxLen = Math.max(oldChildren.length, newChildren.length);
|
|
92
89
|
for (let i = 0; i < maxLen; i++) {
|
|
93
90
|
const oldChild = oldChildren[i];
|
|
@@ -96,7 +93,7 @@ function diffChildren(oldV, newV, patches) {
|
|
|
96
93
|
patches.push({
|
|
97
94
|
type: 'create',
|
|
98
95
|
newVNode: newChild,
|
|
99
|
-
parent:
|
|
96
|
+
parent: container,
|
|
100
97
|
anchor: null,
|
|
101
98
|
});
|
|
102
99
|
}
|
|
@@ -104,13 +101,12 @@ function diffChildren(oldV, newV, patches) {
|
|
|
104
101
|
patches.push({
|
|
105
102
|
type: 'remove',
|
|
106
103
|
oldVNode: oldChild,
|
|
107
|
-
parent:
|
|
104
|
+
parent: container,
|
|
108
105
|
anchor: null,
|
|
109
106
|
});
|
|
110
107
|
}
|
|
111
108
|
else if (oldChild && newChild) {
|
|
112
|
-
diffVNode(oldChild, newChild,
|
|
109
|
+
diffVNode(oldChild, newChild, container, patches);
|
|
113
110
|
}
|
|
114
111
|
}
|
|
115
112
|
}
|
|
116
|
-
//# sourceMappingURL=diff.js.map
|
package/dist/vdom/dom.d.ts
CHANGED
package/dist/vdom/dom.js
CHANGED
|
@@ -1,4 +1,28 @@
|
|
|
1
1
|
import { effect } from 'nexa-reactivity';
|
|
2
|
+
function normalizeClassValue(value) {
|
|
3
|
+
if (!value)
|
|
4
|
+
return '';
|
|
5
|
+
if (typeof value === 'string')
|
|
6
|
+
return value.trim();
|
|
7
|
+
if (Array.isArray(value)) {
|
|
8
|
+
const parts = [];
|
|
9
|
+
for (const item of value) {
|
|
10
|
+
const normalized = normalizeClassValue(item);
|
|
11
|
+
if (normalized)
|
|
12
|
+
parts.push(normalized);
|
|
13
|
+
}
|
|
14
|
+
return parts.join(' ').trim();
|
|
15
|
+
}
|
|
16
|
+
if (typeof value === 'object') {
|
|
17
|
+
const parts = [];
|
|
18
|
+
for (const key of Object.keys(value)) {
|
|
19
|
+
if (value[key])
|
|
20
|
+
parts.push(key);
|
|
21
|
+
}
|
|
22
|
+
return parts.join(' ').trim();
|
|
23
|
+
}
|
|
24
|
+
return String(value).trim();
|
|
25
|
+
}
|
|
2
26
|
export const domOptions = {
|
|
3
27
|
patchProp(el, key, prevValue, nextValue) {
|
|
4
28
|
if (key === 'key')
|
|
@@ -33,15 +57,7 @@ export const domOptions = {
|
|
|
33
57
|
}
|
|
34
58
|
}
|
|
35
59
|
else if (key === 'class' || key === 'className') {
|
|
36
|
-
|
|
37
|
-
el.setAttribute('class', nextValue || '');
|
|
38
|
-
}
|
|
39
|
-
else if (nextValue && typeof nextValue === 'object') {
|
|
40
|
-
const classes = Array.isArray(nextValue)
|
|
41
|
-
? nextValue.filter(Boolean)
|
|
42
|
-
: Object.keys(nextValue).filter(k => nextValue[k]);
|
|
43
|
-
el.setAttribute('class', classes.join(' '));
|
|
44
|
-
}
|
|
60
|
+
el.setAttribute('class', normalizeClassValue(nextValue));
|
|
45
61
|
}
|
|
46
62
|
else if (key === 'style') {
|
|
47
63
|
if (typeof nextValue === 'string') {
|
|
@@ -52,12 +68,28 @@ export const domOptions = {
|
|
|
52
68
|
}
|
|
53
69
|
}
|
|
54
70
|
else if (key === 'vShow') {
|
|
55
|
-
|
|
56
|
-
el.
|
|
57
|
-
}
|
|
71
|
+
if (el._vShowEffect) {
|
|
72
|
+
el._vShowEffect.dispose();
|
|
73
|
+
}
|
|
74
|
+
if (nextValue) {
|
|
75
|
+
el._vShowEffect = effect(() => {
|
|
76
|
+
el.style.display = nextValue.value ? '' : 'none';
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
delete el._vShowEffect;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
else if (key === 'checked') {
|
|
84
|
+
el.checked = !!nextValue;
|
|
85
|
+
}
|
|
86
|
+
else if (key === 'selected') {
|
|
87
|
+
el.selected = !!nextValue;
|
|
58
88
|
}
|
|
59
89
|
else if (key === 'value') {
|
|
60
|
-
|
|
90
|
+
const desired = nextValue == null ? '' : String(nextValue);
|
|
91
|
+
if (el.value !== desired)
|
|
92
|
+
el.value = desired;
|
|
61
93
|
}
|
|
62
94
|
else if (key === 'htmlFor') {
|
|
63
95
|
el.setAttribute('for', String(nextValue));
|
|
@@ -111,4 +143,3 @@ export const domOptions = {
|
|
|
111
143
|
return document.querySelector(selector);
|
|
112
144
|
}
|
|
113
145
|
};
|
|
114
|
-
//# sourceMappingURL=dom.js.map
|
package/dist/vdom/h.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import { type VNode, Fragment, Teleport } from './types';
|
|
2
2
|
export declare function h(tag: string | Record<string, any> | typeof Fragment | typeof Teleport, props: Record<string, any> | null, children?: any): VNode;
|
|
3
3
|
export declare function hText(text: string | (() => any)): VNode;
|
|
4
|
-
//# sourceMappingURL=h.d.ts.map
|
package/dist/vdom/h.js
CHANGED
|
@@ -62,7 +62,9 @@ function normalizeChildren(children) {
|
|
|
62
62
|
if (child == null || child === false || child === true)
|
|
63
63
|
continue;
|
|
64
64
|
if (Array.isArray(child)) {
|
|
65
|
-
|
|
65
|
+
const normalized = normalizeChildren(child);
|
|
66
|
+
if (normalized)
|
|
67
|
+
result.push(...normalized);
|
|
66
68
|
}
|
|
67
69
|
else if (typeof child === 'string' || typeof child === 'number') {
|
|
68
70
|
result.push(hText(String(child)));
|
|
@@ -74,8 +76,7 @@ function normalizeChildren(children) {
|
|
|
74
76
|
result.push(child);
|
|
75
77
|
}
|
|
76
78
|
}
|
|
77
|
-
return result
|
|
79
|
+
return result;
|
|
78
80
|
}
|
|
79
81
|
return [children];
|
|
80
82
|
}
|
|
81
|
-
//# sourceMappingURL=h.js.map
|
package/dist/vdom/hmr.d.ts
CHANGED
|
@@ -3,4 +3,3 @@ export declare function registerComponent(id: string, comp: Component): void;
|
|
|
3
3
|
export declare function registerInstance(instance: ComponentInstance): void;
|
|
4
4
|
export declare function unregisterInstance(instance: ComponentInstance): void;
|
|
5
5
|
export declare function reloadComponent(id: string, newComp: any): void;
|
|
6
|
-
//# sourceMappingURL=hmr.d.ts.map
|
package/dist/vdom/hmr.js
CHANGED
|
@@ -31,7 +31,8 @@ export function reloadComponent(id, newComp) {
|
|
|
31
31
|
// Update the component definition
|
|
32
32
|
instance.component.render = newComp.render;
|
|
33
33
|
// Trigger update
|
|
34
|
-
instance.update
|
|
34
|
+
if (instance.update && typeof instance.update.run === 'function') {
|
|
35
|
+
instance.update.run();
|
|
36
|
+
}
|
|
35
37
|
}
|
|
36
38
|
}
|
|
37
|
-
//# sourceMappingURL=hmr.js.map
|
package/dist/vdom/index.d.ts
CHANGED
package/dist/vdom/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { type VNode } from './types';
|
|
2
2
|
import { type RendererOptions } from './renderer';
|
|
3
|
+
export declare const resolveProps: (comp: any, rawProps: any) => Record<string, any>;
|
|
3
4
|
export declare function mountComponent(vnode: VNode, parent: any, options: RendererOptions, anchor?: any): any;
|
|
4
|
-
//# sourceMappingURL=mountComponent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mountComponent.d.ts","sourceRoot":"","sources":["../../src/vdom/mountComponent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAoC,MAAM,SAAS,CAAA;AAQtE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"mountComponent.d.ts","sourceRoot":"","sources":["../../src/vdom/mountComponent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAoC,MAAM,SAAS,CAAA;AAQtE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAA;AAKjD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,eAAe,EACxB,MAAM,GAAE,GAAU,GACjB,GAAG,CAuKL"}
|