@velumo/renderer-dom 0.1.0-beta.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.
- package/dist/background-renderer.d.ts +16 -0
- package/dist/background-renderer.d.ts.map +1 -0
- package/dist/background-renderer.js +41 -0
- package/dist/background-renderer.js.map +1 -0
- package/dist/camera-adapter.d.ts +16 -0
- package/dist/camera-adapter.d.ts.map +1 -0
- package/dist/camera-adapter.js +13 -0
- package/dist/camera-adapter.js.map +1 -0
- package/dist/default-theme.d.ts +5 -0
- package/dist/default-theme.d.ts.map +1 -0
- package/dist/default-theme.js +579 -0
- package/dist/default-theme.js.map +1 -0
- package/dist/dom-renderer.d.ts +62 -0
- package/dist/dom-renderer.d.ts.map +1 -0
- package/dist/dom-renderer.js +306 -0
- package/dist/dom-renderer.js.map +1 -0
- package/dist/html-sanitize.d.ts +18 -0
- package/dist/html-sanitize.d.ts.map +1 -0
- package/dist/html-sanitize.js +379 -0
- package/dist/html-sanitize.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/layout-renderer.d.ts +16 -0
- package/dist/layout-renderer.d.ts.map +1 -0
- package/dist/layout-renderer.js +450 -0
- package/dist/layout-renderer.js.map +1 -0
- package/dist/slide-thumbnail.d.ts +63 -0
- package/dist/slide-thumbnail.d.ts.map +1 -0
- package/dist/slide-thumbnail.js +93 -0
- package/dist/slide-thumbnail.js.map +1 -0
- package/dist/spatial-renderer.d.ts +18 -0
- package/dist/spatial-renderer.d.ts.map +1 -0
- package/dist/spatial-renderer.js +36 -0
- package/dist/spatial-renderer.js.map +1 -0
- package/dist/theme-fonts.d.ts +8 -0
- package/dist/theme-fonts.d.ts.map +1 -0
- package/dist/theme-fonts.js +68 -0
- package/dist/theme-fonts.js.map +1 -0
- package/dist/theme-tokens.d.ts +3 -0
- package/dist/theme-tokens.d.ts.map +1 -0
- package/dist/theme-tokens.js +43 -0
- package/dist/theme-tokens.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +20 -0
- package/src/background-renderer.ts +77 -0
- package/src/camera-adapter.ts +21 -0
- package/src/default-theme.ts +582 -0
- package/src/dom-renderer.ts +486 -0
- package/src/html-sanitize.ts +446 -0
- package/src/index.ts +25 -0
- package/src/layout-renderer.ts +721 -0
- package/src/slide-thumbnail.ts +146 -0
- package/src/spatial-renderer.ts +62 -0
- package/src/theme-fonts.ts +75 -0
- package/src/theme-tokens.ts +66 -0
- package/tsconfig.json +10 -0
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
const TAG_WHITELIST = new Set([
|
|
2
|
+
"strong",
|
|
3
|
+
"em",
|
|
4
|
+
"b",
|
|
5
|
+
"i",
|
|
6
|
+
"u",
|
|
7
|
+
"code",
|
|
8
|
+
"br",
|
|
9
|
+
"p",
|
|
10
|
+
"span",
|
|
11
|
+
]);
|
|
12
|
+
const ATTRIBUTE_WHITELIST = new Set([]);
|
|
13
|
+
// Tags whose content must be consumed as opaque raw text (no nested parsing,
|
|
14
|
+
// no content emission). Mirrors the HTML5 spec's raw-text/script-data content
|
|
15
|
+
// models. When the tokenizer encounters an open tag with one of these names,
|
|
16
|
+
// it scans forward to the matching case-insensitive close tag and discards
|
|
17
|
+
// everything in between. This closes the `<script>alert(1)</script>` payload
|
|
18
|
+
// leak that would otherwise happen with a stateless tokenizer.
|
|
19
|
+
const RAW_TEXT_TAGS = new Set([
|
|
20
|
+
"script",
|
|
21
|
+
"style",
|
|
22
|
+
"noscript",
|
|
23
|
+
"iframe",
|
|
24
|
+
"noembed",
|
|
25
|
+
"noframes",
|
|
26
|
+
"plaintext",
|
|
27
|
+
"xmp",
|
|
28
|
+
]);
|
|
29
|
+
function decodeNumericEntity(source, startIndex) {
|
|
30
|
+
if (source[startIndex] !== "&" || source[startIndex + 1] !== "#") {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
let cursor = startIndex + 2;
|
|
34
|
+
let isHex = false;
|
|
35
|
+
if (source[cursor] === "x") {
|
|
36
|
+
isHex = true;
|
|
37
|
+
cursor++;
|
|
38
|
+
}
|
|
39
|
+
const digitsStart = cursor;
|
|
40
|
+
const digitPattern = isHex ? /[0-9a-fA-F]/ : /[0-9]/;
|
|
41
|
+
while (cursor < source.length && digitPattern.test(source[cursor])) {
|
|
42
|
+
cursor++;
|
|
43
|
+
}
|
|
44
|
+
if (cursor === digitsStart) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
if (source[cursor] !== ";") {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
const digits = source.slice(digitsStart, cursor);
|
|
51
|
+
const code = parseInt(digits, isHex ? 16 : 10);
|
|
52
|
+
if (!Number.isFinite(code) || code < 0 || code > 0x10ffff) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
return { value: String.fromCodePoint(code), nextIndex: cursor + 1 };
|
|
56
|
+
}
|
|
57
|
+
function readCharInTagContext(source, index) {
|
|
58
|
+
if (source[index] === "&") {
|
|
59
|
+
const decoded = decodeNumericEntity(source, index);
|
|
60
|
+
if (decoded !== null) {
|
|
61
|
+
return decoded;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return { value: source[index], nextIndex: index + 1 };
|
|
65
|
+
}
|
|
66
|
+
function tokenize(source) {
|
|
67
|
+
const tokens = [];
|
|
68
|
+
let textBuffer = "";
|
|
69
|
+
let i = 0;
|
|
70
|
+
const n = source.length;
|
|
71
|
+
const flushText = () => {
|
|
72
|
+
if (textBuffer.length > 0) {
|
|
73
|
+
tokens.push({ kind: "text", value: textBuffer });
|
|
74
|
+
textBuffer = "";
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
while (i < n) {
|
|
78
|
+
const ch = source[i];
|
|
79
|
+
if (ch !== "<") {
|
|
80
|
+
textBuffer += ch;
|
|
81
|
+
i++;
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
// Encountered `<` — possible tag opening.
|
|
85
|
+
const tagStart = i;
|
|
86
|
+
const next = source[i + 1];
|
|
87
|
+
// Comment: <!-- ... -->
|
|
88
|
+
if (next === "!" && source[i + 2] === "-" && source[i + 3] === "-") {
|
|
89
|
+
const closeIdx = source.indexOf("-->", i + 4);
|
|
90
|
+
if (closeIdx === -1) {
|
|
91
|
+
// Unterminated comment — recover as verbatim text.
|
|
92
|
+
textBuffer += source.slice(i);
|
|
93
|
+
i = n;
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
flushText();
|
|
97
|
+
i = closeIdx + 3;
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
// CDATA: <![CDATA[ ... ]]>
|
|
101
|
+
if (next === "!" &&
|
|
102
|
+
source[i + 2] === "[" &&
|
|
103
|
+
source.slice(i + 3, i + 9) === "CDATA[") {
|
|
104
|
+
const closeIdx = source.indexOf("]]>", i + 9);
|
|
105
|
+
if (closeIdx === -1) {
|
|
106
|
+
// Unterminated CDATA — recover as verbatim text.
|
|
107
|
+
textBuffer += source.slice(i);
|
|
108
|
+
i = n;
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
flushText();
|
|
112
|
+
i = closeIdx + 3;
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
// DOCTYPE or other <!...> — drop entire construct up to next `>`.
|
|
116
|
+
if (next === "!") {
|
|
117
|
+
const closeIdx = source.indexOf(">", i + 2);
|
|
118
|
+
if (closeIdx === -1) {
|
|
119
|
+
// Malformed — drop partial.
|
|
120
|
+
flushText();
|
|
121
|
+
i = n;
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
flushText();
|
|
125
|
+
i = closeIdx + 1;
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
// Processing instruction: <?...?>
|
|
129
|
+
if (next === "?") {
|
|
130
|
+
const closeIdx = source.indexOf("?>", i + 2);
|
|
131
|
+
if (closeIdx === -1) {
|
|
132
|
+
flushText();
|
|
133
|
+
i = n;
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
flushText();
|
|
137
|
+
i = closeIdx + 2;
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
// Tag close: </name>
|
|
141
|
+
if (next === "/") {
|
|
142
|
+
i += 2;
|
|
143
|
+
let tagName = "";
|
|
144
|
+
while (i < n) {
|
|
145
|
+
const c = source[i];
|
|
146
|
+
if (c === ">") {
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
if (/\s/.test(c)) {
|
|
150
|
+
// Skip whitespace inside close-tag — continue until `>`.
|
|
151
|
+
i++;
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
const read = readCharInTagContext(source, i);
|
|
155
|
+
tagName += read.value;
|
|
156
|
+
i = read.nextIndex;
|
|
157
|
+
}
|
|
158
|
+
if (i >= n) {
|
|
159
|
+
// EOF before `>` — drop partial close-tag.
|
|
160
|
+
textBuffer = "";
|
|
161
|
+
continue;
|
|
162
|
+
}
|
|
163
|
+
i++; // consume `>`
|
|
164
|
+
flushText();
|
|
165
|
+
tokens.push({ kind: "tag-close", tagName: tagName.toLowerCase() });
|
|
166
|
+
continue;
|
|
167
|
+
}
|
|
168
|
+
// Tag open: <name [attrs...]>
|
|
169
|
+
i++; // consume `<`
|
|
170
|
+
let tagName = "";
|
|
171
|
+
let selfClosing = false;
|
|
172
|
+
let inTagBody = true;
|
|
173
|
+
// Read tag name (may be empty if first char is whitespace or `>`).
|
|
174
|
+
while (i < n && inTagBody) {
|
|
175
|
+
const c = source[i];
|
|
176
|
+
if (c === ">") {
|
|
177
|
+
i++;
|
|
178
|
+
inTagBody = false;
|
|
179
|
+
break;
|
|
180
|
+
}
|
|
181
|
+
if (c === "/") {
|
|
182
|
+
selfClosing = true;
|
|
183
|
+
i++;
|
|
184
|
+
// After `/` expect `>`; consume any whitespace then `>`.
|
|
185
|
+
while (i < n && source[i] !== ">") {
|
|
186
|
+
if (/\s/.test(source[i])) {
|
|
187
|
+
i++;
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
190
|
+
// Non-whitespace, non-`>` after `/` — drop tag.
|
|
191
|
+
break;
|
|
192
|
+
}
|
|
193
|
+
if (i < n && source[i] === ">") {
|
|
194
|
+
i++;
|
|
195
|
+
}
|
|
196
|
+
inTagBody = false;
|
|
197
|
+
break;
|
|
198
|
+
}
|
|
199
|
+
if (/\s/.test(c)) {
|
|
200
|
+
// Transition to attributes — consume the whitespace and break.
|
|
201
|
+
i++;
|
|
202
|
+
break;
|
|
203
|
+
}
|
|
204
|
+
const read = readCharInTagContext(source, i);
|
|
205
|
+
// A decoded character drives state transitions identically to a literal
|
|
206
|
+
// character of the same code point — including transition triggers
|
|
207
|
+
// (whitespace, `>`, `/`).
|
|
208
|
+
if (/\s/.test(read.value)) {
|
|
209
|
+
i = read.nextIndex;
|
|
210
|
+
break;
|
|
211
|
+
}
|
|
212
|
+
if (read.value === ">") {
|
|
213
|
+
i = read.nextIndex;
|
|
214
|
+
inTagBody = false;
|
|
215
|
+
break;
|
|
216
|
+
}
|
|
217
|
+
if (read.value === "/") {
|
|
218
|
+
selfClosing = true;
|
|
219
|
+
i = read.nextIndex;
|
|
220
|
+
continue;
|
|
221
|
+
}
|
|
222
|
+
tagName += read.value;
|
|
223
|
+
i = read.nextIndex;
|
|
224
|
+
}
|
|
225
|
+
// If still in tag body (i.e., we hit whitespace and broke), we're now reading attributes.
|
|
226
|
+
while (i < n && inTagBody) {
|
|
227
|
+
const c = source[i];
|
|
228
|
+
if (c === ">") {
|
|
229
|
+
i++;
|
|
230
|
+
inTagBody = false;
|
|
231
|
+
break;
|
|
232
|
+
}
|
|
233
|
+
if (c === "/") {
|
|
234
|
+
selfClosing = true;
|
|
235
|
+
i++;
|
|
236
|
+
continue;
|
|
237
|
+
}
|
|
238
|
+
if (c === '"' || c === "'") {
|
|
239
|
+
// Read quoted attribute value — entity decode inside quotes for
|
|
240
|
+
// state-machine completeness; a decoded matching quote closes.
|
|
241
|
+
const quote = c;
|
|
242
|
+
i++;
|
|
243
|
+
while (i < n) {
|
|
244
|
+
const qc = source[i];
|
|
245
|
+
if (qc === "&") {
|
|
246
|
+
const decoded = decodeNumericEntity(source, i);
|
|
247
|
+
if (decoded !== null) {
|
|
248
|
+
if (decoded.value === quote) {
|
|
249
|
+
i = decoded.nextIndex;
|
|
250
|
+
break;
|
|
251
|
+
}
|
|
252
|
+
i = decoded.nextIndex;
|
|
253
|
+
continue;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
if (qc === quote) {
|
|
257
|
+
i++;
|
|
258
|
+
break;
|
|
259
|
+
}
|
|
260
|
+
i++;
|
|
261
|
+
}
|
|
262
|
+
continue;
|
|
263
|
+
}
|
|
264
|
+
// Decode entities in attribute names too (for state-machine
|
|
265
|
+
// correctness; attribute names are discarded).
|
|
266
|
+
const read = readCharInTagContext(source, i);
|
|
267
|
+
// Decoded `>` ends the tag; decoded whitespace continues attributes.
|
|
268
|
+
if (read.value === ">") {
|
|
269
|
+
i = read.nextIndex;
|
|
270
|
+
inTagBody = false;
|
|
271
|
+
break;
|
|
272
|
+
}
|
|
273
|
+
i = read.nextIndex;
|
|
274
|
+
}
|
|
275
|
+
if (inTagBody) {
|
|
276
|
+
// EOF inside tag — drop partial tag.
|
|
277
|
+
textBuffer = "";
|
|
278
|
+
// But we already flushed text? No — we did NOT flush yet for the open tag path.
|
|
279
|
+
// Actually we need to ensure preceding text was preserved. The text up to
|
|
280
|
+
// tagStart is still in textBuffer. We want to drop it per spec ("text
|
|
281
|
+
// preceding `<` is still flushed" — wait, spec says text PRECEDING is
|
|
282
|
+
// still flushed). Re-read: "The text preceding `<` is still flushed."
|
|
283
|
+
// So we DO flush preceding text. But we did not flush in this path yet.
|
|
284
|
+
// Actually we need to preserve textBuffer that was accumulated BEFORE `<`.
|
|
285
|
+
// The `<` was at tagStart, and we accumulated text into textBuffer up to
|
|
286
|
+
// tagStart-1 in the TEXT loop. So textBuffer still has that preceding
|
|
287
|
+
// text. We should flush it.
|
|
288
|
+
flushText();
|
|
289
|
+
continue;
|
|
290
|
+
}
|
|
291
|
+
flushText();
|
|
292
|
+
const normalizedName = tagName.toLowerCase();
|
|
293
|
+
tokens.push({
|
|
294
|
+
kind: "tag-open",
|
|
295
|
+
tagName: normalizedName,
|
|
296
|
+
selfClosing,
|
|
297
|
+
});
|
|
298
|
+
void tagStart;
|
|
299
|
+
// Raw-text mode: if the opened tag is in RAW_TEXT_TAGS, consume content
|
|
300
|
+
// until matching case-insensitive close tag, then emit synthetic close
|
|
301
|
+
// token. The consumed content is NOT emitted as text. Uses the same
|
|
302
|
+
// entity-decoding char reader as the main tokenizer so close tags that
|
|
303
|
+
// are entity-obfuscated (e.g., </script>) still terminate.
|
|
304
|
+
if (RAW_TEXT_TAGS.has(normalizedName) && !selfClosing) {
|
|
305
|
+
let foundClose = false;
|
|
306
|
+
while (i < n) {
|
|
307
|
+
// Scan for `</` start.
|
|
308
|
+
if (source[i] === "<" && source[i + 1] === "/") {
|
|
309
|
+
// Try to read close-tag name using entity-aware reader.
|
|
310
|
+
let scan = i + 2;
|
|
311
|
+
let closeName = "";
|
|
312
|
+
while (scan < n) {
|
|
313
|
+
const ch = source[scan];
|
|
314
|
+
if (ch === ">")
|
|
315
|
+
break;
|
|
316
|
+
if (/\s/.test(ch)) {
|
|
317
|
+
scan++;
|
|
318
|
+
continue;
|
|
319
|
+
}
|
|
320
|
+
const read = readCharInTagContext(source, scan);
|
|
321
|
+
closeName += read.value;
|
|
322
|
+
scan = read.nextIndex;
|
|
323
|
+
}
|
|
324
|
+
if (scan < n &&
|
|
325
|
+
source[scan] === ">" &&
|
|
326
|
+
closeName.toLowerCase() === normalizedName) {
|
|
327
|
+
i = scan + 1;
|
|
328
|
+
tokens.push({ kind: "tag-close", tagName: normalizedName });
|
|
329
|
+
foundClose = true;
|
|
330
|
+
break;
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
i++;
|
|
334
|
+
}
|
|
335
|
+
if (!foundClose) {
|
|
336
|
+
i = n;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
flushText();
|
|
341
|
+
return tokens;
|
|
342
|
+
}
|
|
343
|
+
export function sanitizeHtmlLayer(source) {
|
|
344
|
+
const tokens = tokenize(source);
|
|
345
|
+
let output = "";
|
|
346
|
+
for (const token of tokens) {
|
|
347
|
+
switch (token.kind) {
|
|
348
|
+
case "text":
|
|
349
|
+
output += token.value;
|
|
350
|
+
break;
|
|
351
|
+
case "tag-open":
|
|
352
|
+
if (TAG_WHITELIST.has(token.tagName)) {
|
|
353
|
+
output += `<${token.tagName}>`;
|
|
354
|
+
}
|
|
355
|
+
break;
|
|
356
|
+
case "tag-close":
|
|
357
|
+
if (TAG_WHITELIST.has(token.tagName)) {
|
|
358
|
+
output += `</${token.tagName}>`;
|
|
359
|
+
}
|
|
360
|
+
break;
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
// Reference ATTRIBUTE_WHITELIST to keep the module-scope constant audit-visible
|
|
364
|
+
// even though the empty set means no attribute survives the emit pass.
|
|
365
|
+
void ATTRIBUTE_WHITELIST;
|
|
366
|
+
return output;
|
|
367
|
+
}
|
|
368
|
+
export function stripTags(source) {
|
|
369
|
+
return source.replace(/<[^>]*>/g, "");
|
|
370
|
+
}
|
|
371
|
+
export function renderSafeHtml(source, factories) {
|
|
372
|
+
const sanitized = sanitizeHtmlLayer(source);
|
|
373
|
+
const strongMatch = sanitized.match(/<strong[^>]*>([\s\S]*?)<\/strong>/i);
|
|
374
|
+
if (strongMatch !== null) {
|
|
375
|
+
return [factories.textElement("strong", stripTags(strongMatch[1]))];
|
|
376
|
+
}
|
|
377
|
+
return [factories.createText(stripTags(sanitized))];
|
|
378
|
+
}
|
|
379
|
+
//# sourceMappingURL=html-sanitize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-sanitize.js","sourceRoot":"","sources":["../src/html-sanitize.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const rendererDomPackageName = "@velumo/renderer-dom";
|
|
2
|
+
export { defaultTheme, defaultThemeCss, defaultThemeId, } from "./default-theme.js";
|
|
3
|
+
export { tokensToCssProperties } from "./theme-tokens.js";
|
|
4
|
+
export { compileFontFaceCss, escapeCssString } from "./theme-fonts.js";
|
|
5
|
+
export * from "./camera-adapter.js";
|
|
6
|
+
export * from "./spatial-renderer.js";
|
|
7
|
+
export { mountSlideThumbnail } from "./slide-thumbnail.js";
|
|
8
|
+
export type { SlideThumbnailOptions, SlideThumbnailHandle, } from "./slide-thumbnail.js";
|
|
9
|
+
export { renderLayoutNode, type LayoutRendererElement, type LayoutRendererFactories, } from "./layout-renderer.js";
|
|
10
|
+
export { DomRenderer } from "./dom-renderer.js";
|
|
11
|
+
export type { DomRendererOptions, DomLayerRendererContext, } from "./dom-renderer.js";
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,yBAAyB,CAAC;AAC7D,OAAO,EACL,YAAY,EACZ,eAAe,EACf,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACvE,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EACV,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EACV,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const rendererDomPackageName = "@velumo/renderer-dom";
|
|
2
|
+
export { defaultTheme, defaultThemeCss, defaultThemeId, } from "./default-theme.js";
|
|
3
|
+
export { tokensToCssProperties } from "./theme-tokens.js";
|
|
4
|
+
export { compileFontFaceCss, escapeCssString } from "./theme-fonts.js";
|
|
5
|
+
export * from "./camera-adapter.js";
|
|
6
|
+
export * from "./spatial-renderer.js";
|
|
7
|
+
export { mountSlideThumbnail } from "./slide-thumbnail.js";
|
|
8
|
+
export { renderLayoutNode, } from "./layout-renderer.js";
|
|
9
|
+
export { DomRenderer } from "./dom-renderer.js";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,sBAAsB,CAAC;AAC7D,OAAO,EACL,YAAY,EACZ,eAAe,EACf,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACvE,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAK3D,OAAO,EACL,gBAAgB,GAGjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface LayoutRendererElement {
|
|
2
|
+
setAttribute(name: string, value: string): void;
|
|
3
|
+
appendChild(child: LayoutRendererElement): void;
|
|
4
|
+
readonly style?: {
|
|
5
|
+
setProperty(name: string, value: string): void;
|
|
6
|
+
};
|
|
7
|
+
textContent: string;
|
|
8
|
+
parentNode?: unknown;
|
|
9
|
+
}
|
|
10
|
+
export interface LayoutRendererFactories {
|
|
11
|
+
createElement(tagName: string): LayoutRendererElement;
|
|
12
|
+
createElementNS?(namespace: string, tagName: string): LayoutRendererElement;
|
|
13
|
+
setStyleProperty(element: LayoutRendererElement, property: string, value: string): void;
|
|
14
|
+
}
|
|
15
|
+
export declare function renderLayoutNode(node: unknown, factories: LayoutRendererFactories): LayoutRendererElement;
|
|
16
|
+
//# sourceMappingURL=layout-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout-renderer.d.ts","sourceRoot":"","sources":["../src/layout-renderer.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,WAAW,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,CAAC;IACtD,eAAe,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,qBAAqB,CAAC;IAC5E,gBAAgB,CACd,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,IAAI,CAAC;CACT;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,uBAAuB,GACjC,qBAAqB,CA2CvB"}
|