ripple 0.3.127 → 0.4.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.
Files changed (192) hide show
  1. package/CHANGELOG.md +293 -0
  2. package/package.json +10 -4
  3. package/src/runtime/element.js +23 -6
  4. package/src/runtime/index-client.js +81 -41
  5. package/src/runtime/index-server.js +1 -0
  6. package/src/runtime/internal/client/blocks.js +192 -114
  7. package/src/runtime/internal/client/component.js +4 -30
  8. package/src/runtime/internal/client/composite.js +12 -13
  9. package/src/runtime/internal/client/constants.js +14 -5
  10. package/src/runtime/internal/client/context.js +12 -19
  11. package/src/runtime/internal/client/css.js +7 -9
  12. package/src/runtime/internal/client/events.js +178 -90
  13. package/src/runtime/internal/client/expression.js +185 -124
  14. package/src/runtime/internal/client/for.js +616 -264
  15. package/src/runtime/internal/client/head.js +10 -5
  16. package/src/runtime/internal/client/html.js +1 -0
  17. package/src/runtime/internal/client/hydration.js +152 -10
  18. package/src/runtime/internal/client/if.js +239 -50
  19. package/src/runtime/internal/client/index.js +9 -13
  20. package/src/runtime/internal/client/operations.js +44 -51
  21. package/src/runtime/internal/client/portal.js +163 -85
  22. package/src/runtime/internal/client/render.js +44 -25
  23. package/src/runtime/internal/client/rpc.js +3 -3
  24. package/src/runtime/internal/client/runtime.js +799 -576
  25. package/src/runtime/internal/client/selector.js +77 -0
  26. package/src/runtime/internal/client/template.js +133 -158
  27. package/src/runtime/internal/client/transport.js +38 -0
  28. package/src/runtime/internal/client/try.js +465 -426
  29. package/src/runtime/internal/client/types.d.ts +65 -21
  30. package/src/runtime/internal/client/utils.js +1 -3
  31. package/src/runtime/internal/server/dynamic.js +20 -21
  32. package/src/runtime/internal/server/index.js +327 -275
  33. package/src/runtime/internal/server/rpc.js +3 -2
  34. package/src/runtime/internal/server/transport.js +16 -0
  35. package/src/runtime/transport.js +21 -0
  36. package/tests/client/__snapshots__/for.test.tsrx.snap +0 -5
  37. package/tests/client/array/array.copy-within.test.tsrx +12 -12
  38. package/tests/client/array/array.derived.test.tsrx +46 -46
  39. package/tests/client/array/array.iteration.test.tsrx +10 -10
  40. package/tests/client/array/array.mutations.test.tsrx +20 -20
  41. package/tests/client/array/array.static.test.tsrx +11 -11
  42. package/tests/client/array/array.to-methods.test.tsrx +6 -6
  43. package/tests/client/async-suspend.test.tsrx +74 -75
  44. package/tests/client/basic/basic.attributes.test.tsrx +86 -83
  45. package/tests/client/basic/basic.collections.test.tsrx +12 -12
  46. package/tests/client/basic/basic.components.test.tsrx +99 -25
  47. package/tests/client/basic/basic.errors.test.tsrx +18 -18
  48. package/tests/client/basic/basic.events.test.tsrx +42 -42
  49. package/tests/client/basic/basic.get-set.test.tsrx +8 -8
  50. package/tests/client/basic/basic.reactivity.test.tsrx +97 -29
  51. package/tests/client/basic/basic.rendering.test.tsrx +25 -25
  52. package/tests/client/basic/basic.utilities.test.tsrx +3 -3
  53. package/tests/client/boundaries.test.tsrx +8 -8
  54. package/tests/client/boxed-locals.test.tsrx +452 -0
  55. package/tests/client/compiler/__snapshots__/compiler.assignments.test.tsrx.snap +6 -6
  56. package/tests/client/compiler/compiler.assignments.test.tsrx +9 -73
  57. package/tests/client/compiler/compiler.attributes.test.tsrx +23 -23
  58. package/tests/client/compiler/compiler.basic.test.tsrx +15 -60
  59. package/tests/client/compiler/compiler.tracked-access.test.tsrx +18 -43
  60. package/tests/client/compiler/compiler.try-in-function.test.tsrx +2 -2
  61. package/tests/client/composite/__snapshots__/composite.render.test.tsrx.snap +0 -1
  62. package/tests/client/composite/composite.dynamic-components.test.tsrx +77 -6
  63. package/tests/client/composite/composite.props.test.tsrx +149 -12
  64. package/tests/client/composite/composite.reactivity.test.tsrx +51 -52
  65. package/tests/client/composite/composite.render.test.tsrx +26 -9
  66. package/tests/client/css/scoped-styles.test.tsrx +8 -8
  67. package/tests/client/date.test.tsrx +42 -42
  68. package/tests/client/derived-release.test.tsrx +370 -0
  69. package/tests/client/dynamic-elements.test.tsrx +45 -45
  70. package/tests/client/events.test.tsrx +97 -71
  71. package/tests/client/for-selector.test.tsrx +221 -0
  72. package/tests/client/for-single-root-items.test.tsrx +118 -3
  73. package/tests/client/for.test.tsrx +332 -31
  74. package/tests/client/head.test.tsrx +19 -19
  75. package/tests/client/html.test.tsrx +11 -9
  76. package/tests/client/if-block.test.tsrx +80 -0
  77. package/tests/client/map.test.tsrx +16 -16
  78. package/tests/client/media-query.test.tsrx +7 -7
  79. package/tests/client/portal.test.tsrx +224 -26
  80. package/tests/client/primitive-text.test.tsrx +50 -0
  81. package/tests/client/prop-kind-switch.test.tsrx +141 -0
  82. package/tests/client/ref.test.tsrx +17 -17
  83. package/tests/client/return.test.tsrx +26 -3
  84. package/tests/client/root-boundary.test.tsrx +42 -0
  85. package/tests/client/scoped-flush.test.tsrx +8 -8
  86. package/tests/client/set.test.tsrx +6 -6
  87. package/tests/client/svg.test.tsrx +11 -11
  88. package/tests/client/switch.test.tsrx +44 -44
  89. package/tests/client/track-async-hydration.test.tsrx +4 -4
  90. package/tests/client/try.test.tsrx +151 -83
  91. package/tests/client/tsx.test.tsrx +43 -40
  92. package/tests/client/url/url.derived.test.tsrx +6 -6
  93. package/tests/client/url-search-params/url-search-params.derived.test.tsrx +8 -8
  94. package/tests/client/url-search-params/url-search-params.iteration.test.tsrx +10 -10
  95. package/tests/client/url-search-params/url-search-params.mutation.test.tsrx +10 -10
  96. package/tests/client/url-search-params/url-search-params.retrieval.test.tsrx +18 -18
  97. package/tests/client/url-search-params/url-search-params.serialization.test.tsrx +2 -2
  98. package/tests/hydration/basic.test.js +74 -1
  99. package/tests/hydration/build-components.js +22 -1
  100. package/tests/hydration/compiled/client/basic.js +1142 -713
  101. package/tests/hydration/compiled/client/composite.js +151 -100
  102. package/tests/hydration/compiled/client/events.js +190 -150
  103. package/tests/hydration/compiled/client/for.js +1472 -1126
  104. package/tests/hydration/compiled/client/fragment-cursor.js +2341 -0
  105. package/tests/hydration/compiled/client/head.js +255 -199
  106. package/tests/hydration/compiled/client/hmr.js +54 -41
  107. package/tests/hydration/compiled/client/html-in-template.js +54 -39
  108. package/tests/hydration/compiled/client/html.js +1633 -1263
  109. package/tests/hydration/compiled/client/if-children.js +420 -270
  110. package/tests/hydration/compiled/client/if-fragment-controlflow.js +363 -317
  111. package/tests/hydration/compiled/client/if.js +229 -219
  112. package/tests/hydration/compiled/client/mixed-control-flow.js +420 -400
  113. package/tests/hydration/compiled/client/nested-control-flow.js +1326 -1255
  114. package/tests/hydration/compiled/client/portal.js +87 -95
  115. package/tests/hydration/compiled/client/reactivity.js +140 -83
  116. package/tests/hydration/compiled/client/return.js +28 -19
  117. package/tests/hydration/compiled/client/streaming.js +390 -306
  118. package/tests/hydration/compiled/client/switch.js +258 -266
  119. package/tests/hydration/compiled/client/track-async-serialization.js +448 -280
  120. package/tests/hydration/compiled/client/try.js +173 -129
  121. package/tests/hydration/compiled/client/typed-text.js +71 -0
  122. package/tests/hydration/compiled/fixtures/money.js +10 -0
  123. package/tests/hydration/compiled/server/basic.js +123 -6
  124. package/tests/hydration/compiled/server/composite.js +16 -30
  125. package/tests/hydration/compiled/server/events.js +19 -19
  126. package/tests/hydration/compiled/server/for.js +109 -49
  127. package/tests/hydration/compiled/server/fragment-cursor.js +1687 -0
  128. package/tests/hydration/compiled/server/head.js +20 -28
  129. package/tests/hydration/compiled/server/hmr.js +2 -2
  130. package/tests/hydration/compiled/server/html.js +71 -247
  131. package/tests/hydration/compiled/server/if-children.js +107 -15
  132. package/tests/hydration/compiled/server/if.js +11 -15
  133. package/tests/hydration/compiled/server/mixed-control-flow.js +8 -8
  134. package/tests/hydration/compiled/server/portal.js +14 -22
  135. package/tests/hydration/compiled/server/reactivity.js +14 -46
  136. package/tests/hydration/compiled/server/streaming.js +19 -19
  137. package/tests/hydration/compiled/server/switch.js +8 -8
  138. package/tests/hydration/compiled/server/track-async-serialization.js +150 -23
  139. package/tests/hydration/compiled/server/try.js +8 -8
  140. package/tests/hydration/compiled/server/typed-text.js +17 -0
  141. package/tests/hydration/components/basic.tsrx +44 -8
  142. package/tests/hydration/components/composite.tsrx +2 -2
  143. package/tests/hydration/components/events.tsrx +25 -25
  144. package/tests/hydration/components/for.tsrx +115 -67
  145. package/tests/hydration/components/fragment-cursor.tsrx +650 -0
  146. package/tests/hydration/components/head.tsrx +16 -16
  147. package/tests/hydration/components/hmr.tsrx +2 -2
  148. package/tests/hydration/components/html.tsrx +7 -7
  149. package/tests/hydration/components/if-children.tsrx +72 -25
  150. package/tests/hydration/components/if.tsrx +18 -18
  151. package/tests/hydration/components/mixed-control-flow.tsrx +11 -11
  152. package/tests/hydration/components/portal.tsrx +3 -3
  153. package/tests/hydration/components/reactivity.tsrx +16 -16
  154. package/tests/hydration/components/streaming.tsrx +20 -20
  155. package/tests/hydration/components/switch.tsrx +20 -20
  156. package/tests/hydration/components/text-types.ts +4 -0
  157. package/tests/hydration/components/track-async-serialization.tsrx +80 -26
  158. package/tests/hydration/components/try.tsrx +8 -8
  159. package/tests/hydration/components/typed-text.tsrx +22 -0
  160. package/tests/hydration/fixtures/money.js +10 -0
  161. package/tests/hydration/for.test.js +36 -0
  162. package/tests/hydration/fragment-cursor.test.js +111 -0
  163. package/tests/hydration/if-children.test.js +24 -0
  164. package/tests/hydration/streaming.test.js +19 -0
  165. package/tests/hydration/track-async-serialization.test.js +87 -2
  166. package/tests/hydration/tsconfig.text-types.json +10 -0
  167. package/tests/hydration/typed-text.test.js +34 -0
  168. package/tests/server/await.test.tsrx +3 -3
  169. package/tests/server/basic.attributes.test.tsrx +42 -42
  170. package/tests/server/basic.components.test.tsrx +64 -8
  171. package/tests/server/basic.test.tsrx +34 -32
  172. package/tests/server/compiler.test.tsrx +1 -70
  173. package/tests/server/composite.props.test.tsrx +6 -6
  174. package/tests/server/dynamic-elements.test.tsrx +31 -8
  175. package/tests/server/for.test.tsrx +94 -0
  176. package/tests/server/head.test.tsrx +11 -11
  177. package/tests/server/scoped-styles.test.tsrx +2 -2
  178. package/tests/server/streaming-ssr.test.tsrx +48 -43
  179. package/tests/server/track-async-serialization.test.tsrx +204 -21
  180. package/tests/server/try.test.tsrx +48 -48
  181. package/tests/types/transport.ts +40 -0
  182. package/tests/utils/vite-plugin-config.test.js +23 -0
  183. package/types/index.d.ts +48 -7
  184. package/types/server.d.ts +3 -0
  185. package/types/transport.d.ts +15 -0
  186. package/src/runtime/internal/client/switch.js +0 -113
  187. package/src/utils/errors.js +0 -13
  188. package/tests/client/lazy-array.test.tsrx +0 -31
  189. package/tests/client/lazy-destructuring.test.tsrx +0 -438
  190. package/tests/client/tracked-index-access.test.tsrx +0 -113
  191. package/tests/server/lazy-destructuring.test.tsrx +0 -595
  192. package/tests/server/tracked-index-access.test.tsrx +0 -76
