ripple 0.3.125 → 0.3.127
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 +65 -0
- package/package.json +3 -3
- package/src/jsx-runtime.d.ts +1128 -967
- package/src/runtime/internal/client/render.js +3 -2
- package/src/runtime/internal/server/index.js +6 -1
- package/tests/client/basic/basic.styling.test.tsrx +3 -3
- package/tests/client/css/scoped-styles.test.tsrx +652 -0
- package/tests/client/dynamic-elements.test.tsrx +5 -2
- package/tests/fixtures/scoped-styles/theme.tsrx +20 -0
- package/tests/server/dynamic-elements.test.tsrx +5 -2
- package/tests/server/scoped-styles.test.tsrx +299 -0
- package/tests/utils/jsx-runtime-types.test.js +106 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,70 @@
|
|
|
1
1
|
# ripple
|
|
2
2
|
|
|
3
|
+
## 0.3.127
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#1447](https://github.com/Ripple-TS/ripple/pull/1447)
|
|
8
|
+
[`d824f7b`](https://github.com/Ripple-TS/ripple/commit/d824f7b790991f89b0935e05ceb78e2214ab3394)
|
|
9
|
+
Thanks [@leonidaz](https://github.com/leonidaz)! - Align JSX component types
|
|
10
|
+
with the public `Component` type so component props and functions returning
|
|
11
|
+
renderable primitives or arrays are accepted as JSX tags.
|
|
12
|
+
|
|
13
|
+
- [#1448](https://github.com/Ripple-TS/ripple/pull/1448)
|
|
14
|
+
[`6c47f52`](https://github.com/Ripple-TS/ripple/commit/6c47f527a790e1b86ed7ff770e9c19f213d4881a)
|
|
15
|
+
Thanks [@leonidaz](https://github.com/leonidaz)! - Qualify JSX element types
|
|
16
|
+
with the Ripple namespace and use DetailedHTMLProps for HTML tag hovers while
|
|
17
|
+
preserving Ripple's attribute, event, and ref types.
|
|
18
|
+
|
|
19
|
+
- Updated dependencies
|
|
20
|
+
[[`ac4361e`](https://github.com/Ripple-TS/ripple/commit/ac4361e2dd1e93c29f44196cfe3b703124083fd0)]:
|
|
21
|
+
- @tsrx/ripple@0.1.64
|
|
22
|
+
|
|
23
|
+
## 0.3.126
|
|
24
|
+
|
|
25
|
+
### Patch Changes
|
|
26
|
+
|
|
27
|
+
- [#1441](https://github.com/Ripple-TS/ripple/pull/1441)
|
|
28
|
+
[`2404ad4`](https://github.com/Ripple-TS/ripple/commit/2404ad4a4fcca21a1887bab25bb94671698f0c9d)
|
|
29
|
+
Thanks [@leonidaz](https://github.com/leonidaz)! - Implement sibling-scoped
|
|
30
|
+
`<style>` blocks, `$class`, and `apply`
|
|
31
|
+
([TSRX RFC #1](https://github.com/tsrx-org/RFCs/discussions/1)) for the Ripple
|
|
32
|
+
target.
|
|
33
|
+
|
|
34
|
+
- A `<style>` block is scoped to its siblings: it styles the items beside it and
|
|
35
|
+
everything below them, never the element that contains it. Blocks among the
|
|
36
|
+
same children share one hash and one stylesheet; nested children lists that
|
|
37
|
+
hold blocks are nested scopes, and every element carries the hash of each
|
|
38
|
+
enclosing scope, outer first. Control-flow branches and templates assigned to
|
|
39
|
+
variables host scopes too.
|
|
40
|
+
- Assigning a block to a variable exposes `$class`. Exported, applied, or
|
|
41
|
+
`$class`-read blocks are themes that keep every selector; other assigned
|
|
42
|
+
blocks stay class maps. `<style apply={theme} />` attaches a theme to a whole
|
|
43
|
+
scope, `<style apply={theme}>…</style>` applies and declares in one tag,
|
|
44
|
+
arrays apply several themes, and a theme may apply other themes. Same-module
|
|
45
|
+
themes inline as literals; imported themes are read through `theme.$class` at
|
|
46
|
+
runtime.
|
|
47
|
+
- CSS is emitted in lexical order (an applied theme before the block that
|
|
48
|
+
applies it, a scope's blocks together, nested scopes after their parent). On
|
|
49
|
+
the server a render registers the sheets it needs in that order, class-map
|
|
50
|
+
reads register their own sheet, and reading `theme.$class` outside a render no
|
|
51
|
+
longer throws.
|
|
52
|
+
- The style diagnostics of the RFC (`tsrx-style-*` codes) are reported, and
|
|
53
|
+
type-only output verifies `apply` targets through a `$class` read.
|
|
54
|
+
- Fixed: a `@{ … }` block rendered as the child of a DOM element on the client
|
|
55
|
+
was dropped; it now renders in place. The `#class` spread attribute accepts
|
|
56
|
+
several class tokens.
|
|
57
|
+
|
|
58
|
+
Raw CSS in a `<style>` inside a plain function that returns JSX is now an error
|
|
59
|
+
(`tsrx-style-standalone-outside-template`): use a `@{ … }` body, or
|
|
60
|
+
`<style>{css}</style>`. Elements are stamped with the scope class after their
|
|
61
|
+
authored classes, and every element of a scope carries it, not only those a
|
|
62
|
+
selector matches.
|
|
63
|
+
|
|
64
|
+
- Updated dependencies
|
|
65
|
+
[[`2404ad4`](https://github.com/Ripple-TS/ripple/commit/2404ad4a4fcca21a1887bab25bb94671698f0c9d)]:
|
|
66
|
+
- @tsrx/ripple@0.1.63
|
|
67
|
+
|
|
3
68
|
## 0.3.125
|
|
4
69
|
|
|
5
70
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "Ripple is an elegant TypeScript UI framework",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Dominic Gannaway",
|
|
6
|
-
"version": "0.3.
|
|
6
|
+
"version": "0.3.127",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"module": "src/runtime/index-client.js",
|
|
9
9
|
"main": "src/runtime/index-client.js",
|
|
@@ -73,8 +73,8 @@
|
|
|
73
73
|
"clsx": "^2.1.1",
|
|
74
74
|
"devalue": "^5.8.1",
|
|
75
75
|
"esm-env": "^1.2.2",
|
|
76
|
-
"@tsrx/core": "^0.1.
|
|
77
|
-
"@tsrx/ripple": "0.1.
|
|
76
|
+
"@tsrx/core": "^0.1.67",
|
|
77
|
+
"@tsrx/ripple": "0.1.64"
|
|
78
78
|
},
|
|
79
79
|
"devDependencies": {
|
|
80
80
|
"@types/estree": "^1.0.8",
|