@fluixi/dom 1.0.0-alpha.82 → 1.0.0-alpha.84
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/dist/cdn/dom-client.cjs +1427 -1
- package/dist/cdn/dom-client.d.ts +2 -2
- package/dist/cdn/dom-client.global.js +2 -1
- package/dist/cdn/dom-client.js +3 -3
- package/dist/cdn/dom-client.mjs +1430 -1
- package/dist/cdn/dom.cjs +3127 -1
- package/dist/cdn/dom.d.ts +2 -2
- package/dist/cdn/dom.global.js +2 -1
- package/dist/cdn/dom.js +4 -4
- package/dist/cdn/dom.mjs +3133 -1
- package/dist/index.cjs +3155 -1
- package/dist/index.js +2 -2
- package/dist/index.mjs +3149 -1
- package/dist/lib/component/index.cjs +128 -1
- package/dist/lib/component/index.mjs +105 -1
- package/dist/lib/component/modifiers.cjs +126 -1
- package/dist/lib/component/modifiers.d.ts +12 -0
- package/dist/lib/component/modifiers.d.ts.map +1 -1
- package/dist/lib/component/modifiers.js +12 -84
- package/dist/lib/component/modifiers.mjs +105 -1
- package/dist/lib/dom/delegate.cjs +60 -1
- package/dist/lib/dom/delegate.js +1 -1
- package/dist/lib/dom/delegate.mjs +39 -1
- package/dist/lib/dom/dynamic-element.cjs +949 -1
- package/dist/lib/dom/dynamic-element.d.ts +3 -3
- package/dist/lib/dom/dynamic-element.js +3 -3
- package/dist/lib/dom/dynamic-element.mjs +928 -1
- package/dist/lib/dom/hydration-state.cjs +93 -1
- package/dist/lib/dom/hydration-state.d.ts +1 -1
- package/dist/lib/dom/hydration-state.js +1 -1
- package/dist/lib/dom/hydration-state.mjs +72 -1
- package/dist/lib/dom/hydration.cjs +685 -1
- package/dist/lib/dom/hydration.js +8 -8
- package/dist/lib/dom/hydration.mjs +664 -1
- package/dist/lib/dom/index.cjs +2040 -1
- package/dist/lib/dom/index.js +1 -1
- package/dist/lib/dom/index.mjs +2020 -1
- package/dist/lib/dom/integration.cjs +71 -1
- package/dist/lib/dom/integration.d.ts.map +1 -1
- package/dist/lib/dom/integration.js +15 -6
- package/dist/lib/dom/integration.mjs +51 -1
- package/dist/lib/dom/island.cjs +790 -1
- package/dist/lib/dom/island.d.ts +1 -1
- package/dist/lib/dom/island.js +12 -12
- package/dist/lib/dom/island.mjs +769 -1
- package/dist/lib/dom/runtime.cjs +1432 -1
- package/dist/lib/dom/runtime.d.ts +71 -19
- package/dist/lib/dom/runtime.d.ts.map +1 -1
- package/dist/lib/dom/runtime.js +261 -100
- package/dist/lib/dom/runtime.mjs +1414 -1
- package/dist/lib/dom/server/fx-data.cjs +53 -1
- package/dist/lib/dom/server/fx-data.d.ts +5 -5
- package/dist/lib/dom/server/fx-data.js +6 -6
- package/dist/lib/dom/server/fx-data.mjs +32 -1
- package/dist/lib/dom/server/host.cjs +66 -1
- package/dist/lib/dom/server/host.d.ts +14 -2
- package/dist/lib/dom/server/host.d.ts.map +1 -1
- package/dist/lib/dom/server/host.js +38 -10
- package/dist/lib/dom/server/host.mjs +45 -1
- package/dist/lib/dom/server/index.cjs +759 -1
- package/dist/lib/dom/server/index.d.ts +1 -1
- package/dist/lib/dom/server/index.js +1 -1
- package/dist/lib/dom/server/index.mjs +743 -1
- package/dist/lib/dom/server/nodes.cjs +302 -1
- package/dist/lib/dom/server/nodes.d.ts +2 -2
- package/dist/lib/dom/server/nodes.d.ts.map +1 -1
- package/dist/lib/dom/server/nodes.js +4 -4
- package/dist/lib/dom/server/nodes.mjs +279 -1
- package/dist/lib/dom/server/parse-template.cjs +395 -1
- package/dist/lib/dom/server/parse-template.d.ts +1 -1
- package/dist/lib/dom/server/parse-template.js +4 -4
- package/dist/lib/dom/server/parse-template.mjs +372 -1
- package/dist/lib/dom/server/render.cjs +691 -1
- package/dist/lib/dom/server/render.d.ts +9 -1
- package/dist/lib/dom/server/render.d.ts.map +1 -1
- package/dist/lib/dom/server/render.js +25 -17
- package/dist/lib/dom/server/render.mjs +677 -1
- package/dist/lib/dom/server/request-context.cjs +110 -1
- package/dist/lib/dom/server/request-context.d.ts +29 -9
- package/dist/lib/dom/server/request-context.d.ts.map +1 -1
- package/dist/lib/dom/server/request-context.js +28 -8
- package/dist/lib/dom/server/request-context.mjs +89 -1
- package/dist/lib/dom/server/serialize.cjs +187 -1
- package/dist/lib/dom/server/serialize.js +3 -3
- package/dist/lib/dom/server/serialize.mjs +164 -1
- package/dist/lib/dom/server-renderer.cjs +760 -1
- package/dist/lib/dom/server-renderer.js +1 -1
- package/dist/lib/dom/server-renderer.mjs +745 -1
- package/dist/lib/dom/types.cjs +18 -1
- package/dist/lib/dom/utils.cjs +381 -1
- package/dist/lib/dom/utils.d.ts +1 -88
- package/dist/lib/dom/utils.d.ts.map +1 -1
- package/dist/lib/dom/utils.js +2 -99
- package/dist/lib/dom/utils.mjs +361 -1
- package/dist/lib/dom/versions.cjs +60 -1
- package/dist/lib/dom/versions.d.ts +3 -3
- package/dist/lib/dom/versions.d.ts.map +1 -1
- package/dist/lib/dom/versions.js +17 -5
- package/dist/lib/dom/versions.mjs +37 -1
- package/dist/lib/element/attributes.cjs +19 -1
- package/dist/lib/element/attributes.d.ts +7 -7
- package/dist/lib/element/attributes.js +1 -1
- package/dist/lib/element/attributes.mjs +1 -0
- package/dist/lib/element/index.cjs +19 -1
- package/dist/lib/element/index.mjs +1 -0
- package/dist/lib/element/types.cjs +18 -1
- package/dist/lib/element/types.d.ts +4 -5
- package/dist/lib/element/types.d.ts.map +1 -1
- package/dist/lib/element/types.js +0 -1
- package/dist/lib/flow/class-map.cjs +38 -1
- package/dist/lib/flow/class-map.d.ts +3 -3
- package/dist/lib/flow/class-map.js +3 -3
- package/dist/lib/flow/class-map.mjs +17 -1
- package/dist/lib/flow/client-only.cjs +57 -1
- package/dist/lib/flow/client-only.d.ts +4 -4
- package/dist/lib/flow/client-only.js +4 -4
- package/dist/lib/flow/client-only.mjs +36 -1
- package/dist/lib/flow/dynamic.cjs +53 -1
- package/dist/lib/flow/dynamic.d.ts +2 -2
- package/dist/lib/flow/dynamic.js +4 -4
- package/dist/lib/flow/dynamic.mjs +32 -1
- package/dist/lib/flow/error-boundary.cjs +43 -1
- package/dist/lib/flow/error-boundary.d.ts +2 -2
- package/dist/lib/flow/error-boundary.js +4 -4
- package/dist/lib/flow/error-boundary.mjs +22 -1
- package/dist/lib/flow/for.cjs +66 -1
- package/dist/lib/flow/for.d.ts +9 -9
- package/dist/lib/flow/for.d.ts.map +1 -1
- package/dist/lib/flow/for.js +2 -2
- package/dist/lib/flow/for.mjs +45 -1
- package/dist/lib/flow/index-flow.cjs +67 -1
- package/dist/lib/flow/index-flow.d.ts +5 -5
- package/dist/lib/flow/index-flow.js +4 -4
- package/dist/lib/flow/index-flow.mjs +46 -1
- package/dist/lib/flow/index.cjs +805 -1
- package/dist/lib/flow/index.mjs +792 -1
- package/dist/lib/flow/portal.cjs +538 -1
- package/dist/lib/flow/portal.mjs +519 -1
- package/dist/lib/flow/show.cjs +81 -1
- package/dist/lib/flow/show.d.ts +1 -1
- package/dist/lib/flow/show.d.ts.map +1 -1
- package/dist/lib/flow/show.js +12 -118
- package/dist/lib/flow/show.mjs +67 -1
- package/dist/lib/flow/style-map.cjs +43 -1
- package/dist/lib/flow/style-map.d.ts +3 -3
- package/dist/lib/flow/style-map.js +4 -4
- package/dist/lib/flow/style-map.mjs +22 -1
- package/dist/lib/flow/switch.cjs +91 -1
- package/dist/lib/flow/switch.d.ts +3 -3
- package/dist/lib/flow/switch.d.ts.map +1 -1
- package/dist/lib/flow/switch.js +7 -7
- package/dist/lib/flow/switch.mjs +70 -1
- package/dist/lib/flow/utils.cjs +44 -1
- package/dist/lib/flow/utils.d.ts +1 -1
- package/dist/lib/flow/utils.js +1 -1
- package/dist/lib/flow/utils.mjs +23 -1
- package/dist/lib/html.cjs +32 -1
- package/dist/lib/html.d.ts +6 -6
- package/dist/lib/html.js +5 -5
- package/dist/lib/html.mjs +11 -1
- package/dist/lib/index.cjs +3104 -1
- package/dist/lib/index.d.ts +0 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +2 -3
- package/dist/lib/index.mjs +3097 -1
- package/dist/lib/shared/types.cjs +18 -1
- package/dist/lib/shared/types.d.ts +8 -8
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/dist/version.generated.cjs +26 -1
- package/dist/version.generated.d.ts +1 -1
- package/dist/version.generated.js +2 -2
- package/dist/version.generated.mjs +5 -1
- package/package.json +7 -6
- package/dist/lib/jsx/control-flow/flow.cjs +0 -1
- package/dist/lib/jsx/control-flow/flow.d.ts +0 -2
- package/dist/lib/jsx/control-flow/flow.d.ts.map +0 -1
- package/dist/lib/jsx/control-flow/flow.js +0 -627
- package/dist/lib/jsx/control-flow/flow.mjs +0 -0
- package/dist/lib/jsx/control-flow/for-flow.cjs +0 -1
- package/dist/lib/jsx/control-flow/for-flow.d.ts +0 -2
- package/dist/lib/jsx/control-flow/for-flow.d.ts.map +0 -1
- package/dist/lib/jsx/control-flow/for-flow.js +0 -1
- package/dist/lib/jsx/control-flow/for-flow.mjs +0 -0
|
@@ -1 +1,164 @@
|
|
|
1
|
-
|
|
1
|
+
// src/lib/dom/server/host.ts
|
|
2
|
+
var SERVER_NODE = /* @__PURE__ */ Symbol.for("fluixi.server-node");
|
|
3
|
+
var STATE = /* @__PURE__ */ Symbol.for("fluixi.dom.server-host");
|
|
4
|
+
var realm = globalThis;
|
|
5
|
+
var state = realm[STATE] ??= {
|
|
6
|
+
server: typeof document === "undefined",
|
|
7
|
+
nodes: null
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
// src/lib/dom/server/nodes.ts
|
|
11
|
+
var NODE_ELEMENT = 1;
|
|
12
|
+
var NODE_TEXT = 3;
|
|
13
|
+
var NODE_COMMENT = 8;
|
|
14
|
+
var _a;
|
|
15
|
+
_a = SERVER_NODE;
|
|
16
|
+
var ServerNode = class {
|
|
17
|
+
constructor() {
|
|
18
|
+
// Brand the host.ts guards check for (lets them skip an instanceof on these classes).
|
|
19
|
+
this[_a] = true;
|
|
20
|
+
this.parentNode = null;
|
|
21
|
+
this.childNodes = [];
|
|
22
|
+
}
|
|
23
|
+
get firstChild() {
|
|
24
|
+
return this.childNodes[0] ?? null;
|
|
25
|
+
}
|
|
26
|
+
get lastChild() {
|
|
27
|
+
return this.childNodes[this.childNodes.length - 1] ?? null;
|
|
28
|
+
}
|
|
29
|
+
get nextSibling() {
|
|
30
|
+
const p = this.parentNode;
|
|
31
|
+
if (!p) return null;
|
|
32
|
+
const i = p.childNodes.indexOf(this);
|
|
33
|
+
return i >= 0 ? p.childNodes[i + 1] ?? null : null;
|
|
34
|
+
}
|
|
35
|
+
get previousSibling() {
|
|
36
|
+
const p = this.parentNode;
|
|
37
|
+
if (!p) return null;
|
|
38
|
+
const i = p.childNodes.indexOf(this);
|
|
39
|
+
return i > 0 ? p.childNodes[i - 1] ?? null : null;
|
|
40
|
+
}
|
|
41
|
+
get parentElement() {
|
|
42
|
+
return this.parentNode;
|
|
43
|
+
}
|
|
44
|
+
appendChild(child) {
|
|
45
|
+
if (child.parentNode) child.parentNode.removeChild(child);
|
|
46
|
+
child.parentNode = this;
|
|
47
|
+
this.childNodes.push(child);
|
|
48
|
+
return child;
|
|
49
|
+
}
|
|
50
|
+
insertBefore(child, ref) {
|
|
51
|
+
if (ref == null) return this.appendChild(child);
|
|
52
|
+
if (child.parentNode) child.parentNode.removeChild(child);
|
|
53
|
+
const i = this.childNodes.indexOf(ref);
|
|
54
|
+
child.parentNode = this;
|
|
55
|
+
if (i < 0) this.childNodes.push(child);
|
|
56
|
+
else this.childNodes.splice(i, 0, child);
|
|
57
|
+
return child;
|
|
58
|
+
}
|
|
59
|
+
removeChild(child) {
|
|
60
|
+
const i = this.childNodes.indexOf(child);
|
|
61
|
+
if (i >= 0) this.childNodes.splice(i, 1);
|
|
62
|
+
child.parentNode = null;
|
|
63
|
+
return child;
|
|
64
|
+
}
|
|
65
|
+
replaceChild(next, old) {
|
|
66
|
+
const i = this.childNodes.indexOf(old);
|
|
67
|
+
if (i >= 0) {
|
|
68
|
+
if (next.parentNode) next.parentNode.removeChild(next);
|
|
69
|
+
next.parentNode = this;
|
|
70
|
+
this.childNodes[i] = next;
|
|
71
|
+
old.parentNode = null;
|
|
72
|
+
}
|
|
73
|
+
return old;
|
|
74
|
+
}
|
|
75
|
+
// Event listeners are inert on the server.
|
|
76
|
+
addEventListener() {
|
|
77
|
+
}
|
|
78
|
+
removeEventListener() {
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
// src/lib/dom/server/serialize.ts
|
|
83
|
+
var VOID_ELEMENTS = /* @__PURE__ */ new Set([
|
|
84
|
+
"area",
|
|
85
|
+
"base",
|
|
86
|
+
"br",
|
|
87
|
+
"col",
|
|
88
|
+
"embed",
|
|
89
|
+
"hr",
|
|
90
|
+
"img",
|
|
91
|
+
"input",
|
|
92
|
+
"link",
|
|
93
|
+
"meta",
|
|
94
|
+
"param",
|
|
95
|
+
"source",
|
|
96
|
+
"track",
|
|
97
|
+
"wbr"
|
|
98
|
+
]);
|
|
99
|
+
var AMP = /&/g;
|
|
100
|
+
var LT = /</g;
|
|
101
|
+
var GT = />/g;
|
|
102
|
+
var QUOT = /"/g;
|
|
103
|
+
function escapeText(s) {
|
|
104
|
+
return s.replace(AMP, "&").replace(LT, "<").replace(GT, ">");
|
|
105
|
+
}
|
|
106
|
+
function escapeAttr(s) {
|
|
107
|
+
return s.replace(AMP, "&").replace(QUOT, """).replace(LT, "<").replace(GT, ">");
|
|
108
|
+
}
|
|
109
|
+
function camelToKebab(k) {
|
|
110
|
+
if (k.startsWith("--")) return k;
|
|
111
|
+
return k.replace(/[A-Z]/g, (m) => "-" + m.toLowerCase());
|
|
112
|
+
}
|
|
113
|
+
function serializeStyle(style) {
|
|
114
|
+
if (!style) return "";
|
|
115
|
+
const parts = [];
|
|
116
|
+
if (style.cssText) parts.push(style.cssText.trim().replace(/;\s*$/, ""));
|
|
117
|
+
for (const key of Object.keys(style)) {
|
|
118
|
+
if (key === "cssText") continue;
|
|
119
|
+
const v = style[key];
|
|
120
|
+
if (v == null || v === "") continue;
|
|
121
|
+
parts.push(`${camelToKebab(key)}: ${v}`);
|
|
122
|
+
}
|
|
123
|
+
return parts.join("; ");
|
|
124
|
+
}
|
|
125
|
+
function serializeAttrs(el) {
|
|
126
|
+
let out = "";
|
|
127
|
+
const inlineStyle = serializeStyle(el.style);
|
|
128
|
+
for (const [name, value] of el.attributes) {
|
|
129
|
+
if (name === "style" && inlineStyle) continue;
|
|
130
|
+
out += ` ${name}="${escapeAttr(value)}"`;
|
|
131
|
+
}
|
|
132
|
+
if (inlineStyle) {
|
|
133
|
+
const attrStyle = el.attributes.get("style");
|
|
134
|
+
const merged = attrStyle ? `${attrStyle.replace(/;\s*$/, "")}; ${inlineStyle}` : inlineStyle;
|
|
135
|
+
out += ` style="${escapeAttr(merged)}"`;
|
|
136
|
+
}
|
|
137
|
+
return out;
|
|
138
|
+
}
|
|
139
|
+
function serializeNode(node) {
|
|
140
|
+
if (node == null || node === false || node === true) return "";
|
|
141
|
+
if (typeof node === "string") return escapeText(node);
|
|
142
|
+
if (typeof node === "number") return escapeText(String(node));
|
|
143
|
+
if (typeof node === "function") return serializeNode(node());
|
|
144
|
+
if (Array.isArray(node)) return node.map(serializeNode).join("");
|
|
145
|
+
if (typeof node.rawOuterHTML === "string") return node.rawOuterHTML;
|
|
146
|
+
switch (node.nodeType) {
|
|
147
|
+
case NODE_TEXT:
|
|
148
|
+
return escapeText(node.data ?? "");
|
|
149
|
+
case NODE_COMMENT:
|
|
150
|
+
return `<!--${node.data ?? ""}-->`;
|
|
151
|
+
case NODE_ELEMENT: {
|
|
152
|
+
const tag = node.localName;
|
|
153
|
+
const open = `<${tag}${serializeAttrs(node)}>`;
|
|
154
|
+
if (VOID_ELEMENTS.has(tag)) return open;
|
|
155
|
+
const inner = node.rawHTML != null ? node.rawHTML : (node.childNodes ?? []).map(serializeNode).join("");
|
|
156
|
+
return `${open}${inner}</${tag}>`;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
if (Array.isArray(node.childNodes)) return node.childNodes.map(serializeNode).join("");
|
|
160
|
+
return "";
|
|
161
|
+
}
|
|
162
|
+
export {
|
|
163
|
+
serializeNode
|
|
164
|
+
};
|