Skip to content

Commit ec12e53

Browse files
committed
fix: support rendering define tag without any body content
1 parent 1ed1b4b commit ec12e53

13 files changed

Lines changed: 196 additions & 11 deletions

File tree

.changeset/ten-maps-remain.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@marko/runtime-tags": patch
3+
---
4+
5+
Fix issue when rendering a define tag with no body content.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"vars": {
3+
"props": {
4+
"$_": "m",
5+
"$init": "r"
6+
}
7+
}
8+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Render
2+
```html
3+
<div>
4+
Foo Fallback
5+
</div>
6+
<div>
7+
Bar Fallback
8+
</div>
9+
<div>
10+
Baz Content
11+
</div>
12+
```
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Render
2+
```html
3+
<!---->
4+
<div>
5+
Foo Fallback
6+
</div>
7+
<div>
8+
Bar Fallback
9+
</div>
10+
<div>
11+
Baz Content
12+
</div>
13+
<!---->
14+
```
15+
16+
# Mutations
17+
```
18+
INSERT #comment0, div0, div1, div2, #comment1
19+
```
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// size: 108 (min) 87 (brotli)
2+
(_._content_resume("a1", "<div>Bar Fallback</div>", "b"),
3+
_._content_resume("a2", "<div>Foo Fallback</div>", "b"));
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
const $Baz_content__walks = /* over(1) */"b",
2+
$Baz_content__template = "<div>Baz Content</div>";
3+
export const $template = `<!><!><!>${$Baz_content__template}<!>`;
4+
export const $walks = /* over(1), replace, over(1), replace, over(1), <Baz>, over(1) */`b%b%b/${$Baz_content__walks}&b`;
5+
import * as _ from "@marko/runtime-tags/debug/dom";
6+
const $Baz_content2 = /* @__PURE__ */_._content("__tests__/template.marko_4_content", "<div>Baz Fallback</div>", /* over(1) */"b");
7+
const $Bar_content = _._content_resume("__tests__/template.marko_2_content", "<div>Bar Fallback</div>", /* over(1) */"b");
8+
const $Foo_content = _._content_resume("__tests__/template.marko_1_content", "<div>Foo Fallback</div>", /* over(1) */"b");
9+
const $dynamicTag = /* @__PURE__ */_._dynamic_tag("#text/0", $Foo_content);
10+
const $Foo = ($scope, Foo) => $dynamicTag($scope, Foo);
11+
const $dynamicTag2 = /* @__PURE__ */_._dynamic_tag("#text/1", $Bar_content);
12+
const $Bar = ($scope, Bar) => $dynamicTag2($scope, Bar);
13+
export function $setup($scope) {
14+
$Foo($scope, {});
15+
$Bar($scope, {});
16+
}
17+
export default /* @__PURE__ */_._template("__tests__/template.marko", $template, $walks, $setup);
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import * as _ from "@marko/runtime-tags/debug/html";
2+
export default _._template("__tests__/template.marko", input => {
3+
const $scope0_id = _._scope_id();
4+
const Foo = {};
5+
_._dynamic_tag($scope0_id, "#text/0", Foo, {}, _._content_resume("__tests__/template.marko_1_content", () => {
6+
const $scope1_id = _._scope_id();
7+
_._html("<div>Foo Fallback</div>");
8+
}, $scope0_id), 0, 0);
9+
const Bar = {};
10+
_._dynamic_tag($scope0_id, "#text/1", Bar, {}, _._content_resume("__tests__/template.marko_2_content", () => {
11+
const $scope2_id = _._scope_id();
12+
_._html("<div>Bar Fallback</div>");
13+
}, $scope0_id), 0, 0);
14+
const Baz = {
15+
content: _._content("__tests__/template.marko_3_content", () => {
16+
const $scope3_id = _._scope_id();
17+
_._html("<div>Baz Content</div>");
18+
})
19+
};
20+
Baz.content({});
21+
});
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Render
2+
```html
3+
<div>
4+
Foo Fallback
5+
</div>
6+
<div>
7+
Bar Fallback
8+
</div>
9+
<div>
10+
Baz Content
11+
</div>
12+
```
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Render
2+
```html
3+
<html>
4+
<head />
5+
<body>
6+
<div>
7+
Foo Fallback
8+
</div>
9+
<div>
10+
Bar Fallback
11+
</div>
12+
<div>
13+
Baz Content
14+
</div>
15+
</body>
16+
</html>
17+
```
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Render End
2+
```html
3+
<div>
4+
Foo Fallback
5+
</div>
6+
<div>
7+
Bar Fallback
8+
</div>
9+
<div>
10+
Baz Content
11+
</div>
12+
```

0 commit comments

Comments
 (0)