@react-x11/components 0.14.0 → 0.14.1
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/html/css/cascade.d.ts +42 -1
- package/dist/html/css/cascade.d.ts.map +1 -1
- package/dist/html/css/cascade.js +310 -12
- package/dist/html/css/cascade.js.map +1 -1
- package/dist/html/css/shapes.d.ts +44 -0
- package/dist/html/css/shapes.d.ts.map +1 -0
- package/dist/html/css/shapes.js +194 -0
- package/dist/html/css/shapes.js.map +1 -0
- package/dist/html/css/style.d.ts.map +1 -1
- package/dist/html/css/style.js +1 -15
- package/dist/html/css/style.js.map +1 -1
- package/dist/html/layout/block.d.ts +16 -5
- package/dist/html/layout/block.d.ts.map +1 -1
- package/dist/html/layout/block.js +26 -5
- package/dist/html/layout/block.js.map +1 -1
- package/dist/html/layout/boxes.d.ts +13 -0
- package/dist/html/layout/boxes.d.ts.map +1 -1
- package/dist/html/layout/boxes.js +18 -0
- package/dist/html/layout/boxes.js.map +1 -1
- package/dist/html/layout/css-grid.d.ts.map +1 -1
- package/dist/html/layout/css-grid.js +58 -10
- package/dist/html/layout/css-grid.js.map +1 -1
- package/dist/html/layout/flex.js +19 -6
- package/dist/html/layout/flex.js.map +1 -1
- package/dist/html/layout/table.d.ts.map +1 -1
- package/dist/html/layout/table.js +38 -16
- package/dist/html/layout/table.js.map +1 -1
- package/dist/html/node.d.ts +1 -0
- package/dist/html/node.d.ts.map +1 -1
- package/dist/html/node.js +57 -12
- package/dist/html/node.js.map +1 -1
- package/dist/html/paint.d.ts +4 -1
- package/dist/html/paint.d.ts.map +1 -1
- package/dist/html/paint.js +269 -84
- package/dist/html/paint.js.map +1 -1
- package/dist/html/svg.d.ts +27 -10
- package/dist/html/svg.d.ts.map +1 -1
- package/dist/html/svg.js +259 -46
- package/dist/html/svg.js.map +1 -1
- package/package.json +1 -1
- package/src/html/css/cascade.ts +343 -8
- package/src/html/css/shapes.ts +239 -0
- package/src/html/css/style.ts +1 -13
- package/src/html/layout/block.ts +27 -5
- package/src/html/layout/boxes.ts +30 -0
- package/src/html/layout/css-grid.ts +77 -13
- package/src/html/layout/flex.ts +22 -9
- package/src/html/layout/table.ts +45 -18
- package/src/html/node.ts +54 -11
- package/src/html/paint.ts +379 -90
- package/src/html/svg.ts +318 -39
package/dist/html/svg.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Element } from 'domhandler';
|
|
2
2
|
import { isSvgRoot } from './dom.js';
|
|
3
|
+
import type { ShapeStyles } from './css/shapes.js';
|
|
3
4
|
export { isSvgRoot };
|
|
4
5
|
/** What an image says about its own size, in CSS pixels: a width and a
|
|
5
6
|
* height — a raster image always has both, an SVG those that are absolute
|
|
@@ -9,13 +10,6 @@ export interface IntrinsicSize {
|
|
|
9
10
|
height: number | null;
|
|
10
11
|
ratio: number;
|
|
11
12
|
}
|
|
12
|
-
/**
|
|
13
|
-
* The `width`/`height` of an inline `<svg>` as CSS: they are presentation
|
|
14
|
-
* attributes for the properties of the same names (SVG 2, 5.1.1), so
|
|
15
|
-
* `height="50%"` is a percentage of the containing block like a style's.
|
|
16
|
-
* A bare number is pixels; null for what CSS would not parse.
|
|
17
|
-
*/
|
|
18
|
-
export declare function svgSizeHint(value: string): string | null;
|
|
19
13
|
/**
|
|
20
14
|
* An SVG root's intrinsic size and ratio (SVG 2, "Intrinsic sizing
|
|
21
15
|
* properties of the viewport of SVG images"): its `width` and `height` where
|
|
@@ -50,7 +44,8 @@ export declare class SvgDrawing {
|
|
|
50
44
|
private _seen;
|
|
51
45
|
private _seenLast;
|
|
52
46
|
private _seenViewport;
|
|
53
|
-
/** The `fill` and `stroke` the view's tree was last given its root's
|
|
47
|
+
/** The `fill` and `stroke` the view's tree was last given its root's,
|
|
48
|
+
* and what the document's rules gave the elements in it. */
|
|
54
49
|
private _seenPaint;
|
|
55
50
|
/** Whether a length in the tree is a percentage of the viewport; null
|
|
56
51
|
* until the tree is first read. */
|
|
@@ -68,6 +63,13 @@ export declare class SvgDrawing {
|
|
|
68
63
|
/** The background an image's root gives its canvas; undefined until it
|
|
69
64
|
* is first read. */
|
|
70
65
|
private _canvas;
|
|
66
|
+
/** An SVG image's own style sheets, its `<style>` elements': read at its
|
|
67
|
+
* first draw, and none for most images. */
|
|
68
|
+
private _sheets;
|
|
69
|
+
/** A cascade over them for each colour scheme and scale the image is
|
|
70
|
+
* drawn at, and what each gave it: by the viewport it was asked at where
|
|
71
|
+
* a sheet reads the viewport, and under one key where none does. */
|
|
72
|
+
private _cascades;
|
|
71
73
|
constructor(root: Element, intrinsics: IntrinsicSize, standalone?: boolean);
|
|
72
74
|
/**
|
|
73
75
|
* Draw into a rectangle — the box's content box, in device pixels —
|
|
@@ -77,9 +79,24 @@ export declare class SvgDrawing {
|
|
|
77
79
|
* and `stroke` the root's own where the document's styles set them (SVG
|
|
78
80
|
* 2, 13.2): they are properties, which a style sheet's rule sets over
|
|
79
81
|
* the presentation attribute, and what is in the drawing inherits them
|
|
80
|
-
* from its root.
|
|
82
|
+
* from its root. `shapes` is what the rules give the elements inside it,
|
|
83
|
+
* the same way, where they give any.
|
|
84
|
+
*/
|
|
85
|
+
draw(ctx: ClipContext, x: number, y: number, w: number, h: number, scale: number, color?: string, fill?: string | null, stroke?: string | null, shapes?: ShapeStyles | null): void;
|
|
86
|
+
/**
|
|
87
|
+
* Draw an SVG image — an `<img>`'s, a background's, a list marker's — as
|
|
88
|
+
* `draw` does, painted as its own style sheets say. An image is a
|
|
89
|
+
* document of its own: no rule of the page's reaches into it, and its
|
|
90
|
+
* `color` is not the page's. What its `<style>` elements say is given
|
|
91
|
+
* its elements as the page's rules are given a drawing inline, and its
|
|
92
|
+
* root its `color`, `fill` and `stroke`, which an inline root has from
|
|
93
|
+
* its box. `scheme` is the colour scheme of the element that embeds it:
|
|
94
|
+
* what `prefers-color-scheme` answers inside it, as Chrome has it.
|
|
81
95
|
*/
|
|
82
|
-
|
|
96
|
+
drawImage(ctx: ClipContext, x: number, y: number, w: number, h: number, scale: number, scheme?: 'light' | 'dark'): void;
|
|
97
|
+
/** What an image's own style sheets give it, drawn `w` by `h` device
|
|
98
|
+
* pixels, or null where it has none. */
|
|
99
|
+
private _ownPaint;
|
|
83
100
|
private _viewFor;
|
|
84
101
|
}
|
|
85
102
|
/** The drawing of an inline `<svg>`. */
|
package/dist/html/svg.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg.d.ts","sourceRoot":"","sources":["../../src/html/svg.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAQ,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"svg.d.ts","sourceRoot":"","sources":["../../src/html/svg.ts"],"names":[],"mappings":"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"}
|
package/dist/html/svg.js
CHANGED
|
@@ -15,7 +15,9 @@
|
|
|
15
15
|
import { parseDocument } from 'htmlparser2';
|
|
16
16
|
import { Element, Text } from 'domhandler';
|
|
17
17
|
import * as ntk from 'react-x11/ntk';
|
|
18
|
-
import { isSvgRoot } from './dom.js';
|
|
18
|
+
import { isSvgRoot, rawTextOf } from './dom.js';
|
|
19
|
+
import { Cascade } from './css/cascade.js';
|
|
20
|
+
import { parseMediaQuery, parseStylesheet } from './css/parse.js';
|
|
19
21
|
import { inkColor, isTransparent, parseColor } from './css/values.js';
|
|
20
22
|
export { isSvgRoot };
|
|
21
23
|
function svgAttr(el, name) {
|
|
@@ -56,21 +58,6 @@ function absoluteLength(value, fontSize) {
|
|
|
56
58
|
return null;
|
|
57
59
|
return px >= 0 ? px : null;
|
|
58
60
|
}
|
|
59
|
-
/**
|
|
60
|
-
* The `width`/`height` of an inline `<svg>` as CSS: they are presentation
|
|
61
|
-
* attributes for the properties of the same names (SVG 2, 5.1.1), so
|
|
62
|
-
* `height="50%"` is a percentage of the containing block like a style's.
|
|
63
|
-
* A bare number is pixels; null for what CSS would not parse.
|
|
64
|
-
*/
|
|
65
|
-
export function svgSizeHint(value) {
|
|
66
|
-
const v = value.trim();
|
|
67
|
-
if (/^[+-]?(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?%$/i.test(v))
|
|
68
|
-
return v;
|
|
69
|
-
const m = LENGTH.exec(v);
|
|
70
|
-
if (!m)
|
|
71
|
-
return null;
|
|
72
|
-
return m[2] ? v : `${parseFloat(m[1])}px`;
|
|
73
|
-
}
|
|
74
61
|
function viewBoxParts(el) {
|
|
75
62
|
const parts = (svgAttr(el, 'viewBox') ?? '')
|
|
76
63
|
.trim()
|
|
@@ -137,7 +124,8 @@ export class SvgDrawing {
|
|
|
137
124
|
_seen = -1;
|
|
138
125
|
_seenLast = null;
|
|
139
126
|
_seenViewport = '';
|
|
140
|
-
/** The `fill` and `stroke` the view's tree was last given its root's
|
|
127
|
+
/** The `fill` and `stroke` the view's tree was last given its root's,
|
|
128
|
+
* and what the document's rules gave the elements in it. */
|
|
141
129
|
_seenPaint = '';
|
|
142
130
|
/** Whether a length in the tree is a percentage of the viewport; null
|
|
143
131
|
* until the tree is first read. */
|
|
@@ -155,6 +143,13 @@ export class SvgDrawing {
|
|
|
155
143
|
/** The background an image's root gives its canvas; undefined until it
|
|
156
144
|
* is first read. */
|
|
157
145
|
_canvas = undefined;
|
|
146
|
+
/** An SVG image's own style sheets, its `<style>` elements': read at its
|
|
147
|
+
* first draw, and none for most images. */
|
|
148
|
+
_sheets = null;
|
|
149
|
+
/** A cascade over them for each colour scheme and scale the image is
|
|
150
|
+
* drawn at, and what each gave it: by the viewport it was asked at where
|
|
151
|
+
* a sheet reads the viewport, and under one key where none does. */
|
|
152
|
+
_cascades = new Map();
|
|
158
153
|
constructor(root, intrinsics, standalone = false) {
|
|
159
154
|
this._root = root;
|
|
160
155
|
this.intrinsics = intrinsics;
|
|
@@ -168,9 +163,10 @@ export class SvgDrawing {
|
|
|
168
163
|
* and `stroke` the root's own where the document's styles set them (SVG
|
|
169
164
|
* 2, 13.2): they are properties, which a style sheet's rule sets over
|
|
170
165
|
* the presentation attribute, and what is in the drawing inherits them
|
|
171
|
-
* from its root.
|
|
166
|
+
* from its root. `shapes` is what the rules give the elements inside it,
|
|
167
|
+
* the same way, where they give any.
|
|
172
168
|
*/
|
|
173
|
-
draw(ctx, x, y, w, h, scale, color, fill = null, stroke = null) {
|
|
169
|
+
draw(ctx, x, y, w, h, scale, color, fill = null, stroke = null, shapes = null) {
|
|
174
170
|
if (this._failed || !(w > 0 && h > 0))
|
|
175
171
|
return;
|
|
176
172
|
// the mock backend has no path API, and SvgView draws paths
|
|
@@ -205,8 +201,8 @@ export class SvgDrawing {
|
|
|
205
201
|
const paint = (fill === null ? '' : `fill:${fill};`) +
|
|
206
202
|
(stroke === null ? '' : `stroke:${stroke};`);
|
|
207
203
|
const view = box
|
|
208
|
-
? this._viewFor(box[2], box[3], paint)
|
|
209
|
-
: this._viewFor(w / scale, h / scale, paint);
|
|
204
|
+
? this._viewFor(box[2], box[3], paint, shapes)
|
|
205
|
+
: this._viewFor(w / scale, h / scale, paint, shapes);
|
|
210
206
|
if (!view)
|
|
211
207
|
return;
|
|
212
208
|
ctx.save();
|
|
@@ -247,9 +243,74 @@ export class SvgDrawing {
|
|
|
247
243
|
ctx.restore();
|
|
248
244
|
}
|
|
249
245
|
}
|
|
246
|
+
/**
|
|
247
|
+
* Draw an SVG image — an `<img>`'s, a background's, a list marker's — as
|
|
248
|
+
* `draw` does, painted as its own style sheets say. An image is a
|
|
249
|
+
* document of its own: no rule of the page's reaches into it, and its
|
|
250
|
+
* `color` is not the page's. What its `<style>` elements say is given
|
|
251
|
+
* its elements as the page's rules are given a drawing inline, and its
|
|
252
|
+
* root its `color`, `fill` and `stroke`, which an inline root has from
|
|
253
|
+
* its box. `scheme` is the colour scheme of the element that embeds it:
|
|
254
|
+
* what `prefers-color-scheme` answers inside it, as Chrome has it.
|
|
255
|
+
*/
|
|
256
|
+
drawImage(ctx, x, y, w, h, scale, scheme = 'light') {
|
|
257
|
+
if (this._failed || !(w > 0 && h > 0))
|
|
258
|
+
return;
|
|
259
|
+
const own = this._ownPaint(w, h, scale, scheme);
|
|
260
|
+
this.draw(ctx, x, y, w, h, scale, own?.color, own?.fill ?? null, own?.stroke ?? null, own?.shapes ?? null);
|
|
261
|
+
}
|
|
262
|
+
/** What an image's own style sheets give it, drawn `w` by `h` device
|
|
263
|
+
* pixels, or null where it has none. */
|
|
264
|
+
_ownPaint(w, h, scale, scheme) {
|
|
265
|
+
const sheets = (this._sheets ??= ownSheets(this._root));
|
|
266
|
+
if (!sheets.length)
|
|
267
|
+
return null;
|
|
268
|
+
const made = `${scheme}|${scale}`;
|
|
269
|
+
let entry = this._cascades.get(made);
|
|
270
|
+
if (!entry) {
|
|
271
|
+
const cascade = new Cascade(sheets, imageLook(scheme, scale), w, h, scale, null, null, null, null, this._root);
|
|
272
|
+
entry = { cascade, own: new Map() };
|
|
273
|
+
this._cascades.set(made, entry);
|
|
274
|
+
}
|
|
275
|
+
const { cascade, own } = entry;
|
|
276
|
+
// An image's viewport is the rectangle it is drawn in, which is what a
|
|
277
|
+
// `@media (min-width)` in it, or a `vw`, is of: the answer is kept by
|
|
278
|
+
// that size only where a sheet asks.
|
|
279
|
+
const sized = cascade.breakpoints.length > 0 ||
|
|
280
|
+
cascade.readsViewportWidth ||
|
|
281
|
+
cascade.readsViewportHeight;
|
|
282
|
+
const key = sized ? `${w}x${h}` : '';
|
|
283
|
+
const kept = own.get(key);
|
|
284
|
+
if (kept !== undefined)
|
|
285
|
+
return kept;
|
|
286
|
+
cascade.viewportWidth = w;
|
|
287
|
+
cascade.viewportHeight = h;
|
|
288
|
+
let paint = null;
|
|
289
|
+
try {
|
|
290
|
+
const root = this._root;
|
|
291
|
+
const style = cascade.styleFor(root, cascade.initial, false);
|
|
292
|
+
const ink = (value) => value === null || value === 'currentColor' || value === 'none'
|
|
293
|
+
? value
|
|
294
|
+
: inkColor(value, style.color);
|
|
295
|
+
paint = {
|
|
296
|
+
color: style.color,
|
|
297
|
+
fill: ink(style.fill),
|
|
298
|
+
stroke: ink(style.stroke),
|
|
299
|
+
shapes: cascade.shapeStyles(root, style),
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
catch {
|
|
303
|
+
// a sheet this cannot read leaves the image as its attributes draw it
|
|
304
|
+
}
|
|
305
|
+
// a background drawn at many sizes keeps a few of them
|
|
306
|
+
if (own.size >= 8)
|
|
307
|
+
own.clear();
|
|
308
|
+
own.set(key, paint);
|
|
309
|
+
return paint;
|
|
310
|
+
}
|
|
250
311
|
_viewFor(width, height,
|
|
251
312
|
/** The root's `fill` and `stroke` as declarations, or none. */
|
|
252
|
-
paint = '') {
|
|
313
|
+
paint = '', shapes = null) {
|
|
253
314
|
const root = this._root;
|
|
254
315
|
const count = root.children.length;
|
|
255
316
|
const last = root.lastChild;
|
|
@@ -263,10 +324,11 @@ export class SvgDrawing {
|
|
|
263
324
|
}
|
|
264
325
|
const sized = this._percent || this._uses;
|
|
265
326
|
const viewport = sized ? `${width}x${height}` : '';
|
|
327
|
+
const painted = shapes ? `${paint}|${shapes.key}` : paint;
|
|
266
328
|
if (this._view &&
|
|
267
329
|
!grown &&
|
|
268
330
|
viewport === this._seenViewport &&
|
|
269
|
-
|
|
331
|
+
painted === this._seenPaint) {
|
|
270
332
|
return this._view;
|
|
271
333
|
}
|
|
272
334
|
const View = svgViewClass();
|
|
@@ -277,16 +339,16 @@ export class SvgDrawing {
|
|
|
277
339
|
try {
|
|
278
340
|
const view = this._view ?? new View(null);
|
|
279
341
|
const missing = { any: false };
|
|
280
|
-
const tree = sized || root.name.includes(':')
|
|
281
|
-
? copyTree(root, sized ? [width, height] : null, missing)
|
|
342
|
+
const tree = sized || shapes || root.name.includes(':')
|
|
343
|
+
? copyTree(root, sized ? [width, height] : null, missing, shapes)
|
|
282
344
|
: root;
|
|
283
|
-
view.setSvgDom(paint ?
|
|
345
|
+
view.setSvgDom(paint ? withPaint(tree, paint) : tree);
|
|
284
346
|
this._missingAt = missing.any ? lastNode(documentOf(root)) : undefined;
|
|
285
347
|
this._view = view;
|
|
286
348
|
this._seen = count;
|
|
287
349
|
this._seenLast = last;
|
|
288
350
|
this._seenViewport = viewport;
|
|
289
|
-
this._seenPaint =
|
|
351
|
+
this._seenPaint = painted;
|
|
290
352
|
return view;
|
|
291
353
|
}
|
|
292
354
|
catch {
|
|
@@ -301,7 +363,7 @@ export class SvgDrawing {
|
|
|
301
363
|
* its `style` — where `SvgView` reads a root's paint, over its presentation
|
|
302
364
|
* attributes, for what is under it to inherit.
|
|
303
365
|
*/
|
|
304
|
-
function
|
|
366
|
+
function withPaint(root, paint) {
|
|
305
367
|
const style = root.attribs.style;
|
|
306
368
|
return new Element(root.name, { ...root.attribs, style: style ? `${style};${paint}` : paint }, root.children);
|
|
307
369
|
}
|
|
@@ -328,6 +390,59 @@ function canvasBackground(root) {
|
|
|
328
390
|
}
|
|
329
391
|
return found;
|
|
330
392
|
}
|
|
393
|
+
/**
|
|
394
|
+
* The style sheets an SVG image's `<style>` elements hold, in order. One
|
|
395
|
+
* that names a type other than CSS's holds none (SVG 2, 6.3), and one with
|
|
396
|
+
* a `media` query holds its rules under it. Its text is its text and CDATA
|
|
397
|
+
* sections, as an XML parse leaves them, and not its comments.
|
|
398
|
+
*/
|
|
399
|
+
function ownSheets(root) {
|
|
400
|
+
const sheets = [];
|
|
401
|
+
const layers = new Map();
|
|
402
|
+
let order = 0;
|
|
403
|
+
const stack = [root];
|
|
404
|
+
for (let el = stack.pop(); el; el = stack.pop()) {
|
|
405
|
+
for (let i = el.children.length - 1; i >= 0; i -= 1) {
|
|
406
|
+
const child = el.children[i];
|
|
407
|
+
// an XML parse gives a `<style>` a type of its own, as HTML's does
|
|
408
|
+
if (child.type === 'tag' || child.type === 'style') {
|
|
409
|
+
stack.push(child);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
if (el === root || localName(el.name) !== 'style')
|
|
413
|
+
continue;
|
|
414
|
+
const type = (el.attribs.type ?? '').trim().toLowerCase();
|
|
415
|
+
if (type && type !== 'text/css')
|
|
416
|
+
continue;
|
|
417
|
+
const media = el.attribs.media?.trim();
|
|
418
|
+
const sheet = parseStylesheet(rawTextOf(el), order, layers, null, media ? [parseMediaQuery(media)] : null);
|
|
419
|
+
order += sheet.rules.length + 1;
|
|
420
|
+
sheets.push(sheet);
|
|
421
|
+
}
|
|
422
|
+
return sheets;
|
|
423
|
+
}
|
|
424
|
+
/**
|
|
425
|
+
* The look an SVG image's own document starts from: CSS's initial values,
|
|
426
|
+
* black at `medium`, since nothing of the page's is inherited into an
|
|
427
|
+
* image — only the colour scheme, which its `prefers-color-scheme` answers.
|
|
428
|
+
*/
|
|
429
|
+
function imageLook(scheme, scale) {
|
|
430
|
+
return {
|
|
431
|
+
color: '#000000',
|
|
432
|
+
fontFamily: 'sans-serif',
|
|
433
|
+
fontSize: 16 * scale,
|
|
434
|
+
monoFamily: 'monospace',
|
|
435
|
+
linkColor: '#0000ee',
|
|
436
|
+
borderColor: '#000000',
|
|
437
|
+
mutedColor: '#808080',
|
|
438
|
+
background: 'transparent',
|
|
439
|
+
colorScheme: scheme,
|
|
440
|
+
surface: '#ffffff',
|
|
441
|
+
controlPadY: 0,
|
|
442
|
+
controlBorder: 0,
|
|
443
|
+
controlRadius: 0,
|
|
444
|
+
};
|
|
445
|
+
}
|
|
331
446
|
/** Drawings of inline `<svg>` elements, per element: the element is the
|
|
332
447
|
* document's, and outlives the box trees built over it. */
|
|
333
448
|
const INLINE = new WeakMap();
|
|
@@ -526,8 +641,16 @@ const USE_PLACEMENT = new Set([
|
|
|
526
641
|
* viewport the `<use>` gives it — its `width` and `height`, and all of the
|
|
527
642
|
* drawing's where it has none. `missing.any` is set where one refers to an
|
|
528
643
|
* element the document does not have.
|
|
644
|
+
*
|
|
645
|
+
* And with what the document's rules give each element (`shapes`), where
|
|
646
|
+
* `SvgView` reads an element's own: at the end of its `style`, over its
|
|
647
|
+
* presentation attributes and over what that attribute says, which the
|
|
648
|
+
* cascade that made them has weighed already. An element a rule gives
|
|
649
|
+
* `display: none` is left out, with what is in it, and a shape one hides
|
|
650
|
+
* — `visibility` is inherited, and a shape in a hidden group may be shown
|
|
651
|
+
* again — is left out alone.
|
|
529
652
|
*/
|
|
530
|
-
function copyTree(root, viewport, missing) {
|
|
653
|
+
function copyTree(root, viewport, missing, shapes = null) {
|
|
531
654
|
const colon = root.name.indexOf(':');
|
|
532
655
|
const prefix = colon < 0 ? null : `${root.name.slice(0, colon)}:`;
|
|
533
656
|
const strip = (name) => prefix && name.startsWith(prefix) ? name.slice(prefix.length) : name;
|
|
@@ -535,7 +658,7 @@ function copyTree(root, viewport, missing) {
|
|
|
535
658
|
? Math.sqrt((viewport[0] ** 2 + viewport[1] ** 2) / 2)
|
|
536
659
|
: 0;
|
|
537
660
|
let ids = null;
|
|
538
|
-
const expand = (use, resolve, depth) => {
|
|
661
|
+
const expand = (use, resolve, depth, hidden) => {
|
|
539
662
|
const id = useTarget(use);
|
|
540
663
|
if (id === null || depth >= USE_DEPTH)
|
|
541
664
|
return null;
|
|
@@ -557,6 +680,9 @@ function copyTree(root, viewport, missing) {
|
|
|
557
680
|
if (!USE_PLACEMENT.has(name))
|
|
558
681
|
attribs[name] = use.attribs[name];
|
|
559
682
|
}
|
|
683
|
+
const own = shapes?.of.get(use);
|
|
684
|
+
if (own)
|
|
685
|
+
restyle(attribs, own);
|
|
560
686
|
const x = parseFloat(use.attribs.x ?? '') || 0;
|
|
561
687
|
const y = parseFloat(use.attribs.y ?? '') || 0;
|
|
562
688
|
let placed = '';
|
|
@@ -577,25 +703,49 @@ function copyTree(root, viewport, missing) {
|
|
|
577
703
|
// a length in a symbol with a `viewBox` is of that, and left as it is
|
|
578
704
|
const within = resolve && !box;
|
|
579
705
|
const children = [];
|
|
580
|
-
if (symbol)
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
706
|
+
if (symbol)
|
|
707
|
+
copyInto(children, target, within, depth + 1, hidden);
|
|
708
|
+
else if (shown(target, hidden)) {
|
|
709
|
+
children.push(copy(target, within, depth + 1, hidden));
|
|
710
|
+
}
|
|
711
|
+
return new Element('g', attribs, children);
|
|
712
|
+
};
|
|
713
|
+
/** Whether an element is drawn at all, in a group that is hidden or
|
|
714
|
+
* not: one no rule gives `display: none`, and no shape a rule hides. */
|
|
715
|
+
const shown = (el, hidden) => {
|
|
716
|
+
if (!shapes)
|
|
717
|
+
return true;
|
|
718
|
+
const own = shapes.of.get(el);
|
|
719
|
+
const name = localName(el.name);
|
|
720
|
+
if (own?.display === 'none' && !UNDRAWN.has(name))
|
|
721
|
+
return false;
|
|
722
|
+
return !(hiddenIn(own, hidden) && HIDEABLE.has(name));
|
|
723
|
+
};
|
|
724
|
+
const copyInto = (children, el, resolve, depth, hidden) => {
|
|
725
|
+
for (const child of el.children) {
|
|
726
|
+
if (child.type === 'tag') {
|
|
727
|
+
if (shown(child, hidden)) {
|
|
728
|
+
children.push(copy(child, resolve, depth, hidden));
|
|
584
729
|
}
|
|
585
730
|
}
|
|
731
|
+
else if (child.type === 'text')
|
|
732
|
+
children.push(new Text(child.data));
|
|
586
733
|
}
|
|
587
|
-
else
|
|
588
|
-
children.push(copy(target, within, depth + 1));
|
|
589
|
-
return new Element('g', attribs, children);
|
|
590
734
|
};
|
|
591
|
-
const copy = (el, resolve, depth = 0
|
|
735
|
+
const copy = (el, resolve, depth = 0,
|
|
736
|
+
/** Whether the element inherits a `visibility` of `hidden`. */
|
|
737
|
+
hidden = false) => {
|
|
738
|
+
const own = shapes?.of.get(el);
|
|
739
|
+
hidden = hiddenIn(own, hidden);
|
|
592
740
|
if (localName(el.name) === 'use') {
|
|
593
|
-
const group = expand(el, resolve, depth);
|
|
741
|
+
const group = expand(el, resolve, depth, hidden);
|
|
594
742
|
if (group)
|
|
595
743
|
return group;
|
|
596
744
|
}
|
|
597
745
|
const here = resolve && !OWN_UNITS.has(localName(el.name));
|
|
598
746
|
const attribs = { ...el.attribs };
|
|
747
|
+
if (own)
|
|
748
|
+
restyle(attribs, own);
|
|
599
749
|
if (here && viewport && el !== root) {
|
|
600
750
|
for (const name in attribs) {
|
|
601
751
|
const axis = PERCENT_OF[name];
|
|
@@ -610,17 +760,80 @@ function copyTree(root, viewport, missing) {
|
|
|
610
760
|
}
|
|
611
761
|
}
|
|
612
762
|
const children = [];
|
|
613
|
-
|
|
614
|
-
if (child.type === 'tag') {
|
|
615
|
-
children.push(copy(child, here, depth));
|
|
616
|
-
}
|
|
617
|
-
else if (child.type === 'text')
|
|
618
|
-
children.push(new Text(child.data));
|
|
619
|
-
}
|
|
763
|
+
copyInto(children, el, here, depth, hidden);
|
|
620
764
|
return new Element(strip(el.name), attribs, children);
|
|
621
765
|
};
|
|
622
766
|
return copy(root, true);
|
|
623
767
|
}
|
|
768
|
+
/** What `display: none` takes nothing from: `SvgView` draws none of them
|
|
769
|
+
* where they stand, and what refers to one still finds it (SVG 2, 5.3). */
|
|
770
|
+
const UNDRAWN = new Set([
|
|
771
|
+
'defs',
|
|
772
|
+
'symbol',
|
|
773
|
+
'lineargradient',
|
|
774
|
+
'radialgradient',
|
|
775
|
+
'stop',
|
|
776
|
+
'clippath',
|
|
777
|
+
'mask',
|
|
778
|
+
'pattern',
|
|
779
|
+
'marker',
|
|
780
|
+
'style',
|
|
781
|
+
]);
|
|
782
|
+
/** What `visibility: hidden` leaves undrawn: the elements with something
|
|
783
|
+
* of their own to draw, and a `<use>`, since what it draws inherits the
|
|
784
|
+
* property from it. */
|
|
785
|
+
const HIDEABLE = new Set([
|
|
786
|
+
'path',
|
|
787
|
+
'rect',
|
|
788
|
+
'circle',
|
|
789
|
+
'ellipse',
|
|
790
|
+
'line',
|
|
791
|
+
'polyline',
|
|
792
|
+
'polygon',
|
|
793
|
+
'text',
|
|
794
|
+
'image',
|
|
795
|
+
'use',
|
|
796
|
+
]);
|
|
797
|
+
/** Whether an element is hidden, given whether what it is in is. */
|
|
798
|
+
function hiddenIn(own, hidden) {
|
|
799
|
+
const visibility = own?.visibility;
|
|
800
|
+
return visibility === undefined || visibility === 'inherit'
|
|
801
|
+
? hidden
|
|
802
|
+
: visibility === 'hidden';
|
|
803
|
+
}
|
|
804
|
+
/**
|
|
805
|
+
* An element's attributes with what the rules give it: each property at
|
|
806
|
+
* the end of its `style`, where `SvgView` reads it over the attribute of
|
|
807
|
+
* its name — but `opacity`, which it reads from the attribute alone. One
|
|
808
|
+
* the rules put back to what the element inherits is taken out of both.
|
|
809
|
+
*/
|
|
810
|
+
function restyle(attribs, own) {
|
|
811
|
+
let style = attribs.style ?? '';
|
|
812
|
+
let added = '';
|
|
813
|
+
for (const prop in own) {
|
|
814
|
+
const value = own[prop];
|
|
815
|
+
if (prop === 'display' || prop === 'visibility')
|
|
816
|
+
continue;
|
|
817
|
+
if (value === 'inherit') {
|
|
818
|
+
delete attribs[prop];
|
|
819
|
+
if (style) {
|
|
820
|
+
style = style
|
|
821
|
+
.split(';')
|
|
822
|
+
.filter((d) => d.slice(0, d.indexOf(':')).trim() !== prop)
|
|
823
|
+
.join(';');
|
|
824
|
+
}
|
|
825
|
+
}
|
|
826
|
+
else if (prop === 'opacity')
|
|
827
|
+
attribs.opacity = value;
|
|
828
|
+
else
|
|
829
|
+
added += `${prop}:${value};`;
|
|
830
|
+
}
|
|
831
|
+
style = style && added ? `${style};${added}` : style || added;
|
|
832
|
+
if (style)
|
|
833
|
+
attribs.style = style;
|
|
834
|
+
else
|
|
835
|
+
delete attribs.style;
|
|
836
|
+
}
|
|
624
837
|
/**
|
|
625
838
|
* An SVG image's bytes as a drawing, or null for bytes that are not SVG —
|
|
626
839
|
* which is how a PNG or a JPEG goes on to the image decoder. Nothing names
|
package/dist/html/svg.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg.js","sourceRoot":"","sources":["../../src/html/svg.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"svg.js","sourceRoot":"","sources":["../../src/html/svg.ts"],"names":[],"mappings":"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"}
|