@@ -4,362 +4,354 @@ import * as _$_ from 'ripple/internal/client';
4
4
  var root = _$_.template(`<div class="status-success">Success</div>`, 0);
5
5
  var root_1 = _$_.template(`<div class="status-error">Error</div>`, 0);
6
6
  var root_2 = _$_.template(`<div class="status-unknown">Unknown</div>`, 0);
7
- var root_5 = _$_.template(`<div class="case-a">Case A</div>`, 0);
8
- var root_6 = _$_.template(`<div class="case-b">Case B</div>`, 0);
9
- var root_7 = _$_.template(`<div class="case-c">Case C</div>`, 0);
10
- var root_4 = _$_.template(`<button class="toggle">Toggle</button><!>`, 1, 2);
11
- var root_3 = _$_.template(`<!>`, 1, 1);
12
- var root_8 = _$_.template(`<div class="case-1-2">1 or 2</div>`, 0);
13
- var root_9 = _$_.template(`<div class="case-other">Other</div>`, 0);
14
- var root_12 = _$_.template(`<div class="level-1">Level 1</div>`, 0);
15
- var root_13 = _$_.template(`<div class="level-2">Level 2</div>`, 0);
16
- var root_14 = _$_.template(`<div class="level-3">Level 3</div>`, 0);
17
- var root_11 = _$_.template(`<button class="level-toggle">Toggle Level</button><!>`, 1, 2);
18
- var root_10 = _$_.template(`<!>`, 1, 1);
19
- var root_17 = _$_.template(`<div class="block-1">Block 1</div>`, 0);
20
- var root_18 = _$_.template(`<div class="block-2">Block 2</div>`, 0);
21
- var root_19 = _$_.template(`<div class="block-3">Block 3</div>`, 0);
22
- var root_16 = _$_.template(`<button class="block-toggle">Toggle</button><!>`, 1, 2);
23
- var root_15 = _$_.template(`<!>`, 1, 1);
24
- var root_22 = _$_.template(`<div class="nobreak-1">NoBreak 1</div>`, 0);
25
- var root_23 = _$_.template(`<div class="nobreak-2">NoBreak 2</div>`, 0);
26
- var root_24 = _$_.template(`<div class="nobreak-3">NoBreak 3</div>`, 0);
27
- var root_21 = _$_.template(`<button class="nobreak-toggle">Toggle</button><!>`, 1, 2);
28
- var root_20 = _$_.template(`<!>`, 1, 1);
29
7
 
