@praxisjs/jsx 0.6.0 → 0.7.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 +17 -0
- package/dist/__tests__/jsx-runtime.types.test.js +98 -0
- package/dist/__tests__/jsx-runtime.types.test.js.map +1 -1
- package/dist/dom-types.d.ts +263 -226
- package/dist/dom-types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/jsx-runtime.types.test.ts +205 -0
- package/src/dom-types.ts +266 -230
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @praxisjs/jsx
|
|
2
2
|
|
|
3
|
+
## 0.7.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 92d8213: `Reactive<T>` now accepts `null`/`undefined`, both as a static value and as what the reactive function returns (`Reactive<T> = T | null | undefined | (() => T | null | undefined)`). This lets any JSX attribute be conditionally omitted or cleared — the runtime already removes the attribute when a prop resolves to `null`/`undefined` — without a type-cast at the call site.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [98076e7]
|
|
12
|
+
- @praxisjs/runtime@0.5.1
|
|
13
|
+
|
|
14
|
+
## 0.6.1
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- b36b1fd: Audit every attribute in `dom-types.ts` for `Reactive<T>` coverage. The runtime has always accepted a zero-argument function for any JSX attribute, but many attributes (all 30 previously-static `aria-*` attributes, `role`, global attributes like `slot`/`accessKey`/`popover`, and dozens of per-element attributes across `AnchorHTMLAttributes`, `InputHTMLAttributes`, `TableHTMLAttributes`, etc.) weren't typed as `Reactive<T>`, so passing a function for them was a type error even though it worked at runtime. This also fixes several same-attribute inconsistencies between interfaces (e.g. `href`/`target`/`value`/`max`/`src`/`width`/`height`/`dateTime` were reactive in some elements but not others). Attributes that are genuinely one-shot or static by browser spec (`autoFocus`, `autoPlay`, `defaultValue`, `defaultChecked`, `is`, `nonce`, `xmlns`) are intentionally left as-is.
|
|
19
|
+
|
|
3
20
|
## 0.6.0
|
|
4
21
|
|
|
5
22
|
### Minor Changes
|
|
@@ -9,6 +9,104 @@ describe("Reactive<T>", () => {
|
|
|
9
9
|
it("rejects a plain number for Reactive<string>", () => {
|
|
10
10
|
expectTypeOf().not.toMatchTypeOf();
|
|
11
11
|
});
|
|
12
|
+
it("accepts null", () => {
|
|
13
|
+
expectTypeOf().toMatchTypeOf();
|
|
14
|
+
});
|
|
15
|
+
it("accepts undefined", () => {
|
|
16
|
+
expectTypeOf().toMatchTypeOf();
|
|
17
|
+
});
|
|
18
|
+
it("accepts a zero-arg function that can return null or undefined", () => {
|
|
19
|
+
expectTypeOf().toMatchTypeOf();
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
describe("AriaAttributes", () => {
|
|
23
|
+
it("aria-valuenow accepts a reactive number (range widgets)", () => {
|
|
24
|
+
expectTypeOf().toMatchTypeOf();
|
|
25
|
+
expectTypeOf().toMatchTypeOf();
|
|
26
|
+
});
|
|
27
|
+
it("aria-valuetext accepts a reactive string (range widgets)", () => {
|
|
28
|
+
expectTypeOf().toMatchTypeOf();
|
|
29
|
+
expectTypeOf().toMatchTypeOf();
|
|
30
|
+
});
|
|
31
|
+
it("aria-valuemin / aria-valuemax accept a reactive number", () => {
|
|
32
|
+
expectTypeOf().toMatchTypeOf();
|
|
33
|
+
expectTypeOf().toMatchTypeOf();
|
|
34
|
+
});
|
|
35
|
+
it("aria-selected accepts a reactive boolean (baseline for comparison)", () => {
|
|
36
|
+
expectTypeOf().toMatchTypeOf();
|
|
37
|
+
});
|
|
38
|
+
it("aria-activedescendant accepts a reactive string", () => {
|
|
39
|
+
expectTypeOf().toMatchTypeOf();
|
|
40
|
+
});
|
|
41
|
+
it("aria-level / aria-posinset / aria-setsize accept a reactive number", () => {
|
|
42
|
+
expectTypeOf().toMatchTypeOf();
|
|
43
|
+
expectTypeOf().toMatchTypeOf();
|
|
44
|
+
expectTypeOf().toMatchTypeOf();
|
|
45
|
+
});
|
|
46
|
+
it("aria-rowindex / aria-colindex / aria-rowcount / aria-colcount accept a reactive number", () => {
|
|
47
|
+
expectTypeOf().toMatchTypeOf();
|
|
48
|
+
expectTypeOf().toMatchTypeOf();
|
|
49
|
+
expectTypeOf().toMatchTypeOf();
|
|
50
|
+
expectTypeOf().toMatchTypeOf();
|
|
51
|
+
});
|
|
52
|
+
it("aria-sort / aria-orientation / aria-autocomplete accept a reactive literal union", () => {
|
|
53
|
+
expectTypeOf().toMatchTypeOf();
|
|
54
|
+
expectTypeOf().toMatchTypeOf();
|
|
55
|
+
expectTypeOf().toMatchTypeOf();
|
|
56
|
+
});
|
|
57
|
+
it("aria-controls / aria-describedby / aria-labelledby / aria-owns accept a reactive string", () => {
|
|
58
|
+
expectTypeOf().toMatchTypeOf();
|
|
59
|
+
expectTypeOf().toMatchTypeOf();
|
|
60
|
+
expectTypeOf().toMatchTypeOf();
|
|
61
|
+
expectTypeOf().toMatchTypeOf();
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
describe("HTMLAttributes — global attribute reactivity", () => {
|
|
65
|
+
it("role accepts a reactive literal union", () => {
|
|
66
|
+
expectTypeOf().toMatchTypeOf();
|
|
67
|
+
});
|
|
68
|
+
it("slot / accessKey / part accept a reactive string", () => {
|
|
69
|
+
expectTypeOf().toMatchTypeOf();
|
|
70
|
+
expectTypeOf().toMatchTypeOf();
|
|
71
|
+
expectTypeOf().toMatchTypeOf();
|
|
72
|
+
});
|
|
73
|
+
it("popover accepts a reactive boolean or literal union", () => {
|
|
74
|
+
expectTypeOf().toMatchTypeOf();
|
|
75
|
+
});
|
|
76
|
+
it("autoFocus stays a plain boolean — one-shot mount semantics, not reactive", () => {
|
|
77
|
+
expectTypeOf().not.toMatchTypeOf();
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
describe("Cross-interface Reactive<T> consistency", () => {
|
|
81
|
+
it("href is reactive on <base> and <link>, matching <a>/<area>/SVG", () => {
|
|
82
|
+
expectTypeOf().toMatchTypeOf();
|
|
83
|
+
expectTypeOf().toMatchTypeOf();
|
|
84
|
+
});
|
|
85
|
+
it("target is reactive on <base> and <form>, matching <a>/<area>", () => {
|
|
86
|
+
expectTypeOf().toMatchTypeOf();
|
|
87
|
+
expectTypeOf().toMatchTypeOf();
|
|
88
|
+
});
|
|
89
|
+
it("value is reactive on <li>, matching every other value-bearing element", () => {
|
|
90
|
+
expectTypeOf().toMatchTypeOf();
|
|
91
|
+
});
|
|
92
|
+
it("max is reactive on <progress>, matching <input>/<meter>", () => {
|
|
93
|
+
expectTypeOf().toMatchTypeOf();
|
|
94
|
+
});
|
|
95
|
+
it("src is reactive on <script> and <track>, matching <img>/<iframe>/media", () => {
|
|
96
|
+
expectTypeOf().toMatchTypeOf();
|
|
97
|
+
expectTypeOf().toMatchTypeOf();
|
|
98
|
+
});
|
|
99
|
+
it("width is reactive on <table>, matching <img>/<iframe>/<video>/etc.", () => {
|
|
100
|
+
expectTypeOf().toMatchTypeOf();
|
|
101
|
+
});
|
|
102
|
+
it("height/width are reactive on <td>, matching every other sized element", () => {
|
|
103
|
+
expectTypeOf().toMatchTypeOf();
|
|
104
|
+
expectTypeOf().toMatchTypeOf();
|
|
105
|
+
});
|
|
106
|
+
it("dateTime is reactive on <del>, matching <time>", () => {
|
|
107
|
+
expectTypeOf().toMatchTypeOf();
|
|
108
|
+
expectTypeOf().toMatchTypeOf();
|
|
109
|
+
});
|
|
12
110
|
});
|
|
13
111
|
describe("LiteralUnion-based string attributes", () => {
|
|
14
112
|
it("ButtonType: literal values are assignable", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-runtime.types.test.js","sourceRoot":"","sources":["../../src/__tests__/jsx-runtime.types.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"jsx-runtime.types.test.js","sourceRoot":"","sources":["../../src/__tests__/jsx-runtime.types.test.ts"],"names":[],"mappings":"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"}
|