sinwan 0.1.0 → 1.1.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/README.md +66 -39
- package/dist/cjs/index.development.js +2373 -842
- package/dist/cjs/index.development.js.map +22 -18
- package/dist/cjs/index.production.min.js +2 -2
- package/dist/cjs/index.production.min.js.map +22 -18
- package/dist/cjs/jsx/jsx-dev-runtime.development.js +6 -16
- package/dist/cjs/jsx/jsx-dev-runtime.development.js.map +3 -3
- package/dist/cjs/jsx/jsx-dev-runtime.production.min.js +2 -2
- package/dist/cjs/jsx/jsx-dev-runtime.production.min.js.map +3 -3
- package/dist/cjs/jsx/jsx-runtime.development.js +6 -16
- package/dist/cjs/jsx/jsx-runtime.development.js.map +3 -3
- package/dist/cjs/jsx/jsx-runtime.production.min.js +2 -2
- package/dist/cjs/jsx/jsx-runtime.production.min.js.map +3 -3
- package/dist/cjs/renderer/index.development.js +1581 -0
- package/dist/cjs/renderer/index.development.js.map +25 -0
- package/dist/cjs/renderer/index.production.min.js +3 -0
- package/dist/cjs/renderer/index.production.min.js.map +25 -0
- package/dist/cjs/server/index.development.js +1210 -362
- package/dist/cjs/server/index.development.js.map +13 -10
- package/dist/cjs/server/index.production.min.js +2 -2
- package/dist/cjs/server/index.production.min.js.map +13 -10
- package/dist/component/control-flow.d.ts +71 -0
- package/dist/component/control-flow.d.ts.map +1 -0
- package/dist/component/index.d.ts +3 -1
- package/dist/component/index.d.ts.map +1 -1
- package/dist/component/instance.d.ts +7 -1
- package/dist/component/instance.d.ts.map +1 -1
- package/dist/component/lifecycle.d.ts +2 -1
- package/dist/component/lifecycle.d.ts.map +1 -1
- package/dist/component/provide-inject.d.ts +11 -5
- package/dist/component/provide-inject.d.ts.map +1 -1
- package/dist/esm/index.development.js +2253 -744
- package/dist/esm/index.development.js.map +22 -18
- package/dist/esm/index.production.min.js +2 -2
- package/dist/esm/index.production.min.js.map +22 -18
- package/dist/esm/jsx/jsx-dev-runtime.development.js +6 -16
- package/dist/esm/jsx/jsx-dev-runtime.development.js.map +3 -3
- package/dist/esm/jsx/jsx-dev-runtime.production.min.js +2 -2
- package/dist/esm/jsx/jsx-dev-runtime.production.min.js.map +3 -3
- package/dist/esm/jsx/jsx-runtime.development.js +6 -16
- package/dist/esm/jsx/jsx-runtime.development.js.map +3 -3
- package/dist/esm/jsx/jsx-runtime.production.min.js +2 -2
- package/dist/esm/jsx/jsx-runtime.production.min.js.map +3 -3
- package/dist/esm/renderer/index.development.js +1530 -0
- package/dist/esm/renderer/index.development.js.map +25 -0
- package/dist/esm/renderer/index.production.min.js +4 -0
- package/dist/esm/renderer/index.production.min.js.map +25 -0
- package/dist/esm/server/index.development.js +1210 -362
- package/dist/esm/server/index.development.js.map +13 -10
- package/dist/esm/server/index.production.min.js +2 -2
- package/dist/esm/server/index.production.min.js.map +13 -10
- package/dist/hydration/walk.d.ts.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/jsx/jsx-runtime.d.ts +13 -0
- package/dist/jsx/jsx-runtime.d.ts.map +1 -1
- package/dist/jsx/jsx-types.d.ts +122 -57
- package/dist/jsx/jsx-types.d.ts.map +1 -1
- package/dist/renderer/attributes.d.ts +11 -0
- package/dist/renderer/attributes.d.ts.map +1 -1
- package/dist/renderer/dom-ops.d.ts +4 -1
- package/dist/renderer/dom-ops.d.ts.map +1 -1
- package/dist/renderer/index.d.ts +2 -2
- package/dist/renderer/index.d.ts.map +1 -1
- package/dist/renderer/mount.d.ts +2 -5
- package/dist/renderer/mount.d.ts.map +1 -1
- package/dist/renderer/render-children.d.ts +2 -2
- package/dist/renderer/render-children.d.ts.map +1 -1
- package/dist/renderer/render-control-flow.d.ts +13 -0
- package/dist/renderer/render-control-flow.d.ts.map +1 -0
- package/dist/renderer/render-element.d.ts +1 -1
- package/dist/renderer/render-element.d.ts.map +1 -1
- package/dist/renderer/types.d.ts +10 -1
- package/dist/renderer/types.d.ts.map +1 -1
- package/dist/renderer/unmount.d.ts +20 -0
- package/dist/renderer/unmount.d.ts.map +1 -0
- package/dist/renderer.d.ts +1 -0
- package/dist/renderer.js +7 -0
- package/dist/renderer.mjs +4 -0
- package/dist/server/attribute-utils.d.ts +2 -0
- package/dist/server/attribute-utils.d.ts.map +1 -0
- package/dist/server/hydration-markers.d.ts.map +1 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/renderer.d.ts.map +1 -1
- package/dist/server/stream.d.ts +9 -1
- package/dist/server/stream.d.ts.map +1 -1
- package/dist/types.d.ts +8 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +19 -5
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* SinwanJS Component Runtime — Public API
|
|
3
3
|
*/
|
|
4
|
-
export { getCurrentInstance, setCurrentInstance, withInstance, createComponentInstance, fireMountedHooks, fireUnmountedHooks, fireUpdatedHooks, handleComponentError, } from "./instance.ts";
|
|
4
|
+
export { getCurrentInstance, setCurrentInstance, withInstance, createComponentInstance, fireMountedHooks, fireUnmountedHooks, fireUpdatedHooks, queueUpdatedHooks, handleComponentError, } from "./instance.ts";
|
|
5
5
|
export type { ComponentInstance } from "./instance.ts";
|
|
6
6
|
export { onMounted, onUnmounted, onUpdated, onError } from "./lifecycle.ts";
|
|
7
7
|
export { createComponent, createPage, createLayout } from "./create.ts";
|
|
8
|
+
export { Show, For, Switch, Match, Index, Key, Dynamic, Visible, Portal, } from "./control-flow.ts";
|
|
9
|
+
export type { ShowProps, ForProps, SwitchProps, MatchProps, IndexProps, KeyProps, DynamicProps, DynamicTag, VisibleProps, PortalProps, } from "./control-flow.ts";
|
|
8
10
|
export { provide, inject } from "./provide-inject.ts";
|
|
9
11
|
export type { InjectionKey } from "./provide-inject.ts";
|
|
10
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/component/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAG5E,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGxE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/component/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAG5E,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGxE,OAAO,EACL,IAAI,EACJ,GAAG,EACH,MAAM,EACN,KAAK,EACL,KAAK,EACL,GAAG,EACH,OAAO,EACP,OAAO,EACP,MAAM,GACP,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,SAAS,EACT,QAAQ,EACR,WAAW,EACX,UAAU,EACV,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* and provide/inject context.
|
|
7
7
|
*
|
|
8
8
|
* A global `currentInstance` stack lets lifecycle hooks (onMounted, etc.)
|
|
9
|
-
* register themselves during setup
|
|
9
|
+
* register themselves during setup or synchronous lifecycle callbacks —
|
|
10
|
+
* same pattern as Vue's getCurrentInstance.
|
|
10
11
|
*/
|
|
11
12
|
import type { SinwanComponent } from "../types.ts";
|
|
12
13
|
import type { MountedNode } from "../renderer/types.ts";
|
|
@@ -71,6 +72,11 @@ export declare function fireUnmountedHooks(instance: ComponentInstance): void;
|
|
|
71
72
|
* Fire onUpdated hooks for the current instance.
|
|
72
73
|
*/
|
|
73
74
|
export declare function fireUpdatedHooks(instance: ComponentInstance): void;
|
|
75
|
+
/**
|
|
76
|
+
* Queue onUpdated hooks to run after the current reactive flush.
|
|
77
|
+
* Multiple DOM effects in the same flush produce one updated callback.
|
|
78
|
+
*/
|
|
79
|
+
export declare function queueUpdatedHooks(instance: ComponentInstance | null): void;
|
|
74
80
|
/**
|
|
75
81
|
* Handle an error in the component tree — walks up to find an error handler.
|
|
76
82
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance.d.ts","sourceRoot":"","sources":["../../src/component/instance.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"instance.d.ts","sourceRoot":"","sources":["../../src/component/instance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAOxD,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IAEZ,iDAAiD;IACjD,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;IAEhC,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE3B,mDAAmD;IACnD,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAE5B,6CAA6C;IAC7C,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAEjC,iCAAiC;IACjC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAE9B,4DAA4D;IAC5D,OAAO,EAAE,SAAS,EAAE,CAAC;IAIrB,+DAA+D;IAC/D,aAAa,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IAE9B,yDAAyD;IACzD,eAAe,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IAEhC,qEAAqE;IACrE,aAAa,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IAE9B,+BAA+B;IAC/B,WAAW,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC;IAItC,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC;IAI3C,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,EAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,MAAM,EAAE,iBAAiB,GAAG,IAAI,GAC/B,iBAAiB,CAkBnB;AAMD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,iBAAiB,GAAG,IAAI,CAE7D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GACjC,iBAAiB,GAAG,IAAI,CAI1B;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAO3E;AAID;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAgBlE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAqBpE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAIlE;AAID;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAkB1E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,iBAAiB,EAC3B,GAAG,EAAE,KAAK,GACT,IAAI,CAaN"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* SinwanJS Component Runtime — Lifecycle Hooks
|
|
3
3
|
*
|
|
4
4
|
* Vue-style lifecycle hooks that register on the current component instance.
|
|
5
|
-
* Must be
|
|
5
|
+
* Must be registered while a component instance is active: during setup,
|
|
6
|
+
* or synchronously from another lifecycle hook owned by that component.
|
|
6
7
|
*/
|
|
7
8
|
/**
|
|
8
9
|
* Register a callback that fires after the component is mounted to the DOM.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/component/lifecycle.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/component/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAM9C;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAMhD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAM9C;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAMtD"}
|
|
@@ -11,7 +11,8 @@ export type InjectionKey<T> = symbol & {
|
|
|
11
11
|
};
|
|
12
12
|
/**
|
|
13
13
|
* Provide a value for descendants to inject.
|
|
14
|
-
* Must be called
|
|
14
|
+
* Must be called while a component instance is active.
|
|
15
|
+
* Prefer setup so descendants can inject the value during their setup.
|
|
15
16
|
*
|
|
16
17
|
* @example
|
|
17
18
|
* const ThemeKey: InjectionKey<string> = Symbol("theme");
|
|
@@ -24,10 +25,12 @@ export type InjectionKey<T> = symbol & {
|
|
|
24
25
|
export declare function provide<T>(key: string | symbol, value: T): void;
|
|
25
26
|
/**
|
|
26
27
|
* Inject a value provided by an ancestor component.
|
|
27
|
-
* Must be called
|
|
28
|
+
* Must be called while a component instance is active.
|
|
28
29
|
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
30
|
+
* Overloads:
|
|
31
|
+
* - `inject(InjectionKey<T>)` — typed key, returns `T | undefined`
|
|
32
|
+
* - `inject(InjectionKey<T>, T)` — typed key with default, returns `T`
|
|
33
|
+
* - `inject<T>(key, default?)` — string/symbol key, T must be specified
|
|
31
34
|
*
|
|
32
35
|
* @example
|
|
33
36
|
* const Child = createComponent(() => {
|
|
@@ -35,5 +38,8 @@ export declare function provide<T>(key: string | symbol, value: T): void;
|
|
|
35
38
|
* return <div class={theme}>Hello</div>;
|
|
36
39
|
* });
|
|
37
40
|
*/
|
|
38
|
-
export declare function inject<T>(key:
|
|
41
|
+
export declare function inject<T>(key: InjectionKey<T>): T | undefined;
|
|
42
|
+
export declare function inject<T>(key: InjectionKey<T>, defaultValue: T): T;
|
|
43
|
+
export declare function inject<T>(key: string | symbol, defaultValue: T): T;
|
|
44
|
+
export declare function inject<T>(key: string | symbol): T | undefined;
|
|
39
45
|
//# sourceMappingURL=provide-inject.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provide-inject.d.ts","sourceRoot":"","sources":["../../src/component/provide-inject.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,wDAAwD;AACxD,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,MAAM,GAAG;IAAE,MAAM,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AAEtD
|
|
1
|
+
{"version":3,"file":"provide-inject.d.ts","sourceRoot":"","sources":["../../src/component/provide-inject.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,wDAAwD;AACxD,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,MAAM,GAAG;IAAE,MAAM,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAW/D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;AAC/D,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC;AACpE,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC;AACpE,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC"}
|