30
- import { track } from 'ripple';
8
+ function switch_case_0(__anchor, status) {
9
+ var div = root();
31
10
 
32
- export function SwitchStatic() {
33
- return _$_.tsrx_element((__anchor, __block) => {
34
- const status = 'success';
11
+ _$_.append(__anchor, div);
12
+ }
13
+
14
+ function switch_case_1(__anchor, status) {
15
+ var div_1 = root_1();
35
16
 
36
- {
37
- var switch_case_0 = (__anchor) => {
38
- var div = root();
17
+ _$_.append(__anchor, div_1);
18
+ }
39
19
 
40
- _$_.append(__anchor, div);
41
- };
20
+ function switch_case_default(__anchor, status) {
21
+ var div_2 = root_2();
42
22
 
43
- var switch_case_1 = (__anchor) => {
44
- var div_1 = root_1();
23
+ _$_.append(__anchor, div_2);
24
+ }
45
25
 
46
- _$_.append(__anchor, div_1);
47
- };
26
+ function switch_1(status) {
27
+ switch (status) {
28
+ case 'success':
29
+ return switch_case_0;
48
30
 
49
- var switch_case_default = (__anchor) => {
50
- var div_2 = root_2();
31
+ case 'error':
32
+ return switch_case_1;
51
33
 
52
- _$_.append(__anchor, div_2);
53
- };
34
+ default:
35
+ return switch_case_default;
36
+ }
37
+ }
54
38
 
55
- _$_.switch(
56
- __anchor,
57
- () => {
58
- var result = [];
39
+ function SwitchStatic_render(__anchor, __block) {
40
+ const status = 'success';
59
41
 
60
- switch (status) {
61
- case 'success':
62
- result.push(switch_case_0);
63
- return result;
42
+ _$_.switch(__anchor, switch_1, true, status);
43
+ }
64
44
 
65
- case 'error':
66
- result.push(switch_case_1);
67
- return result;
45
+ SwitchStatic[_$_.$r] = SwitchStatic_render;
68
46
 
69
- default:
70
- result.push(switch_case_default);
71
- return result;
72
- }
73
- },
74
- true
75
- );
76
- }
77
- });
47
+ var root_5 = _$_.template(`<div class="case-a">Case A</div>`, 0);
48
+ var root_6 = _$_.template(`<div class="case-b">Case B</div>`, 0);
49
+ var root_7 = _$_.template(`<div class="case-c">Case C</div>`, 0);
50
+
51
+ function switch_case_0_1(__anchor, status) {
52
+ var div_3 = root_5();
53
+
54
+ _$_.append(__anchor, div_3);
78
55
  }
79
56
 
80
- export function SwitchReactive() {
81
- return _$_.tsrx_element((__anchor, __block) => {
82
- let lazy = _$_.track('a', __block, '9b34d955');
83
- var fragment = root_3();
84
- var node_1 = _$_.first_child_frag(fragment);
57
+ function switch_case_1_1(__anchor, status) {
58
+ var div_4 = root_6();
59
+
60
+ _$_.append(__anchor, div_4);
61
+ }
62
+
63
+ function switch_case_default_1(__anchor, status) {
64
+ var div_5 = root_7();
85
65
 
86
- _$_.expression(node_1, () => _$_.tsrx_element((__anchor, __block) => {
87
- var fragment_1 = root_4();
88
- var button = _$_.first_child_frag(fragment_1);
66
+ _$_.append(__anchor, div_5);
67
+ }
89
68
 
90
- button.__click = () => {
91
- if (lazy.value === 'a') _$_.set(lazy, 'b'); else if (lazy.value === 'b') _$_.set(lazy, 'c'); else _$_.set(lazy, 'a');
92
- };
69
+ function switch_2(status) {
70
+ switch (status.value) {
71
+ case 'a':
72
+ return switch_case_0_1;
93
73
 
94
- var node = _$_.sibling(button);
74
+ case 'b':
75
+ return switch_case_1_1;
95
76
 
96
- {
97
- var switch_case_0_1 = (__anchor) => {
98
- var div_3 = root_5();
77
+ default:
78
+ return switch_case_default_1;
79
+ }
80
+ }
99
81
 
100
- _$_.append(__anchor, div_3);
101
- };
82
+ var root_4 = _$_.template(`<button class="toggle">Toggle</button><!>`, 1, 2);
83
+ var root_3 = _$_.template(`<!>`, 1, 1);
102
84
 
103
- var switch_case_1_1 = (__anchor) => {
104
- var div_4 = root_6();
85
+ function SwitchReactive_render(__anchor, __block) {
86
+ const status = _$_.track('a', __block, '9b34d955');
87
+ var fragment = root_3();
88
+ var node_1 = _$_.first_child_frag(fragment);
105
89
 
106
- _$_.append(__anchor, div_4);
107
- };
90
+ _$_.expression(node_1, () => _$_.tsrx_element((__anchor, __block) => {
91
+ var fragment_1 = root_4();
92
+ var button = _$_.first_child_frag(fragment_1);
108
93
 
109
- var switch_case_default_1 = (__anchor) => {
110
- var div_5 = root_7();
94
+ button.__click = () => {
95
+ if (status.value === 'a') status.value = 'b'; else if (status.value === 'b') status.value = 'c'; else status.value = 'a';
96
+ };
111
97
 
112
- _$_.append(__anchor, div_5);
113
- };
98
+ var node = _$_.hydrating ? _$_.hydrate_sibling() : button.nextSibling;
114
99
 
115
- _$_.switch(node, () => {
116
- var result = [];
100
+ _$_.switch(node, switch_2, false, status);
101
+ _$_.append(__anchor, fragment_1);
102
+ }));
117
103
 
118
- switch (lazy.value) {
119
- case 'a':
120
- result.push(switch_case_0_1);
121
- return result;
104
+ _$_.append(__anchor, fragment);
105
+ }
122
106
 
123
- case 'b':
124
- result.push(switch_case_1_1);
125
- return result;
107
+ SwitchReactive[_$_.$r] = SwitchReactive_render;
126
108
 
127
- default:
128
- result.push(switch_case_default_1);
129
- return result;
130
- }
131
- });
132
- }
109
+ var root_8 = _$_.template(`<div class="case-1-2">1 or 2</div>`, 0);
110
+ var root_9 = _$_.template(`<div class="case-other">Other</div>`, 0);
133
111
 
134
- _$_.append(__anchor, fragment_1);
135
- }));
112
+ function switch_case_0_2(__anchor, val) {
113
+ var div_6 = root_8();
136
114
 
137
- _$_.append(__anchor, fragment);
138
- });
115
+ _$_.append(__anchor, div_6);
139
116
  }
140
117
 
141
- export function SwitchFallthrough() {
142
- return _$_.tsrx_element((__anchor, __block) => {
143
- const val = 1;
118
+ function switch_case_default_2(__anchor, val) {
119
+ var div_7 = root_9();
120
+
121
+ _$_.append(__anchor, div_7);
122
+ }
123
+
124
+ function switch_3(val) {
125
+ switch (val) {
126
+ case 1:
127
+ return;
128
+
129
+ case 2:
130
+ return switch_case_0_2;
131
+
132
+ default:
133
+ return switch_case_default_2;
134
+ }
135
+ }
144
136
 
145
- {
146
- var switch_case_0_2 = (__anchor) => {
147
- var div_6 = root_8();
137
+ function SwitchFallthrough_render(__anchor, __block) {
138
+ const val = 1;
148
139
 
149
- _$_.append(__anchor, div_6);
150
- };
140
+ _$_.switch(__anchor, switch_3, true, val);
141
+ }
151
142
 
152
- var switch_case_default_2 = (__anchor) => {
153
- var div_7 = root_9();
143
+ SwitchFallthrough[_$_.$r] = SwitchFallthrough_render;
154
144
 
155
- _$_.append(__anchor, div_7);
156
- };
145
+ var root_12 = _$_.template(`<div class="level-1">Level 1</div>`, 0);
146
+ var root_13 = _$_.template(`<div class="level-2">Level 2</div>`, 0);
147
+ var root_14 = _$_.template(`<div class="level-3">Level 3</div>`, 0);
157
148
 
158
- _$_.switch(
159
- __anchor,
160
- () => {
161
- var result = [];
149
+ function switch_case_0_3(__anchor, level) {
150
+ var div_8 = root_12();
162
151
 
163
- switch (val) {
164
- case 1:
165
- return result;
152
+ _$_.append(__anchor, div_8);
153
+ }
166
154
 
167
- case 2:
168
- result.push(switch_case_0_2);
169
- return result;
155
+ function switch_case_1_2(__anchor, level) {
156
+ var div_9 = root_13();
170
157
 
171
- default:
172
- result.push(switch_case_default_2);
173
- return result;
174
- }
175
- },
176
- true
177
- );
178
- }
179
- });
158
+ _$_.append(__anchor, div_9);
180
159
  }
181
160
 
182
- export function SwitchNumericLevels() {
183
- return _$_.tsrx_element((__anchor, __block) => {
184
- let lazy_1 = _$_.track(1, __block, '7581a7ab');
185
- var fragment_2 = root_10();
186
- var node_3 = _$_.first_child_frag(fragment_2);
161
+ function switch_case_2(__anchor, level) {
162
+ var div_10 = root_14();
163
+
164
+ _$_.append(__anchor, div_10);
165
+ }
166
+
167
+ function switch_4(level) {
168
+ switch (level.value) {
169
+ case 1:
170
+ return switch_case_0_3;
171
+
172
+ case 2:
173
+ return switch_case_1_2;
174
+
175
+ case 3:
176
+ return switch_case_2;
177
+ }
178
+ }
187
179
 
188
- _$_.expression(node_3, () => _$_.tsrx_element((__anchor, __block) => {
189
- var fragment_3 = root_11();
190
- var button_1 = _$_.first_child_frag(fragment_3);
180
+ var root_11 = _$_.template(`<button class="level-toggle">Toggle Level</button><!>`, 1, 2);
181
+ var root_10 = _$_.template(`<!>`, 1, 1);
191
182
 
192
- button_1.__click = () => {
193
- if (lazy_1.value === 1) _$_.set(lazy_1, 2); else if (lazy_1.value === 2) _$_.set(lazy_1, 3); else _$_.set(lazy_1, 1);
194
- };
183
+ function SwitchNumericLevels_render(__anchor, __block) {
184
+ const level = _$_.track(1, __block, '7581a7ab');
185
+ var fragment_2 = root_10();
186
+ var node_3 = _$_.first_child_frag(fragment_2);
195
187
 
196
- var node_2 = _$_.sibling(button_1);
188
+ _$_.expression(node_3, () => _$_.tsrx_element((__anchor, __block) => {
189
+ var fragment_3 = root_11();
190
+ var button_1 = _$_.first_child_frag(fragment_3);
197
191
 
198
- {
199
- var switch_case_0_3 = (__anchor) => {
200
- var div_8 = root_12();
192
+ button_1.__click = () => {
193
+ if (level.value === 1) level.value = 2; else if (level.value === 2) level.value = 3; else level.value = 1;
194
+ };
201
195
 
202
- _$_.append(__anchor, div_8);
203
- };
196
+ var node_2 = _$_.hydrating ? _$_.hydrate_sibling() : button_1.nextSibling;
204
197
 
205
- var switch_case_1_2 = (__anchor) => {
206
- var div_9 = root_13();
198
+ _$_.switch(node_2, switch_4, false, level);
199
+ _$_.append(__anchor, fragment_3);
200
+ }));
207
201
 
208
- _$_.append(__anchor, div_9);
209
- };
202
+ _$_.append(__anchor, fragment_2);
203
+ }
210
204
 
211
- var switch_case_2 = (__anchor) => {
212
- var div_10 = root_14();
205
+ SwitchNumericLevels[_$_.$r] = SwitchNumericLevels_render;
213
206
 
214
- _$_.append(__anchor, div_10);
215
- };
207
+ var root_17 = _$_.template(`<div class="block-1">Block 1</div>`, 0);
208
+ var root_18 = _$_.template(`<div class="block-2">Block 2</div>`, 0);
209
+ var root_19 = _$_.template(`<div class="block-3">Block 3</div>`, 0);
216
210
 
217
- _$_.switch(node_2, () => {
218
- var result = [];
211
+ function switch_case_0_4(__anchor, level) {
212
+ var div_11 = root_17();
219
213
 
220
- switch (lazy_1.value) {
221
- case 1:
222
- result.push(switch_case_0_3);
223
- return result;
214
+ _$_.append(__anchor, div_11);
215
+ }
224
216
 
225
- case 2:
226
- result.push(switch_case_1_2);
227
- return result;
217
+ function switch_case_1_3(__anchor, level) {
218
+ var div_12 = root_18();
228
219
 
229
- case 3:
230
- result.push(switch_case_2);
231
- return result;
232
- }
233
- });
234
- }
220
+ _$_.append(__anchor, div_12);
221
+ }
235
222
 
236
- _$_.append(__anchor, fragment_3);
237
- }));
223
+ function switch_case_2_1(__anchor, level) {
224
+ var div_13 = root_19();
238
225
 
239
- _$_.append(__anchor, fragment_2);
240
- });
226
+ _$_.append(__anchor, div_13);
241
227
  }
242
228
 
243
- export function SwitchBlockScoped() {
244
- return _$_.tsrx_element((__anchor, __block) => {
245
- let lazy_2 = _$_.track(1, __block, 'ca9f9852');
246
- var fragment_4 = root_15();
247
- var node_5 = _$_.first_child_frag(fragment_4);
229
+ function switch_5(level) {
230
+ switch (level.value) {
231
+ case 1:
232
+ return switch_case_0_4;
233
+
234
+ case 2:
235
+ return switch_case_1_3;
248
236
 
249
- _$_.expression(node_5, () => _$_.tsrx_element((__anchor, __block) => {
250
- var fragment_5 = root_16();
251
- var button_2 = _$_.first_child_frag(fragment_5);
237
+ case 3:
238
+ return switch_case_2_1;
239
+ }
240
+ }
241
+
242
+ var root_16 = _$_.template(`<button class="block-toggle">Toggle</button><!>`, 1, 2);
243
+ var root_15 = _$_.template(`<!>`, 1, 1);
252
244
 
253
- button_2.__click = () => {
254
- if (lazy_2.value === 1) _$_.set(lazy_2, 2); else if (lazy_2.value === 2) _$_.set(lazy_2, 3); else _$_.set(lazy_2, 1);
255
- };
245
+ function SwitchBlockScoped_render(__anchor, __block) {
246
+ const level = _$_.track(1, __block, 'ca9f9852');
247
+ var fragment_4 = root_15();
248
+ var node_5 = _$_.first_child_frag(fragment_4);
256
249
 
257
- var node_4 = _$_.sibling(button_2);
250
+ _$_.expression(node_5, () => _$_.tsrx_element((__anchor, __block) => {
251
+ var fragment_5 = root_16();
252
+ var button_2 = _$_.first_child_frag(fragment_5);
258
253
 
259
- {
260
- var switch_case_0_4 = (__anchor) => {
261
- var div_11 = root_17();
254
+ button_2.__click = () => {
255
+ if (level.value === 1) level.value = 2; else if (level.value === 2) level.value = 3; else level.value = 1;
256
+ };
262
257
 
263
- _$_.append(__anchor, div_11);
264
- };
258
+ var node_4 = _$_.hydrating ? _$_.hydrate_sibling() : button_2.nextSibling;
265
259
 
266
- var switch_case_1_3 = (__anchor) => {
267
- var div_12 = root_18();
260
+ _$_.switch(node_4, switch_5, false, level);
261
+ _$_.append(__anchor, fragment_5);
262
+ }));
268
263
 
269
- _$_.append(__anchor, div_12);
270
- };
264
+ _$_.append(__anchor, fragment_4);
265
+ }
271
266
 
272
- var switch_case_2_1 = (__anchor) => {
273
- var div_13 = root_19();
267
+ SwitchBlockScoped[_$_.$r] = SwitchBlockScoped_render;
274
268
 
275
- _$_.append(__anchor, div_13);
276
- };
269
+ var root_22 = _$_.template(`<div class="nobreak-1">NoBreak 1</div>`, 0);
270
+ var root_23 = _$_.template(`<div class="nobreak-2">NoBreak 2</div>`, 0);
271
+ var root_24 = _$_.template(`<div class="nobreak-3">NoBreak 3</div>`, 0);
277
272
 
278
- _$_.switch(node_4, () => {
279
- var result = [];
273
+ function switch_case_0_5(__anchor, level) {
274
+ var div_14 = root_22();
280
275
 
281
- switch (lazy_2.value) {
282
- case 1:
283
- result.push(switch_case_0_4);
284
- return result;
276
+ _$_.append(__anchor, div_14);
277
+ }
285
278
 
286
- case 2:
287
- result.push(switch_case_1_3);
288
- return result;
279
+ function switch_case_1_4(__anchor, level) {
280
+ var div_15 = root_23();
289
281
 
290
- case 3:
291
- result.push(switch_case_2_1);
292
- return result;
293
- }
294
- });
295
- }
282
+ _$_.append(__anchor, div_15);
283
+ }
296
284
 
297
- _$_.append(__anchor, fragment_5);
298
- }));
285
+ function switch_case_2_2(__anchor, level) {
286
+ var div_16 = root_24();
299
287
 
300
- _$_.append(__anchor, fragment_4);
301
- });
288
+ _$_.append(__anchor, div_16);
302
289
  }
303
290
 
304
- export function SwitchNoBreak() {
305
- return _$_.tsrx_element((__anchor, __block) => {
306
- let lazy_3 = _$_.track(1, __block, '6b7cb0ea');
307
- var fragment_6 = root_20();
308
- var node_7 = _$_.first_child_frag(fragment_6);
291
+ function switch_6(level) {
292
+ switch (level.value) {
293
+ case 1:
294
+ return switch_case_0_5;
295
+
296
+ case 2:
297
+ return switch_case_1_4;
298
+
299
+ case 3:
300
+ return switch_case_2_2;
301
+ }
302
+ }
309
303
 
310
- _$_.expression(node_7, () => _$_.tsrx_element((__anchor, __block) => {
311
- var fragment_7 = root_21();
312
- var button_3 = _$_.first_child_frag(fragment_7);
304
+ var root_21 = _$_.template(`<button class="nobreak-toggle">Toggle</button><!>`, 1, 2);
305
+ var root_20 = _$_.template(`<!>`, 1, 1);
313
306
 
314
- button_3.__click = () => {
315
- if (lazy_3.value === 1) _$_.set(lazy_3, 2); else if (lazy_3.value === 2) _$_.set(lazy_3, 3); else _$_.set(lazy_3, 1);
316
- };
307
+ function SwitchNoBreak_render(__anchor, __block) {
308
+ const level = _$_.track(1, __block, '6b7cb0ea');
309
+ var fragment_6 = root_20();
310
+ var node_7 = _$_.first_child_frag(fragment_6);
317
311
 
318
- var node_6 = _$_.sibling(button_3);
312
+ _$_.expression(node_7, () => _$_.tsrx_element((__anchor, __block) => {
313
+ var fragment_7 = root_21();
314
+ var button_3 = _$_.first_child_frag(fragment_7);
319
315
 
320
- {
321
- var switch_case_0_5 = (__anchor) => {
322
- var div_14 = root_22();
316
+ button_3.__click = () => {
317
+ if (level.value === 1) level.value = 2; else if (level.value === 2) level.value = 3; else level.value = 1;
318
+ };
323
319
 
324
- _$_.append(__anchor, div_14);
325
- };
320
+ var node_6 = _$_.hydrating ? _$_.hydrate_sibling() : button_3.nextSibling;
326
321
 
327
- var switch_case_1_4 = (__anchor) => {
328
- var div_15 = root_23();
322
+ _$_.switch(node_6, switch_6, false, level);
323
+ _$_.append(__anchor, fragment_7);
324
+ }));
329
325
 
330
- _$_.append(__anchor, div_15);
331
- };
326
+ _$_.append(__anchor, fragment_6);
327
+ }
332
328
 
333
- var switch_case_2_2 = (__anchor) => {
334
- var div_16 = root_24();
329
+ SwitchNoBreak[_$_.$r] = SwitchNoBreak_render;
335
330
 
336
- _$_.append(__anchor, div_16);
337
- };
331
+ import { track } from 'ripple';
338
332
 
339
- _$_.switch(node_6, () => {
340
- var result = [];
333
+ export function SwitchStatic() {
334
+ return _$_.tsrx_element(SwitchStatic_render);
335
+ }
341
336
 
342
- switch (lazy_3.value) {
343
- case 1:
344
- result.push(switch_case_0_5);
345
- return result;
337
+ export function SwitchReactive() {
338
+ return _$_.tsrx_element(SwitchReactive_render);
339
+ }
346
340
 
347
- case 2:
348
- result.push(switch_case_1_4);
349
- return result;
341
+ export function SwitchFallthrough() {
342
+ return _$_.tsrx_element(SwitchFallthrough_render);
343
+ }
350
344
 
351
- case 3:
352
- result.push(switch_case_2_2);
353
- return result;
354
- }
355
- });
356
- }
345
+ export function SwitchNumericLevels() {
346
+ return _$_.tsrx_element(SwitchNumericLevels_render);
347
+ }
357
348
 
358
- _$_.append(__anchor, fragment_7);
359
- }));
349
+ export function SwitchBlockScoped() {
350
+ return _$_.tsrx_element(SwitchBlockScoped_render);
351
+ }
360
352
 
361
- _$_.append(__anchor, fragment_6);
362
- });
353
+ export function SwitchNoBreak() {
354
+ return _$_.tsrx_element(SwitchNoBreak_render);
363
355
  }
364
356
 
365
357
  _$_.delegate(['click']);