mono-jsx 0.10.0-beta.6 → 0.10.0-beta.8
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/jsx-runtime.mjs +10 -7
- package/package.json +1 -1
- package/types/jsx-runtime.d.ts +1 -0
- package/types/jsx.d.ts +31 -2
- package/types/render.d.ts +2 -2
package/jsx-runtime.mjs
CHANGED
|
@@ -16,7 +16,7 @@ var $setup = /* @__PURE__ */ Symbol.for("mono.setup");
|
|
|
16
16
|
var $rpc = /* @__PURE__ */ Symbol.for("mono.rpc");
|
|
17
17
|
|
|
18
18
|
// version.ts
|
|
19
|
-
var VERSION = "0.10.0-beta.
|
|
19
|
+
var VERSION = "0.10.0-beta.8";
|
|
20
20
|
|
|
21
21
|
// runtime/index.ts
|
|
22
22
|
var EVENT = 1;
|
|
@@ -223,6 +223,7 @@ var IdGen = class extends Map {
|
|
|
223
223
|
var cdn = "https://raw.esm.sh";
|
|
224
224
|
var encoder = new TextEncoder();
|
|
225
225
|
var voidTags = new Set("area,base,br,col,embed,hr,img,input,keygen,link,meta,param,source,track,wbr".split(","));
|
|
226
|
+
var defaultMetadata = { viewport: "width=device-width, initial-scale=1.0" };
|
|
226
227
|
var cache = /* @__PURE__ */ new Map();
|
|
227
228
|
var componentsMap = new IdGen();
|
|
228
229
|
var subtle = crypto.subtle;
|
|
@@ -843,12 +844,14 @@ async function renderNode(rc, node, stripSlotProp) {
|
|
|
843
844
|
}
|
|
844
845
|
metadata = await getMetadata.call(createInvokeScope(request, context, session));
|
|
845
846
|
}
|
|
846
|
-
let buf = "";
|
|
847
|
-
for (const [key, value] of Object.entries(Object.assign(
|
|
848
|
-
if (
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
847
|
+
let buf = '<meta charset="utf-8">';
|
|
848
|
+
for (const [key, value] of Object.entries(Object.assign(defaultMetadata, rc.metadata, metadata))) {
|
|
849
|
+
if (value) {
|
|
850
|
+
if (key === "title") {
|
|
851
|
+
buf += "<title>" + escapeHTML(value) + "</title>";
|
|
852
|
+
} else {
|
|
853
|
+
buf += "<meta " + (key.startsWith("og:") ? "property" : "name") + "=" + toAttrStringLit(key) + " content=" + toAttrStringLit(value) + ">";
|
|
854
|
+
}
|
|
852
855
|
}
|
|
853
856
|
}
|
|
854
857
|
write(buf);
|
package/package.json
CHANGED
package/types/jsx-runtime.d.ts
CHANGED
package/types/jsx.d.ts
CHANGED
|
@@ -56,10 +56,39 @@ export type VNode = readonly [
|
|
|
56
56
|
$vnode: symbol,
|
|
57
57
|
];
|
|
58
58
|
|
|
59
|
+
export type Metadata = {
|
|
60
|
+
viewport?: "width=device-width, initial-scale=1.0" | (string & {});
|
|
61
|
+
title?: string;
|
|
62
|
+
description?: string;
|
|
63
|
+
keywords?: string;
|
|
64
|
+
robots?: string;
|
|
65
|
+
canonical?: string;
|
|
66
|
+
author?: string;
|
|
67
|
+
"og:title"?: string;
|
|
68
|
+
"og:description"?: string;
|
|
69
|
+
"og:image"?: string;
|
|
70
|
+
"og:image:type"?: string;
|
|
71
|
+
"og:image:width"?: string;
|
|
72
|
+
"og:image:height"?: string;
|
|
73
|
+
"og:image:alt"?: string;
|
|
74
|
+
"og:url"?: string;
|
|
75
|
+
"og:type"?: string;
|
|
76
|
+
"og:locale"?: string;
|
|
77
|
+
"og:site_name"?: string;
|
|
78
|
+
"twitter:card"?: "summary_large_image" | "summary" | "app" | "player";
|
|
79
|
+
"twitter:title"?: string;
|
|
80
|
+
"twitter:description"?: string;
|
|
81
|
+
"twitter:image"?: string;
|
|
82
|
+
"twitter:imagewidth"?: string;
|
|
83
|
+
"twitter:imageheight"?: string;
|
|
84
|
+
"twitter:site"?: `@${string}`;
|
|
85
|
+
[key: string]: string | undefined;
|
|
86
|
+
};
|
|
87
|
+
|
|
59
88
|
export interface ComponentConfig {
|
|
60
89
|
FormHandler?: ComponentType<FormData>;
|
|
61
|
-
getMetadata?: () => MaybePromise<
|
|
62
|
-
metadata?:
|
|
90
|
+
getMetadata?: () => MaybePromise<Metadata>;
|
|
91
|
+
metadata?: Metadata;
|
|
63
92
|
dynamic?: boolean;
|
|
64
93
|
rendering?: string;
|
|
65
94
|
}
|
package/types/render.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference path="./htmx.d.ts" />
|
|
2
2
|
|
|
3
|
-
import type { ComponentType, MaybeModule } from "./jsx.d.ts";
|
|
3
|
+
import type { ComponentType, MaybeModule, Metadata } from "./jsx.d.ts";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Htmx extensions.
|
|
@@ -89,7 +89,7 @@ export interface RenderOptions extends Partial<HtmxExts> {
|
|
|
89
89
|
/**
|
|
90
90
|
* Global metadata.
|
|
91
91
|
*/
|
|
92
|
-
metadata?:
|
|
92
|
+
metadata?: Metadata;
|
|
93
93
|
/**
|
|
94
94
|
* Current `Request` object to be passed to components.
|
|
95
95
|
*/
|