@praxisjs/jsx 0.2.0 → 0.3.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/CHANGELOG.md +28 -0
- package/dist/jsx-runtime.d.ts +4 -2
- package/dist/jsx-runtime.d.ts.map +1 -1
- package/dist/jsx-runtime.js +1 -1
- package/dist/jsx-runtime.js.map +1 -1
- package/package.json +2 -2
- package/src/jsx-runtime.ts +7 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# @praxisjs/jsx
|
|
2
2
|
|
|
3
|
+
## 0.3.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 339a97d: Component props now accept reactive getters in JSX. Any prop can be passed as a plain value (static) or as an arrow function (reactive) — the runtime tracks signal dependencies inside the getter and updates the DOM automatically.
|
|
8
|
+
|
|
9
|
+
```tsx
|
|
10
|
+
// static — read once at mount
|
|
11
|
+
<Counter value={this.count} />
|
|
12
|
+
|
|
13
|
+
// reactive — updates whenever this.count changes
|
|
14
|
+
<Counter value={() => this.count} />
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
This applies to both `StatelessComponent` (via the generic props interface) and `StatefulComponent` (via `@Prop()`, which already unwrapped getters at runtime — now the types reflect this).
|
|
18
|
+
|
|
19
|
+
**Changes:**
|
|
20
|
+
|
|
21
|
+
- `PropsOf<T>` now maps each prop key `K` to `Reactive<P[K]>` (`P[K] | (() => P[K])`), so the JSX type checker accepts getters for any component prop without requiring the component author to annotate them manually.
|
|
22
|
+
- `InstancePropsOf<C>` (used for `StatefulComponent` `@Prop()` inference) likewise wraps each inferred prop with `Reactive<>`.
|
|
23
|
+
- `Reactive<T>` is now exported from `@praxisjs/jsx` and `@praxisjs/jsx/jsx-runtime`.
|
|
24
|
+
|
|
25
|
+
## 0.2.1
|
|
26
|
+
|
|
27
|
+
### Patch Changes
|
|
28
|
+
|
|
29
|
+
- @praxisjs/runtime@0.2.1
|
|
30
|
+
|
|
3
31
|
## 0.2.0
|
|
4
32
|
|
|
5
33
|
### Minor Changes
|
package/dist/jsx-runtime.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { Children } from "@praxisjs/shared";
|
|
2
2
|
import { type ComponentConstructor } from "@praxisjs/shared/internal";
|
|
3
3
|
export declare const Fragment: unique symbol;
|
|
4
|
-
type PropsOf<T> = T extends string ? JSX.IntrinsicElements[T] : T extends ComponentConstructor<infer P> ?
|
|
4
|
+
type PropsOf<T> = T extends string ? JSX.IntrinsicElements[T] : T extends ComponentConstructor<infer P> ? {
|
|
5
|
+
[K in keyof P]: Reactive<P[K]>;
|
|
6
|
+
} : Record<string, unknown>;
|
|
5
7
|
type Reactive<T> = T | (() => T);
|
|
6
8
|
export declare function jsx<T extends string | ComponentConstructor | symbol>(type: T, props: PropsOf<T> & {
|
|
7
9
|
children?: unknown;
|
|
@@ -16,7 +18,7 @@ export declare namespace JSX {
|
|
|
16
18
|
type InstancePropsOf<C> = C extends {
|
|
17
19
|
prototype: infer I;
|
|
18
20
|
} ? {
|
|
19
|
-
[K in keyof I as K extends "defaults" | "onMount" | "onUnmount" | "onUpdate" ? never : I[K] extends (...args: unknown[]) => unknown ? never : K]?: I[K]
|
|
21
|
+
[K in keyof I as K extends "defaults" | "onMount" | "onUnmount" | "onUpdate" ? never : I[K] extends (...args: unknown[]) => unknown ? never : K]?: Reactive<I[K]>;
|
|
20
22
|
} : never;
|
|
21
23
|
export type LibraryManagedAttributes<C, P> = P & (C extends string ? Record<never, never> : InstancePropsOf<C> extends never ? Record<never, never> : InstancePropsOf<C>) & GlobalAttributes;
|
|
22
24
|
export interface IntrinsicElements {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,
|
|
1
|
+
{"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/jsx-runtime.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { mountElement, mountComponent, getCurrentScope, } from "@praxisjs/runtime";
|
|
2
|
-
import { isComponent } from "@praxisjs/shared/internal";
|
|
2
|
+
import { isComponent, } from "@praxisjs/shared/internal";
|
|
3
3
|
export const Fragment = Symbol("Fragment");
|
|
4
4
|
export function jsx(type, props) {
|
|
5
5
|
const scope = getCurrentScope();
|
package/dist/jsx-runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,
|
|
1
|
+
{"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,WAAW,GAEZ,MAAM,2BAA2B,CAAC;AAEnC,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAU3C,MAAM,UAAU,GAAG,CACjB,IAAO,EACP,KAA0C;IAE1C,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAEhC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAW,CAAC;QACtE,IAAI,QAAQ,YAAY,IAAI;YAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC,IAAI,EAAE,KAAgC,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,cAAc,CAAC,IAAI,EAAE,KAAgC,EAAE,KAAK,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisjs/jsx",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"typescript": "^5.9.3"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@praxisjs/runtime": "0.2.
|
|
25
|
+
"@praxisjs/runtime": "0.2.1",
|
|
26
26
|
"@praxisjs/shared": "0.2.0"
|
|
27
27
|
},
|
|
28
28
|
"scripts": {
|
package/src/jsx-runtime.ts
CHANGED
|
@@ -4,14 +4,17 @@ import {
|
|
|
4
4
|
getCurrentScope,
|
|
5
5
|
} from "@praxisjs/runtime";
|
|
6
6
|
import type { Children } from "@praxisjs/shared";
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
isComponent,
|
|
9
|
+
type ComponentConstructor,
|
|
10
|
+
} from "@praxisjs/shared/internal";
|
|
8
11
|
|
|
9
12
|
export const Fragment = Symbol("Fragment");
|
|
10
13
|
|
|
11
14
|
type PropsOf<T> = T extends string
|
|
12
15
|
? JSX.IntrinsicElements[T]
|
|
13
16
|
: T extends ComponentConstructor<infer P>
|
|
14
|
-
? P
|
|
17
|
+
? { [K in keyof P]: Reactive<P[K]> }
|
|
15
18
|
: Record<string, unknown>;
|
|
16
19
|
|
|
17
20
|
type Reactive<T> = T | (() => T);
|
|
@@ -35,11 +38,7 @@ export function jsx<T extends string | ComponentConstructor | symbol>(
|
|
|
35
38
|
}
|
|
36
39
|
|
|
37
40
|
if (isComponent(type)) {
|
|
38
|
-
return mountComponent(
|
|
39
|
-
type,
|
|
40
|
-
props as Record<string, unknown>,
|
|
41
|
-
scope,
|
|
42
|
-
);
|
|
41
|
+
return mountComponent(type, props as Record<string, unknown>, scope);
|
|
43
42
|
}
|
|
44
43
|
|
|
45
44
|
return document.createComment("?");
|
|
@@ -68,7 +67,7 @@ export namespace JSX {
|
|
|
68
67
|
? never
|
|
69
68
|
: I[K] extends (...args: unknown[]) => unknown
|
|
70
69
|
? never
|
|
71
|
-
: K]?: I[K]
|
|
70
|
+
: K]?: Reactive<I[K]>;
|
|
72
71
|
}
|
|
73
72
|
: never;
|
|
74
73
|
|