ripple 0.4.1 → 0.4.3
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 +162 -0
- package/package.json +9 -3
- package/src/constants.js +4 -0
- package/src/jsx-runtime.d.ts +2 -1
- package/src/runtime/array.js +15 -9
- package/src/runtime/index-client.js +25 -7
- package/src/runtime/index-server.js +1 -0
- package/src/runtime/internal/client/attributes.js +313 -0
- package/src/runtime/internal/client/blocks.js +4 -14
- package/src/runtime/internal/client/component.js +2 -5
- package/src/runtime/internal/client/composite.js +14 -6
- package/src/runtime/internal/client/constants.js +12 -6
- package/src/runtime/internal/client/context.js +3 -2
- package/src/runtime/internal/client/css.js +11 -26
- package/src/runtime/internal/client/errors.js +188 -0
- package/src/runtime/internal/client/events.js +79 -34
- package/src/runtime/internal/client/expression.js +21 -116
- package/src/runtime/internal/client/for.js +272 -222
- package/src/runtime/internal/client/head.js +4 -3
- package/src/runtime/internal/client/html.js +5 -3
- package/src/runtime/internal/client/hydrate.js +484 -0
- package/src/runtime/internal/client/hydration-enabled.js +7 -0
- package/src/runtime/internal/client/hydration.js +16 -97
- package/src/runtime/internal/client/if.js +13 -9
- package/src/runtime/internal/client/index.js +16 -8
- package/src/runtime/internal/client/operations.js +12 -9
- package/src/runtime/internal/client/portal.js +3 -2
- package/src/runtime/internal/client/render.js +75 -321
- package/src/runtime/internal/client/root-boundary-enabled.js +7 -0
- package/src/runtime/internal/client/runtime.js +129 -362
- package/src/runtime/internal/client/template-ns.js +47 -0
- package/src/runtime/internal/client/template.js +63 -140
- package/src/runtime/internal/client/track-async.js +356 -0
- package/src/runtime/internal/client/try.js +133 -319
- package/src/runtime/internal/client/types.d.ts +48 -24
- package/src/runtime/internal/server/index.js +38 -33
- package/src/runtime/internal/server/prerender.js +27 -0
- package/src/server/index.js +1 -0
- package/src/utils/class-name.js +28 -0
- package/tests/client/basic/basic.errors.test.tsrx +3 -3
- package/tests/client/compiler/__snapshots__/compiler.typescript.test.tsrx.snap +0 -2
- package/tests/client/compiler/compiler.basic.test.tsrx +4 -4
- package/tests/client/compiler/compiler.tracked-access.test.tsrx +3 -3
- package/tests/client/composite/composite.props.test.tsrx +10 -10
- package/tests/client/derived-release.test.tsrx +3 -3
- package/tests/client/for-item.test.tsrx +443 -0
- package/tests/client/for-selector.test.tsrx +95 -0
- package/tests/hydration/compiled/client/basic.js +97 -123
- package/tests/hydration/compiled/client/composite.js +5 -5
- package/tests/hydration/compiled/client/events.js +84 -79
- package/tests/hydration/compiled/client/for.js +229 -233
- package/tests/hydration/compiled/client/fragment-cursor.js +781 -481
- package/tests/hydration/compiled/client/head.js +23 -26
- package/tests/hydration/compiled/client/hmr.js +4 -4
- package/tests/hydration/compiled/client/html-in-template.js +5 -5
- package/tests/hydration/compiled/client/html.js +174 -208
- package/tests/hydration/compiled/client/if-children.js +71 -70
- package/tests/hydration/compiled/client/if-fragment-controlflow.js +46 -46
- package/tests/hydration/compiled/client/if.js +26 -26
- package/tests/hydration/compiled/client/mixed-control-flow.js +63 -105
- package/tests/hydration/compiled/client/nested-control-flow.js +170 -390
- package/tests/hydration/compiled/client/portal.js +10 -10
- package/tests/hydration/compiled/client/reactivity.js +36 -50
- package/tests/hydration/compiled/client/return.js +2 -2
- package/tests/hydration/compiled/client/streaming.js +34 -40
- package/tests/hydration/compiled/client/switch.js +25 -25
- package/tests/hydration/compiled/client/track-async-serialization.js +41 -41
- package/tests/hydration/compiled/client/try.js +15 -15
- package/tests/hydration/compiled/client/typed-text.js +8 -19
- package/tests/hydration/compiled/server/basic.js +6 -6
- package/tests/hydration/compiled/server/events.js +13 -61
- package/tests/hydration/compiled/server/for.js +23 -31
- package/tests/hydration/compiled/server/fragment-cursor.js +214 -366
- package/tests/hydration/compiled/server/head.js +6 -6
- package/tests/hydration/compiled/server/hmr.js +1 -1
- package/tests/hydration/compiled/server/html.js +1 -1
- package/tests/hydration/compiled/server/if-children.js +9 -9
- package/tests/hydration/compiled/server/if.js +5 -5
- package/tests/hydration/compiled/server/mixed-control-flow.js +4 -4
- package/tests/hydration/compiled/server/portal.js +1 -1
- package/tests/hydration/compiled/server/reactivity.js +9 -9
- package/tests/hydration/compiled/server/streaming.js +9 -9
- package/tests/hydration/compiled/server/switch.js +4 -4
- package/tests/hydration/compiled/server/track-async-serialization.js +16 -16
- package/tests/hydration/compiled/server/try.js +4 -4
- package/tests/hydration/compiled/server/typed-text.js +1 -1
- package/tests/hydration/components/fragment-cursor.tsrx +60 -0
- package/tests/hydration/components/track-async-serialization.tsrx +2 -2
- package/tests/hydration/fragment-cursor.test.js +34 -1
- package/tests/hydration/track-async-serialization.test.js +1 -1
- package/tests/server/basic.components.test.tsrx +3 -3
- package/tests/server/basic.test.tsrx +23 -0
- package/tests/server/track-async-serialization.test.tsrx +6 -6
- package/tests/utils/tracked-types.test.js +3 -3
- package/types/index.d.ts +8 -8
- package/types/server.d.ts +17 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import * as _$_ from 'ripple/internal/client';
|
|
3
3
|
|
|
4
|
-
var root = _$_.template(`<div class=
|
|
4
|
+
var root = _$_.template(`<div class=layout><!>`);
|
|
5
5
|
|
|
6
6
|
function Layout_render(__anchor, __block, { children }) {
|
|
7
7
|
var div = root();
|
|
@@ -18,7 +18,7 @@ function Layout_render(__anchor, __block, { children }) {
|
|
|
18
18
|
|
|
19
19
|
Layout[_$_.$r] = Layout_render;
|
|
20
20
|
|
|
21
|
-
var root_1 = _$_.template(`<div class=
|
|
21
|
+
var root_1 = _$_.template(`<div class=layout>before<!>after`);
|
|
22
22
|
|
|
23
23
|
function TextWrappedLayout_render(__anchor, __block, { children }) {
|
|
24
24
|
var div_1 = root_1();
|
|
@@ -36,7 +36,7 @@ function TextWrappedLayout_render(__anchor, __block, { children }) {
|
|
|
36
36
|
|
|
37
37
|
TextWrappedLayout[_$_.$r] = TextWrappedLayout_render;
|
|
38
38
|
|
|
39
|
-
var root_2 = _$_.template(`<div class=
|
|
39
|
+
var root_2 = _$_.template(`<div class=single>single`);
|
|
40
40
|
|
|
41
41
|
function SingleChild_render(__anchor, __block) {
|
|
42
42
|
var div_2 = root_2();
|
|
@@ -46,7 +46,7 @@ function SingleChild_render(__anchor, __block) {
|
|
|
46
46
|
|
|
47
47
|
SingleChild[_$_.$r] = SingleChild_render;
|
|
48
48
|
|
|
49
|
-
var root_4 = _$_.template(`<h1>title</h1><p>description
|
|
49
|
+
var root_4 = _$_.template(`<h1>title</h1><p>description`, 1, 2);
|
|
50
50
|
var root_3 = _$_.template(`<!>`, 1, 1);
|
|
51
51
|
|
|
52
52
|
function MultiRootChild_render(__anchor, __block) {
|
|
@@ -81,7 +81,7 @@ function LayoutWithSingleChild_render(__anchor, __block) {
|
|
|
81
81
|
|
|
82
82
|
LayoutWithSingleChild[_$_.$r] = LayoutWithSingleChild_render;
|
|
83
83
|
|
|
84
|
-
var root_5 = _$_.template(`<!><div class=
|
|
84
|
+
var root_5 = _$_.template(`<!><div class=extra>extra`, 1, 2);
|
|
85
85
|
|
|
86
86
|
function LayoutWithMultipleChildren_render(__anchor, __block) {
|
|
87
87
|
_$_.render_component(Layout, __anchor, {
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import * as _$_ from 'ripple/internal/client';
|
|
3
3
|
|
|
4
|
-
var root = _$_.template(`<div><button class=
|
|
4
|
+
var root = _$_.template(`<div><button class=increment>Increment</button><span class=count>`);
|
|
5
|
+
|
|
6
|
+
function render(__prev) {
|
|
7
|
+
var __a = __prev._a.value;
|
|
8
|
+
|
|
9
|
+
if (__prev.a !== __a) {
|
|
10
|
+
_$_.set_text_content(__prev._b, __a, __prev.a);
|
|
11
|
+
__prev.a = __a;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
5
14
|
|
|
6
15
|
function ClickCounter_render(__anchor, __block) {
|
|
7
|
-
const count = _$_.track(0, __block, '
|
|
16
|
+
const count = _$_.track(0, __block, '18illt3');
|
|
8
17
|
var div = root();
|
|
9
18
|
|
|
10
19
|
{
|
|
@@ -15,24 +24,27 @@ function ClickCounter_render(__anchor, __block) {
|
|
|
15
24
|
};
|
|
16
25
|
|
|
17
26
|
var span = _$_.hydrating ? _$_.hydrate_sibling() : button.nextSibling;
|
|
18
|
-
|
|
19
|
-
{
|
|
20
|
-
var expression = _$_.hydrating ? _$_.hydrate_child() : span.firstChild;
|
|
21
|
-
|
|
22
|
-
_$_.expression(expression, () => count.value);
|
|
23
|
-
_$_.hydrating && _$_.pop(span);
|
|
24
|
-
}
|
|
25
27
|
}
|
|
26
28
|
|
|
29
|
+
_$_.render(render, { a: '', _a: count, _b: span });
|
|
27
30
|
_$_.append(__anchor, div);
|
|
28
31
|
}
|
|
29
32
|
|
|
30
33
|
ClickCounter[_$_.$r] = ClickCounter_render;
|
|
31
34
|
|
|
32
|
-
var root_1 = _$_.template(`<div><button class=
|
|
35
|
+
var root_1 = _$_.template(`<div><button class=decrement>-</button><span class=count></span><button class=increment>+`);
|
|
36
|
+
|
|
37
|
+
function render_1(__prev) {
|
|
38
|
+
var __a = __prev._a.value;
|
|
39
|
+
|
|
40
|
+
if (__prev.a !== __a) {
|
|
41
|
+
_$_.set_text_content(__prev._b, __a, __prev.a);
|
|
42
|
+
__prev.a = __a;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
33
45
|
|
|
34
46
|
function IncrementDecrement_render(__anchor, __block) {
|
|
35
|
-
const count = _$_.track(0, __block, '
|
|
47
|
+
const count = _$_.track(0, __block, '11qc3q5');
|
|
36
48
|
var div_1 = root_1();
|
|
37
49
|
|
|
38
50
|
{
|
|
@@ -43,14 +55,6 @@ function IncrementDecrement_render(__anchor, __block) {
|
|
|
43
55
|
};
|
|
44
56
|
|
|
45
57
|
var span_1 = _$_.hydrating ? _$_.hydrate_sibling() : button_1.nextSibling;
|
|
46
|
-
|
|
47
|
-
{
|
|
48
|
-
var expression_1 = _$_.hydrating ? _$_.hydrate_child() : span_1.firstChild;
|
|
49
|
-
|
|
50
|
-
_$_.expression(expression_1, () => count.value);
|
|
51
|
-
_$_.hydrating && _$_.pop(span_1);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
58
|
var button_2 = _$_.hydrating ? _$_.hydrate_sibling() : span_1.nextSibling;
|
|
55
59
|
|
|
56
60
|
button_2.__click = () => {
|
|
@@ -58,16 +62,33 @@ function IncrementDecrement_render(__anchor, __block) {
|
|
|
58
62
|
};
|
|
59
63
|
}
|
|
60
64
|
|
|
65
|
+
_$_.render(render_1, { a: '', _a: count, _b: span_1 });
|
|
61
66
|
_$_.append(__anchor, div_1);
|
|
62
67
|
}
|
|
63
68
|
|
|
64
69
|
IncrementDecrement[_$_.$r] = IncrementDecrement_render;
|
|
65
70
|
|
|
66
|
-
var root_2 = _$_.template(`<div><button class=
|
|
71
|
+
var root_2 = _$_.template(`<div><button class=target>Target</button><span class=clicks></span><span class=hovers>`);
|
|
72
|
+
|
|
73
|
+
function render_2(__prev) {
|
|
74
|
+
var __a = __prev._a.value;
|
|
75
|
+
|
|
76
|
+
if (__prev.a !== __a) {
|
|
77
|
+
_$_.set_text_content(__prev._b, __a, __prev.a);
|
|
78
|
+
__prev.a = __a;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
var __b = __prev._c.value;
|
|
82
|
+
|
|
83
|
+
if (__prev.b !== __b) {
|
|
84
|
+
_$_.set_text_content(__prev._d, __b, __prev.b);
|
|
85
|
+
__prev.b = __b;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
67
88
|
|
|
68
89
|
function MultipleEvents_render(__anchor, __block) {
|
|
69
|
-
const clicks = _$_.track(0, __block, '
|
|
70
|
-
const hovers = _$_.track(0, __block, '
|
|
90
|
+
const clicks = _$_.track(0, __block, 'i8ishc');
|
|
91
|
+
const hovers = _$_.track(0, __block, 'vrf59x');
|
|
71
92
|
var div_2 = root_2();
|
|
72
93
|
|
|
73
94
|
{
|
|
@@ -77,39 +98,34 @@ function MultipleEvents_render(__anchor, __block) {
|
|
|
77
98
|
clicks.value++;
|
|
78
99
|
};
|
|
79
100
|
|
|
80
|
-
_$_.
|
|
101
|
+
_$_.listen('mouseenter', button_3, () => {
|
|
81
102
|
hovers.value++;
|
|
82
103
|
});
|
|
83
104
|
|
|
84
105
|
var span_2 = _$_.hydrating ? _$_.hydrate_sibling() : button_3.nextSibling;
|
|
85
|
-
|
|
86
|
-
{
|
|
87
|
-
var expression_2 = _$_.hydrating ? _$_.hydrate_child() : span_2.firstChild;
|
|
88
|
-
|
|
89
|
-
_$_.expression(expression_2, () => clicks.value);
|
|
90
|
-
_$_.hydrating && _$_.pop(span_2);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
106
|
var span_3 = _$_.hydrating ? _$_.hydrate_sibling() : span_2.nextSibling;
|
|
94
|
-
|
|
95
|
-
{
|
|
96
|
-
var expression_3 = _$_.hydrating ? _$_.hydrate_child() : span_3.firstChild;
|
|
97
|
-
|
|
98
|
-
_$_.expression(expression_3, () => hovers.value);
|
|
99
|
-
_$_.hydrating && _$_.pop(span_3);
|
|
100
|
-
}
|
|
101
107
|
}
|
|
102
108
|
|
|
109
|
+
_$_.render(render_2, { a: '', b: '', _a: clicks, _b: span_2, _c: hovers, _d: span_3 });
|
|
103
110
|
_$_.append(__anchor, div_2);
|
|
104
111
|
}
|
|
105
112
|
|
|
106
113
|
MultipleEvents[_$_.$r] = MultipleEvents_render;
|
|
107
114
|
|
|
108
|
-
var root_3 = _$_.template(`<div><button class=
|
|
115
|
+
var root_3 = _$_.template(`<div><button class=btn>Click</button><span class=count></span><span class=action> `);
|
|
116
|
+
|
|
117
|
+
function render_3(__prev) {
|
|
118
|
+
var __a = __prev._a.value;
|
|
119
|
+
|
|
120
|
+
if (__prev.a !== __a) {
|
|
121
|
+
_$_.set_text_content(__prev._b, __a, __prev.a);
|
|
122
|
+
__prev.a = __a;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
109
125
|
|
|
110
126
|
function MultiStateUpdate_render(__anchor, __block) {
|
|
111
|
-
const count = _$_.track(0, __block, '
|
|
112
|
-
const lastAction = _$_.track('none', __block, '
|
|
127
|
+
const count = _$_.track(0, __block, 'p155r4');
|
|
128
|
+
const lastAction = _$_.track('none', __block, 'gwmyks');
|
|
113
129
|
|
|
114
130
|
const handleClick = () => {
|
|
115
131
|
count.value++;
|
|
@@ -124,14 +140,6 @@ function MultiStateUpdate_render(__anchor, __block) {
|
|
|
124
140
|
button_4.__click = handleClick;
|
|
125
141
|
|
|
126
142
|
var span_4 = _$_.hydrating ? _$_.hydrate_sibling() : button_4.nextSibling;
|
|
127
|
-
|
|
128
|
-
{
|
|
129
|
-
var expression_4 = _$_.hydrating ? _$_.hydrate_child() : span_4.firstChild;
|
|
130
|
-
|
|
131
|
-
_$_.expression(expression_4, () => count.value);
|
|
132
|
-
_$_.hydrating && _$_.pop(span_4);
|
|
133
|
-
}
|
|
134
|
-
|
|
135
143
|
var span_5 = _$_.hydrating ? _$_.hydrate_sibling() : span_4.nextSibling;
|
|
136
144
|
|
|
137
145
|
{
|
|
@@ -142,23 +150,25 @@ function MultiStateUpdate_render(__anchor, __block) {
|
|
|
142
150
|
}
|
|
143
151
|
}
|
|
144
152
|
|
|
153
|
+
_$_.render(render_3, { a: '', _a: count, _b: span_4 });
|
|
145
154
|
_$_.append(__anchor, div_3);
|
|
146
155
|
}
|
|
147
156
|
|
|
148
157
|
MultiStateUpdate[_$_.$r] = MultiStateUpdate_render;
|
|
149
158
|
|
|
150
|
-
var root_4 = _$_.template(`<div><button class=
|
|
159
|
+
var root_4 = _$_.template(`<div><button class=toggle>`);
|
|
151
160
|
|
|
152
|
-
function
|
|
153
|
-
var __a = __prev.
|
|
161
|
+
function render_4(__prev) {
|
|
162
|
+
var __a = __prev._a.value ? 'ON' : 'OFF';
|
|
154
163
|
|
|
155
164
|
if (__prev.a !== __a) {
|
|
156
|
-
_$_.
|
|
165
|
+
_$_.set_text_content(__prev._b, __a, __prev.a);
|
|
166
|
+
__prev.a = __a;
|
|
157
167
|
}
|
|
158
168
|
}
|
|
159
169
|
|
|
160
170
|
function ToggleButton_render(__anchor, __block) {
|
|
161
|
-
const isOn = _$_.track(false, __block, '
|
|
171
|
+
const isOn = _$_.track(false, __block, '1guxsxz');
|
|
162
172
|
var div_4 = root_4();
|
|
163
173
|
|
|
164
174
|
{
|
|
@@ -167,25 +177,22 @@ function ToggleButton_render(__anchor, __block) {
|
|
|
167
177
|
button_5.__click = () => {
|
|
168
178
|
isOn.value = !isOn.value;
|
|
169
179
|
};
|
|
170
|
-
|
|
171
|
-
{
|
|
172
|
-
var expression_6 = _$_.hydrating ? _$_.hydrate_text() : button_5.firstChild;
|
|
173
|
-
}
|
|
174
180
|
}
|
|
175
181
|
|
|
176
|
-
_$_.render(
|
|
182
|
+
_$_.render(render_4, { a: '', _a: isOn, _b: button_5 });
|
|
177
183
|
_$_.append(__anchor, div_4);
|
|
178
184
|
}
|
|
179
185
|
|
|
180
186
|
ToggleButton[_$_.$r] = ToggleButton_render;
|
|
181
187
|
|
|
182
|
-
var root_5 = _$_.template(`<button class=
|
|
188
|
+
var root_5 = _$_.template(`<button class=child-btn>`);
|
|
183
189
|
|
|
184
|
-
function
|
|
185
|
-
var __a = __prev.
|
|
190
|
+
function render_5(__prev) {
|
|
191
|
+
var __a = __prev._a.label;
|
|
186
192
|
|
|
187
193
|
if (__prev.a !== __a) {
|
|
188
|
-
_$_.
|
|
194
|
+
_$_.set_text_content(__prev._b, __a, __prev.a);
|
|
195
|
+
__prev.a = __a;
|
|
189
196
|
}
|
|
190
197
|
}
|
|
191
198
|
|
|
@@ -193,21 +200,25 @@ function ChildButton_render(__anchor, __block, props) {
|
|
|
193
200
|
var button_6 = root_5();
|
|
194
201
|
|
|
195
202
|
_$_.render_event('Click', button_6, () => props.onClick);
|
|
196
|
-
|
|
197
|
-
{
|
|
198
|
-
var expression_7 = _$_.hydrating ? _$_.hydrate_text() : button_6.firstChild;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
_$_.render(render_1, { a: ' ', _props: props, _expression_7: expression_7 });
|
|
203
|
+
_$_.render(render_5, { a: '', _a: props, _b: button_6 });
|
|
202
204
|
_$_.append(__anchor, button_6);
|
|
203
205
|
}
|
|
204
206
|
|
|
205
207
|
ChildButton[_$_.$r] = ChildButton_render;
|
|
206
208
|
|
|
207
|
-
var root_6 = _$_.template(`<div
|
|
209
|
+
var root_6 = _$_.template(`<div><span class=count>`);
|
|
210
|
+
|
|
211
|
+
function render_6(__prev) {
|
|
212
|
+
var __a = __prev._a.value;
|
|
213
|
+
|
|
214
|
+
if (__prev.a !== __a) {
|
|
215
|
+
_$_.set_text_content(__prev._b, __a, __prev.a);
|
|
216
|
+
__prev.a = __a;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
208
219
|
|
|
209
220
|
function ParentWithChildButton_render(__anchor, __block) {
|
|
210
|
-
const count = _$_.track(0, __block, '
|
|
221
|
+
const count = _$_.track(0, __block, '1p94et5');
|
|
211
222
|
var div_5 = root_6();
|
|
212
223
|
|
|
213
224
|
{
|
|
@@ -220,18 +231,12 @@ function ParentWithChildButton_render(__anchor, __block) {
|
|
|
220
231
|
label: "Click me"
|
|
221
232
|
});
|
|
222
233
|
|
|
223
|
-
var span_6 = _$_.hydrating ? _$_.hydrate_sibling() : node
|
|
224
|
-
|
|
225
|
-
{
|
|
226
|
-
var expression_8 = _$_.hydrating ? _$_.hydrate_child() : span_6.firstChild;
|
|
227
|
-
|
|
228
|
-
_$_.expression(expression_8, () => count.value);
|
|
229
|
-
_$_.hydrating && _$_.pop(span_6);
|
|
230
|
-
}
|
|
234
|
+
var span_6 = _$_.hydrating ? _$_.hydrate_sibling() : node;
|
|
231
235
|
|
|
232
236
|
_$_.hydrating && _$_.pop(div_5);
|
|
233
237
|
}
|
|
234
238
|
|
|
239
|
+
_$_.render(render_6, { a: '', _a: count, _b: span_6 });
|
|
235
240
|
_$_.append(__anchor, div_5);
|
|
236
241
|
}
|
|
237
242
|
|