render-tag 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"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"}
package/lib/parse.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Parse HTML string and extract inline <style> blocks.
3
+ * Returns the content element and combined CSS text.
4
+ */
5
+ export declare function parseHTML(html: string, extraCSS?: string): {
6
+ fragment: DocumentFragment;
7
+ css: string;
8
+ };
9
+ //# sourceMappingURL=parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,gBAAgB,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAuBtG"}
package/lib/parse.js ADDED
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Parse HTML string and extract inline <style> blocks.
3
+ * Returns the content element and combined CSS text.
4
+ */
5
+ export function parseHTML(html, extraCSS) {
6
+ const parser = new DOMParser();
7
+ const doc = parser.parseFromString(html, 'text/html');
8
+ // Extract all <style> tag contents
9
+ const styleTags = doc.querySelectorAll('style');
10
+ let css = '';
11
+ for (const tag of styleTags) {
12
+ css += tag.textContent + '\n';
13
+ tag.remove();
14
+ }
15
+ if (extraCSS) {
16
+ css = extraCSS + '\n' + css;
17
+ }
18
+ // Move body children into a fragment
19
+ const fragment = document.createDocumentFragment();
20
+ while (doc.body.firstChild) {
21
+ fragment.appendChild(document.adoptNode(doc.body.firstChild));
22
+ }
23
+ return { fragment, css };
24
+ }
25
+ //# sourceMappingURL=parse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,QAAiB;IACvD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAEtD,mCAAmC;IACnC,MAAM,SAAS,GAAG,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,GAAG,IAAI,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;QAC9B,GAAG,CAAC,MAAM,EAAE,CAAC;IACf,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,GAAG,QAAQ,GAAG,IAAI,GAAG,GAAG,CAAC;IAC9B,CAAC;IAED,qCAAqC;IACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;IACnD,OAAO,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3B,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { LayoutNode } from './types.js';
2
+ /**
3
+ * Render any layout node.
4
+ */
5
+ export declare function renderNode(ctx: CanvasRenderingContext2D, node: LayoutNode, gradientFill?: CanvasGradient | null): void;
6
+ //# sourceMappingURL=render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAwC,MAAM,YAAY,CAAC;AAwXnF;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CAMtH"}
package/lib/render.js ADDED
@@ -0,0 +1,351 @@
1
+ import { buildCanvasFont } from './layout.js';
2
+ /**
3
+ * Parse a CSS text-shadow string into individual shadow values.
4
+ * Format: "2px 2px 4px rgba(0,0,0,0.3), ..."
5
+ */
6
+ function parseTextShadows(shadow) {
7
+ if (!shadow || shadow === 'none')
8
+ return [];
9
+ const shadows = [];
10
+ // Split by comma but not within parentheses
11
+ const parts = shadow.split(/,(?![^(]*\))/);
12
+ for (const part of parts) {
13
+ const trimmed = part.trim();
14
+ // Extract color (rgb/rgba or named) and numbers
15
+ const colorMatch = trimmed.match(/(rgb[a]?\([^)]+\)|#[0-9a-fA-F]+|\b[a-z]+\b)(?:\s|$)/i);
16
+ const numMatches = trimmed.match(/-?[\d.]+px/g);
17
+ if (numMatches && numMatches.length >= 2) {
18
+ const nums = numMatches.map(n => parseFloat(n));
19
+ shadows.push({
20
+ offsetX: nums[0],
21
+ offsetY: nums[1],
22
+ blur: nums[2] || 0,
23
+ color: colorMatch ? colorMatch[1] : 'rgba(0,0,0,1)',
24
+ });
25
+ }
26
+ }
27
+ return shadows;
28
+ }
29
+ /**
30
+ * Check if a background color is transparent.
31
+ */
32
+ function isTransparent(color) {
33
+ return !color || color === 'transparent' || color === 'rgba(0, 0, 0, 0)';
34
+ }
35
+ /**
36
+ * Check if a border is visible.
37
+ */
38
+ function hasBorder(style, side) {
39
+ const width = style[`border${side}Width`];
40
+ const borderStyle = style[`border${side}Style`];
41
+ return width > 0 && borderStyle !== 'none';
42
+ }
43
+ /**
44
+ * Draw a decoration line with the given style (solid, dotted, dashed, double, wavy).
45
+ */
46
+ function drawDecorationLine(ctx, x, y, width, lineWidth, decoStyle, color) {
47
+ ctx.save();
48
+ ctx.strokeStyle = color;
49
+ ctx.lineWidth = lineWidth;
50
+ if (decoStyle === 'dotted') {
51
+ ctx.setLineDash([lineWidth, lineWidth * 2]);
52
+ ctx.beginPath();
53
+ ctx.moveTo(x, y);
54
+ ctx.lineTo(x + width, y);
55
+ ctx.stroke();
56
+ }
57
+ else if (decoStyle === 'dashed') {
58
+ ctx.setLineDash([lineWidth * 3, lineWidth * 2]);
59
+ ctx.beginPath();
60
+ ctx.moveTo(x, y);
61
+ ctx.lineTo(x + width, y);
62
+ ctx.stroke();
63
+ }
64
+ else if (decoStyle === 'double') {
65
+ const gap = Math.max(lineWidth, 2);
66
+ ctx.lineWidth = Math.max(0.5, lineWidth * 0.5);
67
+ ctx.beginPath();
68
+ ctx.moveTo(x, y - gap / 2);
69
+ ctx.lineTo(x + width, y - gap / 2);
70
+ ctx.moveTo(x, y + gap / 2);
71
+ ctx.lineTo(x + width, y + gap / 2);
72
+ ctx.stroke();
73
+ }
74
+ else if (decoStyle === 'wavy') {
75
+ const amplitude = Math.max(1.5, lineWidth);
76
+ const wavelength = amplitude * 4;
77
+ ctx.beginPath();
78
+ ctx.moveTo(x, y);
79
+ for (let cx = x; cx < x + width; cx += wavelength) {
80
+ ctx.quadraticCurveTo(cx + wavelength / 4, y - amplitude, cx + wavelength / 2, y);
81
+ ctx.quadraticCurveTo(cx + wavelength * 3 / 4, y + amplitude, cx + wavelength, y);
82
+ }
83
+ ctx.stroke();
84
+ }
85
+ else {
86
+ // solid (default)
87
+ ctx.beginPath();
88
+ ctx.moveTo(x, y);
89
+ ctx.lineTo(x + width, y);
90
+ ctx.stroke();
91
+ }
92
+ ctx.setLineDash([]);
93
+ ctx.restore();
94
+ }
95
+ /**
96
+ * Parse a CSS linear-gradient into canvas CanvasGradient.
97
+ */
98
+ function parseLinearGradient(ctx, bgImage, x, width, y, height) {
99
+ // Extract content inside linear-gradient(...) handling nested parens
100
+ const startIdx = bgImage.indexOf('linear-gradient(');
101
+ if (startIdx === -1)
102
+ return null;
103
+ let depth = 0;
104
+ let endIdx = -1;
105
+ for (let i = startIdx + 16; i < bgImage.length; i++) {
106
+ if (bgImage[i] === '(')
107
+ depth++;
108
+ else if (bgImage[i] === ')') {
109
+ if (depth === 0) {
110
+ endIdx = i;
111
+ break;
112
+ }
113
+ depth--;
114
+ }
115
+ }
116
+ if (endIdx === -1)
117
+ return null;
118
+ const innerContent = bgImage.slice(startIdx + 16, endIdx);
119
+ // Split by commas not inside parentheses
120
+ const parts = [];
121
+ depth = 0;
122
+ let start = 0;
123
+ const inner = innerContent;
124
+ for (let i = 0; i < inner.length; i++) {
125
+ if (inner[i] === '(')
126
+ depth++;
127
+ else if (inner[i] === ')')
128
+ depth--;
129
+ else if (inner[i] === ',' && depth === 0) {
130
+ parts.push(inner.slice(start, i).trim());
131
+ start = i + 1;
132
+ }
133
+ }
134
+ parts.push(inner.slice(start).trim());
135
+ // Parse angle/direction
136
+ let angle = 180; // default top to bottom
137
+ let colorStartIdx = 0;
138
+ const firstPart = parts[0];
139
+ if (firstPart.endsWith('deg')) {
140
+ angle = parseFloat(firstPart);
141
+ colorStartIdx = 1;
142
+ }
143
+ else if (firstPart === 'to right') {
144
+ angle = 90;
145
+ colorStartIdx = 1;
146
+ }
147
+ else if (firstPart === 'to left') {
148
+ angle = 270;
149
+ colorStartIdx = 1;
150
+ }
151
+ else if (firstPart === 'to bottom') {
152
+ angle = 180;
153
+ colorStartIdx = 1;
154
+ }
155
+ else if (firstPart === 'to top') {
156
+ angle = 0;
157
+ colorStartIdx = 1;
158
+ }
159
+ const rad = (angle - 90) * Math.PI / 180;
160
+ const cx = x + width / 2;
161
+ const cy = y + height / 2;
162
+ const len = Math.abs(width * Math.cos(rad)) + Math.abs(height * Math.sin(rad));
163
+ const dx = Math.cos(rad) * len / 2;
164
+ const dy = Math.sin(rad) * len / 2;
165
+ const gradient = ctx.createLinearGradient(cx - dx, cy - dy, cx + dx, cy + dy);
166
+ const colors = parts.slice(colorStartIdx);
167
+ for (let i = 0; i < colors.length; i++) {
168
+ const entry = colors[i].trim();
169
+ // Match color followed by optional percentage: "rgb(220, 38, 38) 0%"
170
+ // The percentage is always at the very end after the last space outside parens
171
+ let color = entry;
172
+ let stop = i / Math.max(1, colors.length - 1);
173
+ const percentMatch = entry.match(/\s+([\d.]+%)\s*$/);
174
+ if (percentMatch) {
175
+ stop = parseFloat(percentMatch[1]) / 100;
176
+ color = entry.slice(0, entry.length - percentMatch[0].length).trim();
177
+ }
178
+ try {
179
+ gradient.addColorStop(stop, color);
180
+ }
181
+ catch {
182
+ // Invalid color, skip
183
+ }
184
+ }
185
+ return gradient;
186
+ }
187
+ /**
188
+ * Render a single text node to canvas.
189
+ * @param gradientFill — pre-computed gradient for background-clip:text spanning full element
190
+ */
191
+ function renderText(ctx, node, gradientFill) {
192
+ const { style } = node;
193
+ ctx.save();
194
+ ctx.font = buildCanvasFont(style);
195
+ ctx.textBaseline = 'alphabetic';
196
+ ctx.fontKerning = style.fontKerning === 'none' ? 'none' : 'normal';
197
+ if (style.letterSpacing > 0) {
198
+ ctx.letterSpacing = `${style.letterSpacing}px`;
199
+ }
200
+ if (style.direction === 'rtl') {
201
+ ctx.direction = 'rtl';
202
+ ctx.textAlign = 'right';
203
+ }
204
+ const isGradientText = style.webkitBackgroundClip === 'text' &&
205
+ style.backgroundImage && style.backgroundImage !== 'none';
206
+ const isStrokedText = style.webkitTextStrokeWidth > 0;
207
+ const isFillTransparent = style.webkitTextFillColor === 'transparent' ||
208
+ style.color === 'transparent';
209
+ // Text shadow (draw before main text)
210
+ const shadows = parseTextShadows(style.textShadow);
211
+ if (shadows.length > 0) {
212
+ for (const shadow of shadows) {
213
+ ctx.save();
214
+ ctx.shadowOffsetX = shadow.offsetX;
215
+ ctx.shadowOffsetY = shadow.offsetY;
216
+ ctx.shadowBlur = shadow.blur;
217
+ ctx.shadowColor = shadow.color;
218
+ ctx.fillStyle = style.color;
219
+ ctx.fillText(node.text, node.x, node.y);
220
+ ctx.restore();
221
+ }
222
+ }
223
+ // Main text fill
224
+ if (isGradientText) {
225
+ ctx.save();
226
+ if (gradientFill) {
227
+ ctx.fillStyle = gradientFill;
228
+ }
229
+ else {
230
+ // Fallback: per-word gradient (shouldn't normally reach here)
231
+ const metrics = ctx.measureText(node.text);
232
+ const ascent = metrics.fontBoundingBoxAscent ?? metrics.actualBoundingBoxAscent;
233
+ const descent = metrics.fontBoundingBoxDescent ?? metrics.actualBoundingBoxDescent;
234
+ const gradient = parseLinearGradient(ctx, style.backgroundImage, node.x, node.width, node.y - ascent, ascent + descent);
235
+ ctx.fillStyle = gradient || style.color;
236
+ }
237
+ ctx.fillText(node.text, node.x, node.y);
238
+ ctx.restore();
239
+ }
240
+ else if (!isFillTransparent || !isStrokedText) {
241
+ // Normal text fill (skip if transparent + stroked, stroke handles it)
242
+ ctx.fillStyle = style.webkitTextFillColor && style.webkitTextFillColor !== 'transparent'
243
+ ? style.webkitTextFillColor : style.color;
244
+ // letterSpacing is set on ctx above — fillText handles it natively
245
+ ctx.fillText(node.text, node.x, node.y);
246
+ }
247
+ // Text stroke (outline text)
248
+ if (isStrokedText) {
249
+ ctx.save();
250
+ ctx.strokeStyle = style.webkitTextStrokeColor || style.color;
251
+ ctx.lineWidth = style.webkitTextStrokeWidth;
252
+ ctx.lineJoin = 'round';
253
+ ctx.strokeText(node.text, node.x, node.y);
254
+ ctx.restore();
255
+ }
256
+ // Text decorations — use font metrics for accurate positioning
257
+ const textWidth = node.width;
258
+ const fontSize = style.fontSize;
259
+ const decoColor = style.textDecorationColor || style.color;
260
+ const decoStyle = style.textDecorationStyle || 'solid';
261
+ const decoWidth = Math.max(1, fontSize / 15);
262
+ if (style.textDecorationLine !== 'none') {
263
+ ctx.font = buildCanvasFont(style);
264
+ const decoMetrics = ctx.measureText('x');
265
+ const decoAscent = decoMetrics.fontBoundingBoxAscent ?? decoMetrics.actualBoundingBoxAscent;
266
+ const xHeight = decoMetrics.actualBoundingBoxAscent;
267
+ if (style.textDecorationLine.includes('underline')) {
268
+ // Underline sits just below the baseline
269
+ const yOffset = fontSize * 0.1;
270
+ drawDecorationLine(ctx, node.x, node.y + yOffset, textWidth, decoWidth, decoStyle, decoColor);
271
+ }
272
+ if (style.textDecorationLine.includes('line-through')) {
273
+ // Strikethrough at ~40% of x-height above baseline
274
+ const yOffset = -(xHeight * 0.5);
275
+ drawDecorationLine(ctx, node.x, node.y + yOffset, textWidth, decoWidth, decoStyle, decoColor);
276
+ }
277
+ if (style.textDecorationLine.includes('overline')) {
278
+ drawDecorationLine(ctx, node.x, node.y - decoAscent, textWidth, decoWidth, decoStyle, decoColor);
279
+ }
280
+ }
281
+ ctx.restore();
282
+ }
283
+ /**
284
+ * Render a layout box and its children to canvas.
285
+ */
286
+ function renderBox(ctx, box) {
287
+ const { style } = box;
288
+ // Background
289
+ if (!isTransparent(style.backgroundColor)) {
290
+ ctx.fillStyle = style.backgroundColor;
291
+ ctx.fillRect(box.x, box.y, box.width, box.height);
292
+ }
293
+ // Borders
294
+ if (hasBorder(style, 'Top')) {
295
+ ctx.strokeStyle = style.borderTopColor;
296
+ ctx.lineWidth = style.borderTopWidth;
297
+ const y = box.y + style.borderTopWidth / 2;
298
+ ctx.beginPath();
299
+ ctx.moveTo(box.x, y);
300
+ ctx.lineTo(box.x + box.width, y);
301
+ ctx.stroke();
302
+ }
303
+ if (hasBorder(style, 'Right')) {
304
+ ctx.strokeStyle = style.borderRightColor;
305
+ ctx.lineWidth = style.borderRightWidth;
306
+ const x = box.x + box.width - style.borderRightWidth / 2;
307
+ ctx.beginPath();
308
+ ctx.moveTo(x, box.y);
309
+ ctx.lineTo(x, box.y + box.height);
310
+ ctx.stroke();
311
+ }
312
+ if (hasBorder(style, 'Bottom')) {
313
+ ctx.strokeStyle = style.borderBottomColor;
314
+ ctx.lineWidth = style.borderBottomWidth;
315
+ const y = box.y + box.height - style.borderBottomWidth / 2;
316
+ ctx.beginPath();
317
+ ctx.moveTo(box.x, y);
318
+ ctx.lineTo(box.x + box.width, y);
319
+ ctx.stroke();
320
+ }
321
+ if (hasBorder(style, 'Left')) {
322
+ ctx.strokeStyle = style.borderLeftColor;
323
+ ctx.lineWidth = style.borderLeftWidth;
324
+ const x = box.x + style.borderLeftWidth / 2;
325
+ ctx.beginPath();
326
+ ctx.moveTo(x, box.y);
327
+ ctx.lineTo(x, box.y + box.height);
328
+ ctx.stroke();
329
+ }
330
+ // Pre-compute gradient for background-clip: text elements
331
+ let gradientFill = null;
332
+ if (style.webkitBackgroundClip === 'text' && style.backgroundImage && style.backgroundImage !== 'none') {
333
+ gradientFill = parseLinearGradient(ctx, style.backgroundImage, box.x, box.width, box.y, box.height);
334
+ }
335
+ // Children
336
+ for (const child of box.children) {
337
+ renderNode(ctx, child, gradientFill);
338
+ }
339
+ }
340
+ /**
341
+ * Render any layout node.
342
+ */
343
+ export function renderNode(ctx, node, gradientFill) {
344
+ if (node.type === 'text') {
345
+ renderText(ctx, node, gradientFill);
346
+ }
347
+ else {
348
+ renderBox(ctx, node);
349
+ }
350
+ }
351
+ //# sourceMappingURL=render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { StyledNode } from './types.js';
2
+ /**
3
+ * Insert HTML into a hidden offscreen container, walk the DOM tree,
4
+ * and extract computed styles for every element. No measurements — only CSS values.
5
+ */
6
+ export declare function resolveStyles(fragment: DocumentFragment, css: string, width: number, height?: number): {
7
+ tree: StyledNode;
8
+ cleanup: () => void;
9
+ };
10
+ //# sourceMappingURL=style-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style-resolver.d.ts","sourceRoot":"","sources":["../src/style-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,UAAU,EAAE,MAAM,YAAY,CAAC;AA0J5D;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,gBAAgB,EAC1B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,GACd;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAwH3C"}