marko 6.0.64 → 6.0.66
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/README.md +72 -0
- package/dist/debug/html.js +18 -13
- package/dist/debug/html.mjs +18 -13
- package/dist/html.js +6 -4
- package/dist/html.mjs +6 -4
- package/dist/translator/index.js +66 -66
- package/package.json +1 -1
- package/tags/id.d.marko +4 -0
- package/tags/let.d.marko +3 -3
package/README.md
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
<div align="center">
|
2
|
+
|
3
|
+
# [<img alt="Marko" src="https://raw.githubusercontent.com/marko-js/website-next/refs/heads/main/public/logo.svg" width="250">](https://markojs.com/)
|
4
|
+
|
5
|
+
**A declarative, HTML-based language that makes building web apps fun 🔥**
|
6
|
+
|
7
|
+
[](https://www.npmjs.com/package/marko)
|
8
|
+
[](https://discord.gg/RFGxYGs)
|
9
|
+
[](https://github.com/marko-js/marko/actions/workflows/ci.yml)
|
10
|
+
[](https://codecov.io/gh/marko-js/marko)
|
11
|
+
[](https://npm-stat.com/charts.html?package=marko)
|
12
|
+
[](https://bestpractices.coreinfrastructure.org/projects/7029)
|
13
|
+
|
14
|
+
[Docs](https://markojs.com/docs/introduction/getting-started) ∙ [Try Online](https://markojs.com/playground) ∙ [Contribute](#contributors) ∙ [Get Support](#community--support)
|
15
|
+
|
16
|
+
</div>
|
17
|
+
|
18
|
+
## Intro
|
19
|
+
|
20
|
+
Marko is HTML _reimagined_ as a language for building dynamic and reactive user interfaces. Almost any valid HTML is valid Marko, and Marko extends HTML for building modern applications more declaratively. Among these extensions are [components](https://markojs.com/docs/reference/custom-tag), [conditionals](https://markojs.com/docs/reference/core-tag#if--else) and [loops](https://markojs.com/docs/reference/core-tag#for), and a full [reactivity system](https://markojs.com/docs/reference/reactivity).
|
21
|
+
|
22
|
+
### Example Component
|
23
|
+
|
24
|
+
The following renders a button and a counter of how many times the button has been pressed:
|
25
|
+
|
26
|
+
**click-count.marko**
|
27
|
+
|
28
|
+
```marko
|
29
|
+
// HTML + JavaScript = 💜
|
30
|
+
<let/count=0>
|
31
|
+
<button onClick() { count++ }>
|
32
|
+
Clicked ${count} times
|
33
|
+
</button>
|
34
|
+
```
|
35
|
+
|
36
|
+
## Getting Started
|
37
|
+
|
38
|
+
1. `npm init marko`
|
39
|
+
2. Read the [docs](https://markojs.com/docs/introduction/getting-started)
|
40
|
+
|
41
|
+
## Community & Support
|
42
|
+
|
43
|
+
<table>
|
44
|
+
<thead><tr>
|
45
|
+
<th><svg viewBox="0 0 576 512"><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1 .1s-.6 .4-.8 .8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2c-41.3 7.1-81.6 19.6-119.7 37.1-.3 .1-.6 .4-.8 .7-76.2 113.8-97.1 224.9-86.9 334.5 0 .3 .1 .5 .2 .8s.3 .4 .5 .6c44.4 32.9 94 58 146.8 74.2 .4 .1 .8 .1 1.1 0s.7-.4 .9-.7c11.3-15.4 21.4-31.8 30-48.8 .1-.2 .2-.5 .2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6 .2-.9 .3-.5 .6-.7c3.1-2.3 6.2-4.7 9.1-7.1 .3-.2 .6-.4 .9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1 .7-.2 1-.2s.7 .2 .9 .4c2.9 2.4 6 4.9 9.1 7.2 .2 .2 .4 .4 .6 .7s.2 .6 .2 .9-.1 .6-.3 .9-.4 .5-.6 .6c-14.7 8.6-30 15.9-45.9 21.8-.2 .1-.5 .2-.7 .4s-.3 .4-.4 .7-.1 .5-.1 .8 .1 .5 .2 .8c8.8 17 18.8 33.3 30 48.8 .2 .3 .6 .6 .9 .7s.8 .1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2 .2-.2 .4-.4 .5-.6s.2-.5 .2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2zm195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2z"></path></svg>
|
46
|
+
<th><svg viewBox="0 0 576 512"><path d="M407.8 294.7c-3.3-.4-6.7-.8-10-1.3 3.4 .4 6.7 .9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3 61.6-9.4 37.5-1.7 21.6 5.5 3.3 13.8 0 41.9 0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7 3.3-.5 6.6-.9 10-1.4-3.3 .5-6.6 1-10 1.4-93.9 14-177.3 48.2-67.9 169.9 120.3 124.6 164.8-26.7 187.7-103.4 22.9 76.7 49.2 222.5 185.6 103.4 102.4-103.4 28.1-156-65.8-169.9-3.3-.4-6.7-.8-10-1.3 3.4 .4 6.7 .9 10 1.3 64.1 7.1 133.6-15.1 153.2-80.7 5.9-19.9 15-138.9 15-155.5s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8-66.1 46.6-137.1 141.1-163.2 191.8z"></path></svg>
|
47
|
+
<th><svg viewBox="0 0 448 512"><path d="M357.2 48L427.8 48 273.6 224.2 455 464 313 464 201.7 318.6 74.5 464 3.8 464 168.7 275.5-5.2 48 140.4 48 240.9 180.9 357.2 48zM332.4 421.8l39.1 0-252.4-333.8-42 0 255.3 333.8z"></path></svg>
|
48
|
+
<th><svg viewBox="0 0 512 512"><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3 .3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5 .3-6.2 2.3zm44.2-1.7c-2.9 .7-4.9 2.6-4.6 4.9 .3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM252.8 8c-138.7 0-244.8 105.3-244.8 244 0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1 100-33.2 167.8-128.1 167.8-239 0-138.7-112.5-244-251.2-244zM105.2 352.9c-1.3 1-1 3.3 .7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3 .3 2.9 2.3 3.9 1.6 1 3.6 .7 4.3-.7 .7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3 .7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3 .7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg>
|
49
|
+
<tbody><tr><td>
|
50
|
+
|
51
|
+
Hang out in our [Discord server](https://discord.gg/marko) to ask questions & discuss marko<td>
|
52
|
+
|
53
|
+
Keep up with the community on Bluesky at [@markojs.com](https://bsky.app/profile/markojs.com)<td>
|
54
|
+
|
55
|
+
Tweet to [@MarkoDevTeam](https://twitter.com/MarkoDevTeam) or use the [#markojs](https://twitter.com/search?q=%23markojs%20OR%20%40markodevteam&f=live) hashtag<td>
|
56
|
+
|
57
|
+
Browse the code, open issues, & make pull requests on [GitHub](https://github.com/marko-js/marko)
|
58
|
+
|
59
|
+
</table>
|
60
|
+
|
61
|
+
### Contributors
|
62
|
+
|
63
|
+
Marko would not be what it is without all those who have contributed ✨
|
64
|
+
|
65
|
+
[](https://github.com/marko-js/marko/graphs/contributors)
|
66
|
+
|
67
|
+
### Get Involved!
|
68
|
+
|
69
|
+
- Pull requests are welcome!
|
70
|
+
- Submit [GitHub issues](https://github.com/marko-js/marko/issues) for any feature enhancements, bugs, or documentation problems
|
71
|
+
- [Read the Contribution Tips and Guidelines](.github/CONTRIBUTING.md)
|
72
|
+
- Participants in this project agree to abide by [its Code of Conduct](https://github.com/eBay/.github/blob/main/CODE_OF_CONDUCT.md)
|
package/dist/debug/html.js
CHANGED
@@ -3346,19 +3346,24 @@ var compat = {
|
|
3346
3346
|
} else {
|
3347
3347
|
renderer(normalizedInput);
|
3348
3348
|
}
|
3349
|
-
const asyncOut = classAPIOut.beginAsync();
|
3350
|
-
|
3351
|
-
|
3352
|
-
|
3353
|
-
|
3354
|
-
|
3355
|
-
|
3356
|
-
|
3357
|
-
|
3358
|
-
|
3359
|
-
|
3360
|
-
|
3361
|
-
|
3349
|
+
const asyncOut = classAPIOut.beginAsync({ last: true, timeout: -1 });
|
3350
|
+
classAPIOut.onLast((next) => {
|
3351
|
+
(boundary.onNext = () => {
|
3352
|
+
if (boundary.signal.aborted) {
|
3353
|
+
asyncOut.error(boundary.signal.reason);
|
3354
|
+
boundary.onNext = NOOP3;
|
3355
|
+
} else if (!boundary.count) {
|
3356
|
+
boundary.onNext = NOOP3;
|
3357
|
+
head = head.consume();
|
3358
|
+
asyncOut.write(head.html);
|
3359
|
+
asyncOut.script(head.scripts);
|
3360
|
+
asyncOut.end();
|
3361
|
+
head.html = head.scripts = "";
|
3362
|
+
completeChunks.push(head);
|
3363
|
+
next();
|
3364
|
+
}
|
3365
|
+
})();
|
3366
|
+
});
|
3362
3367
|
});
|
3363
3368
|
},
|
3364
3369
|
registerRenderer(renderer, id) {
|
package/dist/debug/html.mjs
CHANGED
@@ -3262,19 +3262,24 @@ var compat = {
|
|
3262
3262
|
} else {
|
3263
3263
|
renderer(normalizedInput);
|
3264
3264
|
}
|
3265
|
-
const asyncOut = classAPIOut.beginAsync();
|
3266
|
-
|
3267
|
-
|
3268
|
-
|
3269
|
-
|
3270
|
-
|
3271
|
-
|
3272
|
-
|
3273
|
-
|
3274
|
-
|
3275
|
-
|
3276
|
-
|
3277
|
-
|
3265
|
+
const asyncOut = classAPIOut.beginAsync({ last: true, timeout: -1 });
|
3266
|
+
classAPIOut.onLast((next) => {
|
3267
|
+
(boundary.onNext = () => {
|
3268
|
+
if (boundary.signal.aborted) {
|
3269
|
+
asyncOut.error(boundary.signal.reason);
|
3270
|
+
boundary.onNext = NOOP3;
|
3271
|
+
} else if (!boundary.count) {
|
3272
|
+
boundary.onNext = NOOP3;
|
3273
|
+
head = head.consume();
|
3274
|
+
asyncOut.write(head.html);
|
3275
|
+
asyncOut.script(head.scripts);
|
3276
|
+
asyncOut.end();
|
3277
|
+
head.html = head.scripts = "";
|
3278
|
+
completeChunks.push(head);
|
3279
|
+
next();
|
3280
|
+
}
|
3281
|
+
})();
|
3282
|
+
});
|
3278
3283
|
});
|
3279
3284
|
},
|
3280
3285
|
registerRenderer(renderer, id) {
|
package/dist/html.js
CHANGED
@@ -2165,10 +2165,12 @@ var K_TAGS_API_STATE = Symbol(), COMPAT_REGISTRY = /* @__PURE__ */ new WeakMap()
|
|
2165
2165
|
writeScope(scopeId, { m5c: component.id }), _script(scopeId, SET_SCOPE_REGISTER_ID);
|
2166
2166
|
}
|
2167
2167
|
isTemplate(renderer) && willRerender ? renderer(normalizedInput, 1) : renderer(normalizedInput);
|
2168
|
-
let asyncOut = classAPIOut.beginAsync();
|
2169
|
-
|
2170
|
-
|
2171
|
-
|
2168
|
+
let asyncOut = classAPIOut.beginAsync({ last: !0, timeout: -1 });
|
2169
|
+
classAPIOut.onLast((next) => {
|
2170
|
+
(boundary.onNext = () => {
|
2171
|
+
boundary.signal.aborted ? (asyncOut.error(boundary.signal.reason), boundary.onNext = NOOP3) : boundary.count || (boundary.onNext = NOOP3, head = head.consume(), asyncOut.write(head.html), asyncOut.script(head.scripts), asyncOut.end(), head.html = head.scripts = "", completeChunks.push(head), next());
|
2172
|
+
})();
|
2173
|
+
});
|
2172
2174
|
});
|
2173
2175
|
},
|
2174
2176
|
registerRenderer(renderer, id) {
|
package/dist/html.mjs
CHANGED
@@ -2084,10 +2084,12 @@ var K_TAGS_API_STATE = Symbol(), COMPAT_REGISTRY = /* @__PURE__ */ new WeakMap()
|
|
2084
2084
|
writeScope(scopeId, { m5c: component.id }), _script(scopeId, SET_SCOPE_REGISTER_ID);
|
2085
2085
|
}
|
2086
2086
|
isTemplate(renderer) && willRerender ? renderer(normalizedInput, 1) : renderer(normalizedInput);
|
2087
|
-
let asyncOut = classAPIOut.beginAsync();
|
2088
|
-
|
2089
|
-
|
2090
|
-
|
2087
|
+
let asyncOut = classAPIOut.beginAsync({ last: !0, timeout: -1 });
|
2088
|
+
classAPIOut.onLast((next) => {
|
2089
|
+
(boundary.onNext = () => {
|
2090
|
+
boundary.signal.aborted ? (asyncOut.error(boundary.signal.reason), boundary.onNext = NOOP3) : boundary.count || (boundary.onNext = NOOP3, head = head.consume(), asyncOut.write(head.html), asyncOut.script(head.scripts), asyncOut.end(), head.html = head.scripts = "", completeChunks.push(head), next());
|
2091
|
+
})();
|
2092
|
+
});
|
2091
2093
|
});
|
2092
2094
|
},
|
2093
2095
|
registerRenderer(renderer, id) {
|
package/dist/translator/index.js
CHANGED
@@ -58,7 +58,7 @@ function assertNoSpreadAttrs(tag) {
|
|
58
58
|
if (attr.isMarkoSpreadAttribute()) {
|
59
59
|
const tagName = tag.get("name").node.value;
|
60
60
|
throw attr.buildCodeFrameError(
|
61
|
-
`The [\`<${tagName}>\`](https://
|
61
|
+
`The [\`<${tagName}>\`](https://markojs.com/docs/reference/core-tag#${tagName}) tag does not support \`...spread\` attributes.`
|
62
62
|
);
|
63
63
|
}
|
64
64
|
}
|
@@ -68,7 +68,7 @@ function assertNoBodyContent(tag) {
|
|
68
68
|
const tagName = tag.get("name");
|
69
69
|
const tagNameLiteral = tagName.node.value;
|
70
70
|
throw tagName.buildCodeFrameError(
|
71
|
-
`The [\`<${tagNameLiteral}>\`](https://
|
71
|
+
`The [\`<${tagNameLiteral}>\`](https://markojs.com/docs/reference/core-tag#${tagNameLiteral}) tag does not support body content.`
|
72
72
|
);
|
73
73
|
}
|
74
74
|
}
|
@@ -3096,17 +3096,17 @@ var return_default = {
|
|
3096
3096
|
if (parentTag) {
|
3097
3097
|
if ((0, import_babel_utils15.isNativeTag)(parentTag)) {
|
3098
3098
|
throw tag.get("name").buildCodeFrameError(
|
3099
|
-
"The [`<return>` tag](https://
|
3099
|
+
"The [`<return>` tag](https://markojs.com/docs/reference/core-tag#return) can not be used in a [native tag](https://markojs.com/docs/reference/native-tag)."
|
3100
3100
|
);
|
3101
3101
|
} else if (isControlFlowTag(parentTag)) {
|
3102
3102
|
throw tag.get("name").buildCodeFrameError(
|
3103
|
-
`The [\`<return>\` tag](https://
|
3103
|
+
`The [\`<return>\` tag](https://markojs.com/docs/reference/core-tag#return) can not be used under the \`<${parentTag.get("name").toString()}>\` tag.`
|
3104
3104
|
);
|
3105
3105
|
}
|
3106
3106
|
}
|
3107
3107
|
if (tagsWithReturn.has(tag.parentPath)) {
|
3108
3108
|
throw tag.get("name").buildCodeFrameError(
|
3109
|
-
`Cannot have multiple [\`<return>\` tags](https://
|
3109
|
+
`Cannot have multiple [\`<return>\` tags](https://markojs.com/docs/reference/core-tag#return) ${tag.parent.type === "Program" ? "for the template" : "within a tag's body content"}.`
|
3110
3110
|
);
|
3111
3111
|
} else {
|
3112
3112
|
tagsWithReturn.add(tag.parentPath);
|
@@ -3114,7 +3114,7 @@ var return_default = {
|
|
3114
3114
|
const attrs = getKnownAttrValues(tag.node);
|
3115
3115
|
if (!attrs.value) {
|
3116
3116
|
throw tag.get("name").buildCodeFrameError(
|
3117
|
-
"The [`<return>` tag](https://
|
3117
|
+
"The [`<return>` tag](https://markojs.com/docs/reference/core-tag#return) requires a [`value=` attribute](https://markojs.com/docs/reference/language#shorthand-value)."
|
3118
3118
|
);
|
3119
3119
|
}
|
3120
3120
|
if (attrs.valueChange) {
|
@@ -3189,7 +3189,7 @@ var return_default = {
|
|
3189
3189
|
displayText: "return=<value>",
|
3190
3190
|
description: "Provides a value for use in a parent template.",
|
3191
3191
|
snippet: "return=${1:value}",
|
3192
|
-
descriptionMoreURL: "https://
|
3192
|
+
descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#return"
|
3193
3193
|
}
|
3194
3194
|
]
|
3195
3195
|
};
|
@@ -5862,22 +5862,22 @@ var await_default = {
|
|
5862
5862
|
tagExtra[kDOMBinding] = createBinding("#text", 0 /* dom */, section);
|
5863
5863
|
if (!valueAttr) {
|
5864
5864
|
throw tag.get("name").buildCodeFrameError(
|
5865
|
-
"The [`<await>` tag](https://
|
5865
|
+
"The [`<await>` tag](https://markojs.com/docs/reference/core-tag#await) requires a [`value=` attribute](https://markojs.com/docs/reference/language#shorthand-value)."
|
5866
5866
|
);
|
5867
5867
|
}
|
5868
5868
|
if (node.attributes.length > 1 || !import_compiler26.types.isMarkoAttribute(valueAttr) || valueAttr.name !== "value") {
|
5869
5869
|
throw tag.get("name").buildCodeFrameError(
|
5870
|
-
"The [`<await>` tag](https://
|
5870
|
+
"The [`<await>` tag](https://markojs.com/docs/reference/core-tag#await) only supports the [`value=` attribute](https://markojs.com/docs/reference/language#shorthand-value)."
|
5871
5871
|
);
|
5872
5872
|
}
|
5873
5873
|
if (!node.body.body.length) {
|
5874
5874
|
throw tag.get("name").buildCodeFrameError(
|
5875
|
-
"The [`<await>` tag](https://
|
5875
|
+
"The [`<await>` tag](https://markojs.com/docs/reference/core-tag#await) requires [content](https://markojs.com/docs/reference/language#tag-content)."
|
5876
5876
|
);
|
5877
5877
|
}
|
5878
5878
|
if (node.body.params.length && (node.body.params.length > 1 || import_compiler26.types.isSpreadElement(node.body.params[0]))) {
|
5879
5879
|
throw tag.get("name").buildCodeFrameError(
|
5880
|
-
"The [`<await>` tag](https://
|
5880
|
+
"The [`<await>` tag](https://markojs.com/docs/reference/core-tag#await) only supports a single parameter."
|
5881
5881
|
);
|
5882
5882
|
}
|
5883
5883
|
const bodySection = startSection(tagBody);
|
@@ -5971,7 +5971,7 @@ var await_default = {
|
|
5971
5971
|
autocomplete: [
|
5972
5972
|
{
|
5973
5973
|
description: "Use to consume asynchronous an data.",
|
5974
|
-
descriptionMoreURL: "https://
|
5974
|
+
descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#await"
|
5975
5975
|
}
|
5976
5976
|
],
|
5977
5977
|
types: runtime_info_default.name + "/tags/await.d.marko"
|
@@ -6062,17 +6062,17 @@ var const_default = {
|
|
6062
6062
|
const [valueAttr] = node.attributes;
|
6063
6063
|
if (!node.var) {
|
6064
6064
|
throw tag.get("name").buildCodeFrameError(
|
6065
|
-
"The [`<const>` tag](https://
|
6065
|
+
"The [`<const>` tag](https://markojs.com/docs/reference/core-tag#const) requires a [tag variable](https://markojs.com/docs/reference/language#tag-variables)."
|
6066
6066
|
);
|
6067
6067
|
}
|
6068
6068
|
if (!valueAttr) {
|
6069
6069
|
throw tag.get("name").buildCodeFrameError(
|
6070
|
-
"The [`<const>` tag](https://
|
6070
|
+
"The [`<const>` tag](https://markojs.com/docs/reference/core-tag#const) requires a [`value=` attribute](https://markojs.com/docs/reference/language#shorthand-value)."
|
6071
6071
|
);
|
6072
6072
|
}
|
6073
6073
|
if (node.attributes.length > 1 || !import_compiler29.types.isMarkoAttribute(valueAttr) || !valueAttr.default && valueAttr.name !== "value") {
|
6074
6074
|
throw tag.get("name").buildCodeFrameError(
|
6075
|
-
"The [`<const>` tag](https://
|
6075
|
+
"The [`<const>` tag](https://markojs.com/docs/reference/core-tag#const) only supports the [`value=` attribute](https://markojs.com/docs/reference/language#shorthand-value)."
|
6076
6076
|
);
|
6077
6077
|
}
|
6078
6078
|
const valueExtra = evaluate(valueAttr.value);
|
@@ -6119,7 +6119,7 @@ var const_default = {
|
|
6119
6119
|
autocomplete: [
|
6120
6120
|
{
|
6121
6121
|
description: "Use to create an constant binding.",
|
6122
|
-
descriptionMoreURL: "https://
|
6122
|
+
descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#const"
|
6123
6123
|
}
|
6124
6124
|
],
|
6125
6125
|
types: runtime_info_default.name + "/tags/const.d.marko"
|
@@ -6137,7 +6137,7 @@ var debug_default = {
|
|
6137
6137
|
assertNoBodyContent(tag);
|
6138
6138
|
if (tag.node.attributes.length > 1 || tag.node.attributes.length === 1 && (!import_compiler30.types.isMarkoAttribute(valueAttr) || !valueAttr.default && valueAttr.name !== "value")) {
|
6139
6139
|
throw tag.get("name").buildCodeFrameError(
|
6140
|
-
"The [`<debug>` tag](https://
|
6140
|
+
"The [`<debug>` tag](https://markojs.com/docs/reference/core-tag#debug) only supports the [`value=` attribute](https://markojs.com/docs/reference/language#shorthand-value)."
|
6141
6141
|
);
|
6142
6142
|
}
|
6143
6143
|
},
|
@@ -6162,7 +6162,7 @@ var debug_default = {
|
|
6162
6162
|
autocomplete: [
|
6163
6163
|
{
|
6164
6164
|
description: "Debug on value change.",
|
6165
|
-
descriptionMoreURL: "https://
|
6165
|
+
descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#debug"
|
6166
6166
|
}
|
6167
6167
|
],
|
6168
6168
|
types: runtime_info_default.name + "/tags/debug.d.marko"
|
@@ -6349,7 +6349,7 @@ var native_tag_default = {
|
|
6349
6349
|
const { node } = tag;
|
6350
6350
|
if (node.var && !import_compiler32.types.isIdentifier(node.var)) {
|
6351
6351
|
throw tag.get("var").buildCodeFrameError(
|
6352
|
-
"Tag variables on [native tags](https://
|
6352
|
+
"Tag variables on [native tags](https://markojs.com/docs/reference/native-tag) cannot be destructured."
|
6353
6353
|
);
|
6354
6354
|
}
|
6355
6355
|
const tagName = getTagName(tag);
|
@@ -7283,7 +7283,7 @@ var for_default = {
|
|
7283
7283
|
break;
|
7284
7284
|
default:
|
7285
7285
|
throw tag.buildCodeFrameError(
|
7286
|
-
"The [`<for>` tag](https://
|
7286
|
+
"The [`<for>` tag](https://markojs.com/docs/reference/core-tag#for) requires an `of=`, `in=`, or `to=` attribute."
|
7287
7287
|
);
|
7288
7288
|
}
|
7289
7289
|
if (!isAttrTag) {
|
@@ -7493,15 +7493,15 @@ var for_default = {
|
|
7493
7493
|
{
|
7494
7494
|
snippet: "for|${1:value, index}| of=${3:array}",
|
7495
7495
|
description: "Use to iterate over lists, object properties, or between ranges.",
|
7496
|
-
descriptionMoreURL: "https://
|
7496
|
+
descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#for"
|
7497
7497
|
},
|
7498
7498
|
{
|
7499
7499
|
snippet: "for|${1:name, value}| in=${3:object}",
|
7500
|
-
descriptionMoreURL: "https://
|
7500
|
+
descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#for"
|
7501
7501
|
},
|
7502
7502
|
{
|
7503
7503
|
snippet: "for|${1:index}| to=${2:number}",
|
7504
|
-
descriptionMoreURL: "https://
|
7504
|
+
descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#for"
|
7505
7505
|
}
|
7506
7506
|
]
|
7507
7507
|
};
|
@@ -7924,7 +7924,7 @@ var define_default = {
|
|
7924
7924
|
(0, import_babel_utils29.assertNoArgs)(tag);
|
7925
7925
|
if (!tag.node.var) {
|
7926
7926
|
throw tag.get("name").buildCodeFrameError(
|
7927
|
-
"The [`<define>` tag](https://
|
7927
|
+
"The [`<define>` tag](https://markojs.com/docs/reference/core-tag#define) requires a [tag variable](https://markojs.com/docs/reference/language#tag-variables)."
|
7928
7928
|
);
|
7929
7929
|
}
|
7930
7930
|
const tagBody = tag.get("body");
|
@@ -7986,7 +7986,7 @@ var define_default = {
|
|
7986
7986
|
autocomplete: [
|
7987
7987
|
{
|
7988
7988
|
description: "Use to create a constant object binding that can be rendered.",
|
7989
|
-
descriptionMoreURL: "https://
|
7989
|
+
descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#define"
|
7990
7990
|
}
|
7991
7991
|
],
|
7992
7992
|
types: runtime_info_default.name + "/tags/define.d.marko"
|
@@ -8062,7 +8062,7 @@ var html_comment_default = {
|
|
8062
8062
|
if (tagVar) {
|
8063
8063
|
if (!import_compiler38.types.isIdentifier(tagVar)) {
|
8064
8064
|
throw tag.get("var").buildCodeFrameError(
|
8065
|
-
"The [`<html-comment>` tag](https://
|
8065
|
+
"The [`<html-comment>` tag](https://markojs.com/docs/reference/core-tag#html-comment) tag variable cannot be destructured."
|
8066
8066
|
);
|
8067
8067
|
}
|
8068
8068
|
needsBinding = true;
|
@@ -8229,7 +8229,7 @@ var html_comment_default = {
|
|
8229
8229
|
autocomplete: [
|
8230
8230
|
{
|
8231
8231
|
description: "Use to create an html comment that is not stripped from the output.",
|
8232
|
-
descriptionMoreURL: "https://
|
8232
|
+
descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#html-comment"
|
8233
8233
|
}
|
8234
8234
|
]
|
8235
8235
|
};
|
@@ -8611,7 +8611,7 @@ var html_script_default = {
|
|
8611
8611
|
autocomplete: [
|
8612
8612
|
{
|
8613
8613
|
description: "Use instead of `<script>` to render a native tag directly, without processing by Marko.",
|
8614
|
-
descriptionMoreURL: "https://
|
8614
|
+
descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#html-script--html-style"
|
8615
8615
|
}
|
8616
8616
|
]
|
8617
8617
|
};
|
@@ -9030,7 +9030,7 @@ var html_style_default = {
|
|
9030
9030
|
autocomplete: [
|
9031
9031
|
{
|
9032
9032
|
description: "Use instead of `<style>` to render a native tag directly, without processing by Marko.",
|
9033
|
-
descriptionMoreURL: "https://
|
9033
|
+
descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#html-script--html-style"
|
9034
9034
|
}
|
9035
9035
|
]
|
9036
9036
|
};
|
@@ -9090,17 +9090,17 @@ var id_default = {
|
|
9090
9090
|
const [valueAttr] = node.attributes;
|
9091
9091
|
if (!node.var) {
|
9092
9092
|
throw tag.get("name").buildCodeFrameError(
|
9093
|
-
"The [`<id>` tag](https://
|
9093
|
+
"The [`<id>` tag](https://markojs.com/docs/reference/core-tag#id) requires a [tag variable](https://markojs.com/docs/reference/language#tag-variables)."
|
9094
9094
|
);
|
9095
9095
|
}
|
9096
9096
|
if (!import_compiler41.types.isIdentifier(node.var)) {
|
9097
9097
|
throw tag.get("var").buildCodeFrameError(
|
9098
|
-
"The [`<id>` tag](https://
|
9098
|
+
"The [`<id>` tag](https://markojs.com/docs/reference/core-tag#id) cannot be destructured."
|
9099
9099
|
);
|
9100
9100
|
}
|
9101
9101
|
if (tag.node.attributes.length > 1 || tag.node.attributes.length === 1 && (!import_compiler41.types.isMarkoAttribute(valueAttr) || !valueAttr.default && valueAttr.name !== "value")) {
|
9102
9102
|
throw tag.get("name").buildCodeFrameError(
|
9103
|
-
"The [`<id>` tag](https://
|
9103
|
+
"The [`<id>` tag](https://markojs.com/docs/reference/core-tag#id) only supports the [`value=` attribute](https://markojs.com/docs/reference/language#shorthand-value)."
|
9104
9104
|
);
|
9105
9105
|
}
|
9106
9106
|
const binding = trackVarReferences(tag, 5 /* derived */);
|
@@ -9149,7 +9149,7 @@ var id_default = {
|
|
9149
9149
|
displayText: "id/<name>",
|
9150
9150
|
description: "Use to create a unique identifier.",
|
9151
9151
|
snippet: "id/${1:name}",
|
9152
|
-
descriptionMoreURL: "https://
|
9152
|
+
descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#id"
|
9153
9153
|
}
|
9154
9154
|
],
|
9155
9155
|
types: runtime_info_default.name + "/tags/id.d.marko"
|
@@ -9382,7 +9382,7 @@ var IfTag = {
|
|
9382
9382
|
{
|
9383
9383
|
snippet: "if=${1:condition}",
|
9384
9384
|
description: "Use to display content only if the condition is met.",
|
9385
|
-
descriptionMoreURL: "https://
|
9385
|
+
descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#if--else"
|
9386
9386
|
}
|
9387
9387
|
]
|
9388
9388
|
};
|
@@ -9392,7 +9392,7 @@ var ElseIfTag = {
|
|
9392
9392
|
{
|
9393
9393
|
snippet: "else-if=${1:condition}",
|
9394
9394
|
description: "Use after an <if> or <else-if> tag to display content if those conditions do not match and this one does.",
|
9395
|
-
descriptionMoreURL: "https://
|
9395
|
+
descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#if--else"
|
9396
9396
|
}
|
9397
9397
|
]
|
9398
9398
|
};
|
@@ -9401,7 +9401,7 @@ var ElseTag = {
|
|
9401
9401
|
autocomplete: [
|
9402
9402
|
{
|
9403
9403
|
description: "Use after an <if> or <else-if> tag to display content if those conditions do not match.",
|
9404
|
-
descriptionMoreURL: "https://
|
9404
|
+
descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#if--else"
|
9405
9405
|
}
|
9406
9406
|
]
|
9407
9407
|
};
|
@@ -9430,14 +9430,14 @@ function assertHasPrecedingCondition(tag) {
|
|
9430
9430
|
while (prev.node && prev.isMarkoComment()) prev = prev.getPrevSibling();
|
9431
9431
|
if (!isConditionTag(prev) || getTagName(prev) !== "else" && !prev.node.attributes.length) {
|
9432
9432
|
throw tag.buildCodeFrameError(
|
9433
|
-
`The [\`<${getTagName(tag)}>\` tag](https://
|
9433
|
+
`The [\`<${getTagName(tag)}>\` tag](https://markojs.com/docs/reference/core-tag#if--else) must have a preceding \`<if=cond>\` or \`<else if=cond>\`.`
|
9434
9434
|
);
|
9435
9435
|
}
|
9436
9436
|
}
|
9437
9437
|
function assertHasBody(tag) {
|
9438
9438
|
if (!(tag.node.body.body.length || tag.node.attributeTags.length)) {
|
9439
9439
|
throw tag.get("name").buildCodeFrameError(
|
9440
|
-
`The [\`${getTagName(tag)}\` tag](https://
|
9440
|
+
`The [\`${getTagName(tag)}\` tag](https://markojs.com/docs/reference/core-tag#if--else) requires [body content](https://markojs.com/docs/reference/language#tag-content).`
|
9441
9441
|
);
|
9442
9442
|
}
|
9443
9443
|
}
|
@@ -9446,13 +9446,13 @@ function assertHasValueAttribute(tag) {
|
|
9446
9446
|
const [valueAttr] = node.attributes;
|
9447
9447
|
if (!import_compiler43.types.isMarkoAttribute(valueAttr) || !valueAttr.default) {
|
9448
9448
|
throw tag.get("name").buildCodeFrameError(
|
9449
|
-
`The [\`${getTagName(tag)}\` tag](https://
|
9449
|
+
`The [\`${getTagName(tag)}\` tag](https://markojs.com/docs/reference/core-tag#if--else) requires a [\`value=\` attribute](https://markojs.com/docs/reference/language#shorthand-value).`
|
9450
9450
|
);
|
9451
9451
|
}
|
9452
9452
|
if (node.attributes.length > 1) {
|
9453
9453
|
const start = node.attributes[1].loc?.start;
|
9454
9454
|
const end = node.attributes[node.attributes.length - 1].loc?.end;
|
9455
|
-
const msg = `The [\`${getTagName(tag)}\` tag](https://
|
9455
|
+
const msg = `The [\`${getTagName(tag)}\` tag](https://markojs.com/docs/reference/core-tag#if--else) only supports the [\`value=\` attribute](https://markojs.com/docs/reference/language#shorthand-value).`;
|
9456
9456
|
if (start == null || end == null) {
|
9457
9457
|
throw tag.get("name").buildCodeFrameError(msg);
|
9458
9458
|
} else {
|
@@ -9470,7 +9470,7 @@ function assertOptionalIfAttribute(tag) {
|
|
9470
9470
|
if (node.attributes.length > 1 || ifAttr && ifAttr.name !== "if") {
|
9471
9471
|
const start = node.attributes[1].loc?.start;
|
9472
9472
|
const end = node.attributes[node.attributes.length - 1].loc?.end;
|
9473
|
-
const msg = `The [\`${getTagName(tag)}\` tag](https://
|
9473
|
+
const msg = `The [\`${getTagName(tag)}\` tag](https://markojs.com/docs/reference/core-tag#if--else) only supports an \`if=\` attribute.`;
|
9474
9474
|
if (start == null || end == null) {
|
9475
9475
|
throw tag.get("name").buildCodeFrameError(msg);
|
9476
9476
|
} else {
|
@@ -9547,7 +9547,7 @@ var let_default = {
|
|
9547
9547
|
} else {
|
9548
9548
|
const start = attr.loc?.start;
|
9549
9549
|
const end = attr.loc?.end;
|
9550
|
-
const msg = "The [`<let>` tag](https://
|
9550
|
+
const msg = "The [`<let>` tag](https://markojs.com/docs/reference/core-tag#let) only supports the [`value=` attribute](https://markojs.com/docs/reference/language#shorthand-value) and its change handler.";
|
9551
9551
|
if (start == null || end == null) {
|
9552
9552
|
throw tag.get("name").buildCodeFrameError(msg);
|
9553
9553
|
} else {
|
@@ -9566,17 +9566,17 @@ var let_default = {
|
|
9566
9566
|
assertNoSpreadAttrs(tag);
|
9567
9567
|
if (!tagVar) {
|
9568
9568
|
throw tag.get("name").buildCodeFrameError(
|
9569
|
-
"The [`<let>` tag](https://
|
9569
|
+
"The [`<let>` tag](https://markojs.com/docs/reference/core-tag#let) requires a [tag variable](https://markojs.com/docs/reference/language#tag-variables)."
|
9570
9570
|
);
|
9571
9571
|
}
|
9572
9572
|
if (!import_compiler44.types.isIdentifier(tagVar)) {
|
9573
9573
|
throw tag.get("var").buildCodeFrameError(
|
9574
|
-
"The [`<let>` tag](https://
|
9574
|
+
"The [`<let>` tag](https://markojs.com/docs/reference/core-tag#let) variable cannot be destructured."
|
9575
9575
|
);
|
9576
9576
|
}
|
9577
9577
|
if (valueChangeAttr && (0, import_babel_utils38.computeNode)(valueChangeAttr.value)?.value) {
|
9578
9578
|
throw tag.get("attributes").find((attr) => attr.node === valueChangeAttr).get("value").buildCodeFrameError(
|
9579
|
-
"The [`<let>` tag](https://
|
9579
|
+
"The [`<let>` tag](https://markojs.com/docs/reference/core-tag#let) [`valueChange=` attribute](https://markojs.com/docs/reference/core-tag#controllable-let) must be a function."
|
9580
9580
|
);
|
9581
9581
|
}
|
9582
9582
|
const tagSection = getOrCreateSection(tag);
|
@@ -9644,7 +9644,7 @@ var let_default = {
|
|
9644
9644
|
autocomplete: [
|
9645
9645
|
{
|
9646
9646
|
description: "Use to create a mutable binding.",
|
9647
|
-
descriptionMoreURL: "https://
|
9647
|
+
descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#let"
|
9648
9648
|
}
|
9649
9649
|
],
|
9650
9650
|
types: runtime_info_default.name + "/tags/let.d.marko"
|
@@ -9675,13 +9675,13 @@ var lifecycle_default = {
|
|
9675
9675
|
binding.downstreamExpressions.add(tagExtra);
|
9676
9676
|
if (node.attributes.length === 0) {
|
9677
9677
|
throw tag.get("name").buildCodeFrameError(
|
9678
|
-
"The [`<lifecycle>` tag](https://
|
9678
|
+
"The [`<lifecycle>` tag](https://markojs.com/docs/reference/core-tag#lifecycle) requires at least one attribute."
|
9679
9679
|
);
|
9680
9680
|
}
|
9681
9681
|
for (const attr of node.attributes) {
|
9682
9682
|
if (import_compiler45.types.isMarkoSpreadAttribute(attr)) {
|
9683
9683
|
throw tag.get("name").buildCodeFrameError(
|
9684
|
-
"The [`<lifecycle>` tag](https://
|
9684
|
+
"The [`<lifecycle>` tag](https://markojs.com/docs/reference/core-tag#lifecycle) does not support [`...spread` attributes](https://markojs.com/docs/reference/language#spread-attributes)."
|
9685
9685
|
);
|
9686
9686
|
}
|
9687
9687
|
(attr.value.extra ??= {}).isEffect = true;
|
@@ -9726,7 +9726,7 @@ var lifecycle_default = {
|
|
9726
9726
|
autocomplete: [
|
9727
9727
|
{
|
9728
9728
|
description: "Use to create a side effects.",
|
9729
|
-
descriptionMoreURL: "https://
|
9729
|
+
descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#lifecycle"
|
9730
9730
|
}
|
9731
9731
|
],
|
9732
9732
|
types: runtime_info_default.name + "/tags/lifecycle.d.marko"
|
@@ -9744,12 +9744,12 @@ var log_default = {
|
|
9744
9744
|
assertNoBodyContent(tag);
|
9745
9745
|
if (!valueAttr) {
|
9746
9746
|
throw tag.get("name").buildCodeFrameError(
|
9747
|
-
"The [`<log>` tag](https://
|
9747
|
+
"The [`<log>` tag](https://markojs.com/docs/reference/core-tag#log) requires a [`value=` attribute](https://markojs.com/docs/reference/language#shorthand-value)."
|
9748
9748
|
);
|
9749
9749
|
}
|
9750
9750
|
if (tag.node.attributes.length > 1 || !import_compiler46.types.isMarkoAttribute(valueAttr) || !valueAttr.default && valueAttr.name !== "value") {
|
9751
9751
|
throw tag.get("name").buildCodeFrameError(
|
9752
|
-
"The [`<log>` tag](https://
|
9752
|
+
"The [`<log>` tag](https://markojs.com/docs/reference/core-tag#log) only supports the [`value=` attribute](https://markojs.com/docs/reference/language#shorthand-value)."
|
9753
9753
|
);
|
9754
9754
|
}
|
9755
9755
|
},
|
@@ -9780,7 +9780,7 @@ var log_default = {
|
|
9780
9780
|
autocomplete: [
|
9781
9781
|
{
|
9782
9782
|
description: "Use to log a value to the console.",
|
9783
|
-
descriptionMoreURL: "https://
|
9783
|
+
descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#log"
|
9784
9784
|
}
|
9785
9785
|
],
|
9786
9786
|
types: runtime_info_default.name + "/tags/log.d.marko"
|
@@ -9789,7 +9789,7 @@ var log_default = {
|
|
9789
9789
|
// src/translator/core/script.ts
|
9790
9790
|
var import_compiler47 = require("@marko/compiler");
|
9791
9791
|
var import_babel_utils41 = require("@marko/compiler/babel-utils");
|
9792
|
-
var htmlScriptTagAlternateMsg = " For a native html [`<script>` tag](https://
|
9792
|
+
var htmlScriptTagAlternateMsg = " For a native html [`<script>` tag](https://markojs.com/docs/reference/core-tag#script) use the `html-script` core tag instead.";
|
9793
9793
|
var script_default = {
|
9794
9794
|
parse(tag) {
|
9795
9795
|
const { node } = tag;
|
@@ -9800,7 +9800,7 @@ var script_default = {
|
|
9800
9800
|
if (child.type !== "MarkoText") {
|
9801
9801
|
throw tag.hub.file.hub.buildError(
|
9802
9802
|
child,
|
9803
|
-
"Unexpected content in [`<script>` tag](https://
|
9803
|
+
"Unexpected content in [`<script>` tag](https://markojs.com/docs/reference/core-tag#script). Only javascript and typescript is supported." + htmlScriptTagAlternateMsg,
|
9804
9804
|
SyntaxError
|
9805
9805
|
);
|
9806
9806
|
}
|
@@ -9829,7 +9829,7 @@ var script_default = {
|
|
9829
9829
|
if (node.var) {
|
9830
9830
|
throw tag.hub.buildError(
|
9831
9831
|
node.var,
|
9832
|
-
"The [`<script>` tag](https://
|
9832
|
+
"The [`<script>` tag](https://markojs.com/docs/reference/core-tag#script) does not support a tag variable reference." + htmlScriptTagAlternateMsg
|
9833
9833
|
);
|
9834
9834
|
}
|
9835
9835
|
let seenValueAttr = false;
|
@@ -9844,7 +9844,7 @@ var script_default = {
|
|
9844
9844
|
} else {
|
9845
9845
|
throw tag.hub.buildError(
|
9846
9846
|
attr,
|
9847
|
-
"The [`<script>` tag](https://
|
9847
|
+
"The [`<script>` tag](https://markojs.com/docs/reference/core-tag#script) does not support html attributes." + htmlScriptTagAlternateMsg
|
9848
9848
|
);
|
9849
9849
|
}
|
9850
9850
|
}
|
@@ -9994,7 +9994,7 @@ var import_babel_utils44 = require("@marko/compiler/babel-utils");
|
|
9994
9994
|
var import_magic_string = __toESM(require("magic-string"));
|
9995
9995
|
var import_path3 = __toESM(require("path"));
|
9996
9996
|
var STYLE_EXT_REG = /^style((?:\.[a-zA-Z0-9$_-]+)+)?/;
|
9997
|
-
var htmlStyleTagAlternateMsg = " For a native html [`<style>` tag](https://
|
9997
|
+
var htmlStyleTagAlternateMsg = " For a native html [`<style>` tag](https://markojs.com/docs/reference/core-tag#style) use the `html-style` core tag instead.";
|
9998
9998
|
var style_default = {
|
9999
9999
|
analyze(tag) {
|
10000
10000
|
(0, import_babel_utils44.assertNoArgs)(tag);
|
@@ -10015,14 +10015,14 @@ var style_default = {
|
|
10015
10015
|
if (child.type !== "MarkoText") {
|
10016
10016
|
throw tag.hub.buildError(
|
10017
10017
|
child,
|
10018
|
-
"The [`<style>` tag](https://
|
10018
|
+
"The [`<style>` tag](https://markojs.com/docs/reference/core-tag#style) currently only supports static content." + htmlStyleTagAlternateMsg
|
10019
10019
|
);
|
10020
10020
|
}
|
10021
10021
|
}
|
10022
10022
|
if (node.body.body.length > 1) {
|
10023
10023
|
throw tag.hub.buildError(
|
10024
10024
|
node.name,
|
10025
|
-
"The [`<style>` tag](https://
|
10025
|
+
"The [`<style>` tag](https://markojs.com/docs/reference/core-tag#style) currently only supports static content." + htmlStyleTagAlternateMsg
|
10026
10026
|
);
|
10027
10027
|
}
|
10028
10028
|
},
|
@@ -10118,7 +10118,7 @@ var try_default = {
|
|
10118
10118
|
tagExtra[kDOMBinding2] = createBinding("#text", 0 /* dom */, section);
|
10119
10119
|
if (!tag.node.body.body.length) {
|
10120
10120
|
throw tag.get("name").buildCodeFrameError(
|
10121
|
-
"The [`<try>` tag](https://
|
10121
|
+
"The [`<try>` tag](https://markojs.com/docs/reference/core-tag#try) requires [body content](https://markojs.com/docs/reference/language#tag-content)."
|
10122
10122
|
);
|
10123
10123
|
}
|
10124
10124
|
startSection(tag.get("body"));
|
@@ -10225,7 +10225,7 @@ var try_default = {
|
|
10225
10225
|
autocomplete: [
|
10226
10226
|
{
|
10227
10227
|
description: "Used to capture errors and display placeholders for nested content.",
|
10228
|
-
descriptionMoreURL: "https://
|
10228
|
+
descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#try"
|
10229
10229
|
}
|
10230
10230
|
],
|
10231
10231
|
types: runtime_info_default.name + "/tags/try.d.marko"
|
@@ -10680,7 +10680,7 @@ var attribute_tag_default = {
|
|
10680
10680
|
trackParamsReferences(body, 3 /* param */);
|
10681
10681
|
if (!(0, import_babel_utils48.findParentTag)(tag)) {
|
10682
10682
|
throw tag.get("name").buildCodeFrameError(
|
10683
|
-
"[Attribute tags](https://
|
10683
|
+
"[Attribute tags](https://markojs.com/docs/reference/language#attribute-tags) must be nested within another tag."
|
10684
10684
|
);
|
10685
10685
|
}
|
10686
10686
|
}
|
@@ -10719,11 +10719,11 @@ var custom_tag_default = {
|
|
10719
10719
|
const tagName = getTagName(tag);
|
10720
10720
|
if (tagName && tag.scope.hasBinding(tagName)) {
|
10721
10721
|
throw tag.get("name").buildCodeFrameError(
|
10722
|
-
`Local variables must be in a [dynamic tag](https://
|
10722
|
+
`Local variables must be in a [dynamic tag](https://markojs.com/docs/reference/language#dynamic-tags) unless they are PascalCase. Use \`<\${${tagName}}/>\` or rename to \`${tagName.charAt(0).toUpperCase() + tagName.slice(1)}\`.`
|
10723
10723
|
);
|
10724
10724
|
}
|
10725
10725
|
throw tag.get("name").buildCodeFrameError(
|
10726
|
-
`Unable to find entry point for [custom tag](https://
|
10726
|
+
`Unable to find entry point for [custom tag](https://markojs.com/docs/reference/custom-tag#relative-custom-tags) \`<${tagName}>\`.`
|
10727
10727
|
);
|
10728
10728
|
}
|
10729
10729
|
const section = getOrCreateSection(tag);
|
@@ -11068,11 +11068,11 @@ function getTagRelativePath(tag) {
|
|
11068
11068
|
const tagName = getTagName(tag);
|
11069
11069
|
if (tagName && tag.scope.hasBinding(tagName)) {
|
11070
11070
|
throw tag.get("name").buildCodeFrameError(
|
11071
|
-
`Local variables must be in a [dynamic tag](https://
|
11071
|
+
`Local variables must be in a [dynamic tag](https://markojs.com/docs/reference/language#dynamic-tags) unless they are PascalCase. Use \`<\${${tagName}}/>\` or rename to \`${tagName.charAt(0).toUpperCase() + tagName.slice(1)}\`.`
|
11072
11072
|
);
|
11073
11073
|
}
|
11074
11074
|
throw tag.get("name").buildCodeFrameError(
|
11075
|
-
`Unable to find entry point for [custom tag](https://
|
11075
|
+
`Unable to find entry point for [custom tag](https://markojs.com/docs/reference/custom-tag#relative-custom-tags) \`<${tagName}>\`.`
|
11076
11076
|
);
|
11077
11077
|
}
|
11078
11078
|
return relativePath;
|
package/package.json
CHANGED
package/tags/id.d.marko
CHANGED
package/tags/let.d.marko
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
/** File for types only, not actual implementation **/
|
2
2
|
|
3
|
-
export interface Input<T> {
|
3
|
+
export interface Input<T, K = T> {
|
4
4
|
value: T;
|
5
|
-
valueChange?: ((newValue:
|
5
|
+
valueChange?: ((newValue: K) => void) | false | null;
|
6
6
|
}
|
7
7
|
|
8
|
-
return=input.value valueChange=input.valueChange
|
8
|
+
return=input.value valueChange=(input.valueChange as (newValue: K) => void)
|