@praxisjs/jsx 0.5.4 → 0.6.1
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 +62 -0
- package/dist/__tests__/jsx-runtime.types.test.js +89 -0
- package/dist/__tests__/jsx-runtime.types.test.js.map +1 -1
- package/dist/dom-types.d.ts +348 -235
- package/dist/dom-types.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/jsx-runtime.types.test.ts +193 -0
- package/src/dom-types.ts +360 -242
- package/src/index.ts +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,67 @@
|
|
|
1
1
|
# @praxisjs/jsx
|
|
2
2
|
|
|
3
|
+
## 0.6.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 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.
|
|
8
|
+
|
|
9
|
+
## 0.6.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 4060b4f: Expand DOM event coverage and HTML/SVG attribute types.
|
|
14
|
+
|
|
15
|
+
**`@praxisjs/runtime` — EVENT_MAP expanded from 24 to 82 entries.**
|
|
16
|
+
|
|
17
|
+
Bug fix: `onToggle`, `onClose`, and `onCancel` were declared in their respective JSX interfaces but absent from `EVENT_MAP`. The runtime was treating them as reactive getters instead of event listeners. They are now wired correctly.
|
|
18
|
+
|
|
19
|
+
New event categories added to `EVENT_MAP`:
|
|
20
|
+
- **Pointer** — `onPointerDown`, `onPointerUp`, `onPointerMove`, `onPointerEnter`, `onPointerLeave`, `onPointerOver`, `onPointerOut`, `onPointerCancel`, `onGotPointerCapture`, `onLostPointerCapture`
|
|
21
|
+
- **Mouse** — `onMouseOver`, `onMouseOut` (bubbling variants)
|
|
22
|
+
- **Drag** — `onDrag`, `onDragEnter`, `onDragLeave`
|
|
23
|
+
- **Form** — `onBeforeInput`, `onSelect`, `onInvalid`
|
|
24
|
+
- **Clipboard** — `onCopy`, `onCut`, `onPaste`
|
|
25
|
+
- **Composition (IME)** — `onCompositionStart`, `onCompositionUpdate`, `onCompositionEnd`
|
|
26
|
+
- **Resource** — `onLoad`, `onError`
|
|
27
|
+
- **Scroll** — `onScrollEnd`
|
|
28
|
+
- **Element-specific** — `onBeforeToggle`
|
|
29
|
+
- **Media** — `onAbort`, `onCanPlay`, `onCanPlayThrough`, `onDurationChange`, `onEmptied`, `onEnded`, `onLoadedData`, `onLoadedMetadata`, `onLoadStart`, `onPause`, `onPlay`, `onPlaying`, `onProgress`, `onRateChange`, `onSeeked`, `onSeeking`, `onStalled`, `onSuspend`, `onTimeUpdate`, `onVolumeChange`, `onWaiting`
|
|
30
|
+
|
|
31
|
+
**`@praxisjs/jsx` — type additions.**
|
|
32
|
+
|
|
33
|
+
`AriaAttributes`:
|
|
34
|
+
- `"aria-expanded"` — was missing entirely; it is one of the most commonly used ARIA attributes (accordions, disclosures, dropdowns)
|
|
35
|
+
- `"aria-autocomplete"` — for combobox/searchbox widgets
|
|
36
|
+
- `"aria-errormessage"` — references the element that provides the validation error message
|
|
37
|
+
|
|
38
|
+
`DOMAttributes<T>`: all new event categories above are now typed with their correct native event types (`PointerEvent`, `ClipboardEvent`, `CompositionEvent`, `ProgressEvent`, etc.) and `currentTarget` narrowed to `T`.
|
|
39
|
+
|
|
40
|
+
`HTMLAttributes<T>`:
|
|
41
|
+
- `autoFocus` — `autofocus` is a global HTML5 attribute, not only valid on form controls
|
|
42
|
+
- `inert` — `Reactive<boolean>`; blocks all user interaction and assistive technology programmatically
|
|
43
|
+
- `popover` — Popover API; accepts `boolean` (empty attribute, defaults to `"auto"`) or `"auto"` / `"manual"`
|
|
44
|
+
- `accessKey` — keyboard shortcut hint
|
|
45
|
+
- `nonce` — CSP nonce passthrough
|
|
46
|
+
- `part` — CSS `::part()` export list for shadow DOM styling
|
|
47
|
+
- `data-*` — template-literal index signature `[key: \`data-${string}\`]: Reactive<string | number | boolean> | undefined`; data attributes are now accepted without a cast on any JSX element
|
|
48
|
+
|
|
49
|
+
`MediaHTMLAttributes<T>`: all 21 standard media events typed and wired.
|
|
50
|
+
|
|
51
|
+
`DetailsHTMLAttributes` / `DialogHTMLAttributes`: `onBeforeToggle` added to both.
|
|
52
|
+
|
|
53
|
+
`InputHTMLAttributes`: `popovertarget` and `popovertargetaction` added (consistent with `ButtonHTMLAttributes`).
|
|
54
|
+
|
|
55
|
+
`SVGAttributes<T>`:
|
|
56
|
+
- `pointerEvents` — typed with all valid SVG `pointer-events` keyword values
|
|
57
|
+
- `vectorEffect`, `shapeRendering`, `textRendering`, `imageRendering`, `colorInterpolation`, `paintOrder` — rendering hints
|
|
58
|
+
- `cursor` — cursor override on SVG elements
|
|
59
|
+
|
|
60
|
+
### Patch Changes
|
|
61
|
+
|
|
62
|
+
- Updated dependencies [4060b4f]
|
|
63
|
+
- @praxisjs/runtime@0.5.0
|
|
64
|
+
|
|
3
65
|
## 0.5.4
|
|
4
66
|
|
|
5
67
|
### Patch Changes
|
|
@@ -10,6 +10,95 @@ describe("Reactive<T>", () => {
|
|
|
10
10
|
expectTypeOf().not.toMatchTypeOf();
|
|
11
11
|
});
|
|
12
12
|
});
|
|
13
|
+
describe("AriaAttributes", () => {
|
|
14
|
+
it("aria-valuenow accepts a reactive number (range widgets)", () => {
|
|
15
|
+
expectTypeOf().toMatchTypeOf();
|
|
16
|
+
expectTypeOf().toMatchTypeOf();
|
|
17
|
+
});
|
|
18
|
+
it("aria-valuetext accepts a reactive string (range widgets)", () => {
|
|
19
|
+
expectTypeOf().toMatchTypeOf();
|
|
20
|
+
expectTypeOf().toMatchTypeOf();
|
|
21
|
+
});
|
|
22
|
+
it("aria-valuemin / aria-valuemax accept a reactive number", () => {
|
|
23
|
+
expectTypeOf().toMatchTypeOf();
|
|
24
|
+
expectTypeOf().toMatchTypeOf();
|
|
25
|
+
});
|
|
26
|
+
it("aria-selected accepts a reactive boolean (baseline for comparison)", () => {
|
|
27
|
+
expectTypeOf().toMatchTypeOf();
|
|
28
|
+
});
|
|
29
|
+
it("aria-activedescendant accepts a reactive string", () => {
|
|
30
|
+
expectTypeOf().toMatchTypeOf();
|
|
31
|
+
});
|
|
32
|
+
it("aria-level / aria-posinset / aria-setsize accept a reactive number", () => {
|
|
33
|
+
expectTypeOf().toMatchTypeOf();
|
|
34
|
+
expectTypeOf().toMatchTypeOf();
|
|
35
|
+
expectTypeOf().toMatchTypeOf();
|
|
36
|
+
});
|
|
37
|
+
it("aria-rowindex / aria-colindex / aria-rowcount / aria-colcount accept a reactive number", () => {
|
|
38
|
+
expectTypeOf().toMatchTypeOf();
|
|
39
|
+
expectTypeOf().toMatchTypeOf();
|
|
40
|
+
expectTypeOf().toMatchTypeOf();
|
|
41
|
+
expectTypeOf().toMatchTypeOf();
|
|
42
|
+
});
|
|
43
|
+
it("aria-sort / aria-orientation / aria-autocomplete accept a reactive literal union", () => {
|
|
44
|
+
expectTypeOf().toMatchTypeOf();
|
|
45
|
+
expectTypeOf().toMatchTypeOf();
|
|
46
|
+
expectTypeOf().toMatchTypeOf();
|
|
47
|
+
});
|
|
48
|
+
it("aria-controls / aria-describedby / aria-labelledby / aria-owns accept a reactive string", () => {
|
|
49
|
+
expectTypeOf().toMatchTypeOf();
|
|
50
|
+
expectTypeOf().toMatchTypeOf();
|
|
51
|
+
expectTypeOf().toMatchTypeOf();
|
|
52
|
+
expectTypeOf().toMatchTypeOf();
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
describe("HTMLAttributes — global attribute reactivity", () => {
|
|
56
|
+
it("role accepts a reactive literal union", () => {
|
|
57
|
+
expectTypeOf().toMatchTypeOf();
|
|
58
|
+
});
|
|
59
|
+
it("slot / accessKey / part accept a reactive string", () => {
|
|
60
|
+
expectTypeOf().toMatchTypeOf();
|
|
61
|
+
expectTypeOf().toMatchTypeOf();
|
|
62
|
+
expectTypeOf().toMatchTypeOf();
|
|
63
|
+
});
|
|
64
|
+
it("popover accepts a reactive boolean or literal union", () => {
|
|
65
|
+
expectTypeOf().toMatchTypeOf();
|
|
66
|
+
});
|
|
67
|
+
it("autoFocus stays a plain boolean — one-shot mount semantics, not reactive", () => {
|
|
68
|
+
expectTypeOf().not.toMatchTypeOf();
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
describe("Cross-interface Reactive<T> consistency", () => {
|
|
72
|
+
it("href is reactive on <base> and <link>, matching <a>/<area>/SVG", () => {
|
|
73
|
+
expectTypeOf().toMatchTypeOf();
|
|
74
|
+
expectTypeOf().toMatchTypeOf();
|
|
75
|
+
});
|
|
76
|
+
it("target is reactive on <base> and <form>, matching <a>/<area>", () => {
|
|
77
|
+
expectTypeOf().toMatchTypeOf();
|
|
78
|
+
expectTypeOf().toMatchTypeOf();
|
|
79
|
+
});
|
|
80
|
+
it("value is reactive on <li>, matching every other value-bearing element", () => {
|
|
81
|
+
expectTypeOf().toMatchTypeOf();
|
|
82
|
+
});
|
|
83
|
+
it("max is reactive on <progress>, matching <input>/<meter>", () => {
|
|
84
|
+
expectTypeOf().toMatchTypeOf();
|
|
85
|
+
});
|
|
86
|
+
it("src is reactive on <script> and <track>, matching <img>/<iframe>/media", () => {
|
|
87
|
+
expectTypeOf().toMatchTypeOf();
|
|
88
|
+
expectTypeOf().toMatchTypeOf();
|
|
89
|
+
});
|
|
90
|
+
it("width is reactive on <table>, matching <img>/<iframe>/<video>/etc.", () => {
|
|
91
|
+
expectTypeOf().toMatchTypeOf();
|
|
92
|
+
});
|
|
93
|
+
it("height/width are reactive on <td>, matching every other sized element", () => {
|
|
94
|
+
expectTypeOf().toMatchTypeOf();
|
|
95
|
+
expectTypeOf().toMatchTypeOf();
|
|
96
|
+
});
|
|
97
|
+
it("dateTime is reactive on <del>, matching <time>", () => {
|
|
98
|
+
expectTypeOf().toMatchTypeOf();
|
|
99
|
+
expectTypeOf().toMatchTypeOf();
|
|
100
|
+
});
|
|
101
|
+
});
|
|
13
102
|
describe("LiteralUnion-based string attributes", () => {
|
|
14
103
|
it("ButtonType: literal values are assignable", () => {
|
|
15
104
|
expectTypeOf().toMatchTypeOf();
|
|
@@ -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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"}
|