@react-x11/components 0.12.0 → 0.14.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.
Files changed (150) hide show
  1. package/dist/html/controls.d.ts +41 -5
  2. package/dist/html/controls.d.ts.map +1 -1
  3. package/dist/html/controls.js +85 -57
  4. package/dist/html/controls.js.map +1 -1
  5. package/dist/html/css/cascade.d.ts +134 -20
  6. package/dist/html/css/cascade.d.ts.map +1 -1
  7. package/dist/html/css/cascade.js +545 -126
  8. package/dist/html/css/cascade.js.map +1 -1
  9. package/dist/html/css/color.d.ts +18 -0
  10. package/dist/html/css/color.d.ts.map +1 -1
  11. package/dist/html/css/color.js +27 -0
  12. package/dist/html/css/color.js.map +1 -1
  13. package/dist/html/css/parse.d.ts +47 -6
  14. package/dist/html/css/parse.d.ts.map +1 -1
  15. package/dist/html/css/parse.js +336 -30
  16. package/dist/html/css/parse.js.map +1 -1
  17. package/dist/html/css/style.d.ts +142 -15
  18. package/dist/html/css/style.d.ts.map +1 -1
  19. package/dist/html/css/style.js +563 -147
  20. package/dist/html/css/style.js.map +1 -1
  21. package/dist/html/css/transform.d.ts +85 -0
  22. package/dist/html/css/transform.d.ts.map +1 -0
  23. package/dist/html/css/transform.js +425 -0
  24. package/dist/html/css/transform.js.map +1 -0
  25. package/dist/html/css/ua.d.ts +11 -1
  26. package/dist/html/css/ua.d.ts.map +1 -1
  27. package/dist/html/css/ua.js +73 -9
  28. package/dist/html/css/ua.js.map +1 -1
  29. package/dist/html/css/values.d.ts +4 -0
  30. package/dist/html/css/values.d.ts.map +1 -1
  31. package/dist/html/css/values.js.map +1 -1
  32. package/dist/html/dom.d.ts.map +1 -1
  33. package/dist/html/dom.js +3 -1
  34. package/dist/html/dom.js.map +1 -1
  35. package/dist/html/fonts.d.ts +78 -4
  36. package/dist/html/fonts.d.ts.map +1 -1
  37. package/dist/html/fonts.js +373 -19
  38. package/dist/html/fonts.js.map +1 -1
  39. package/dist/html/form.d.ts +200 -0
  40. package/dist/html/form.d.ts.map +1 -0
  41. package/dist/html/form.js +801 -0
  42. package/dist/html/form.js.map +1 -0
  43. package/dist/html/index.d.ts +12 -0
  44. package/dist/html/index.d.ts.map +1 -1
  45. package/dist/html/index.js +30 -301
  46. package/dist/html/index.js.map +1 -1
  47. package/dist/html/layout/axes.d.ts +14 -0
  48. package/dist/html/layout/axes.d.ts.map +1 -0
  49. package/dist/html/layout/axes.js +28 -0
  50. package/dist/html/layout/axes.js.map +1 -0
  51. package/dist/html/layout/block.d.ts +93 -12
  52. package/dist/html/layout/block.d.ts.map +1 -1
  53. package/dist/html/layout/block.js +393 -39
  54. package/dist/html/layout/block.js.map +1 -1
  55. package/dist/html/layout/boxes.d.ts +90 -2
  56. package/dist/html/layout/boxes.d.ts.map +1 -1
  57. package/dist/html/layout/boxes.js +74 -10
  58. package/dist/html/layout/boxes.js.map +1 -1
  59. package/dist/html/layout/cache.d.ts +1 -1
  60. package/dist/html/layout/cache.d.ts.map +1 -1
  61. package/dist/html/layout/cache.js +6 -0
  62. package/dist/html/layout/cache.js.map +1 -1
  63. package/dist/html/layout/css-grid.d.ts.map +1 -1
  64. package/dist/html/layout/css-grid.js +90 -18
  65. package/dist/html/layout/css-grid.js.map +1 -1
  66. package/dist/html/layout/flex.d.ts.map +1 -1
  67. package/dist/html/layout/flex.js +574 -84
  68. package/dist/html/layout/flex.js.map +1 -1
  69. package/dist/html/layout/inline.d.ts +3 -0
  70. package/dist/html/layout/inline.d.ts.map +1 -1
  71. package/dist/html/layout/inline.js +154 -54
  72. package/dist/html/layout/inline.js.map +1 -1
  73. package/dist/html/layout/multicol.d.ts +42 -0
  74. package/dist/html/layout/multicol.d.ts.map +1 -0
  75. package/dist/html/layout/multicol.js +897 -0
  76. package/dist/html/layout/multicol.js.map +1 -0
  77. package/dist/html/layout/shaping.d.ts +7 -0
  78. package/dist/html/layout/shaping.d.ts.map +1 -1
  79. package/dist/html/layout/shaping.js +25 -20
  80. package/dist/html/layout/shaping.js.map +1 -1
  81. package/dist/html/layout/table.d.ts.map +1 -1
  82. package/dist/html/layout/table.js +62 -18
  83. package/dist/html/layout/table.js.map +1 -1
  84. package/dist/html/node.d.ts +90 -15
  85. package/dist/html/node.d.ts.map +1 -1
  86. package/dist/html/node.js +771 -186
  87. package/dist/html/node.js.map +1 -1
  88. package/dist/html/paint.d.ts +101 -5
  89. package/dist/html/paint.d.ts.map +1 -1
  90. package/dist/html/paint.js +1502 -160
  91. package/dist/html/paint.js.map +1 -1
  92. package/dist/html/svg.d.ts +15 -2
  93. package/dist/html/svg.d.ts.map +1 -1
  94. package/dist/html/svg.js +249 -17
  95. package/dist/html/svg.js.map +1 -1
  96. package/dist/html/widgets.d.ts +29 -0
  97. package/dist/html/widgets.d.ts.map +1 -0
  98. package/dist/html/widgets.js +700 -0
  99. package/dist/html/widgets.js.map +1 -0
  100. package/dist/html/woff2.d.ts +14 -0
  101. package/dist/html/woff2.d.ts.map +1 -0
  102. package/dist/html/woff2.js +608 -0
  103. package/dist/html/woff2.js.map +1 -0
  104. package/dist/index.d.ts +1 -1
  105. package/dist/index.d.ts.map +1 -1
  106. package/dist/index.js.map +1 -1
  107. package/dist/maps/controller.d.ts +17 -1
  108. package/dist/maps/controller.d.ts.map +1 -1
  109. package/dist/maps/controller.js +27 -7
  110. package/dist/maps/controller.js.map +1 -1
  111. package/dist/richtext/node.d.ts +8 -1
  112. package/dist/richtext/node.d.ts.map +1 -1
  113. package/dist/richtext/node.js +5 -1
  114. package/dist/richtext/node.js.map +1 -1
  115. package/dist/richtext/runs.d.ts +25 -6
  116. package/dist/richtext/runs.d.ts.map +1 -1
  117. package/dist/richtext/runs.js +240 -24
  118. package/dist/richtext/runs.js.map +1 -1
  119. package/package.json +2 -2
  120. package/src/html/controls.ts +114 -51
  121. package/src/html/css/cascade.ts +614 -140
  122. package/src/html/css/color.ts +29 -0
  123. package/src/html/css/parse.ts +388 -33
  124. package/src/html/css/style.ts +688 -150
  125. package/src/html/css/transform.ts +459 -0
  126. package/src/html/css/ua.ts +77 -10
  127. package/src/html/css/values.ts +4 -0
  128. package/src/html/dom.ts +3 -1
  129. package/src/html/fonts.ts +417 -24
  130. package/src/html/form.ts +962 -0
  131. package/src/html/index.ts +49 -338
  132. package/src/html/layout/axes.ts +62 -0
  133. package/src/html/layout/block.ts +447 -37
  134. package/src/html/layout/boxes.ts +143 -14
  135. package/src/html/layout/cache.ts +6 -0
  136. package/src/html/layout/css-grid.ts +95 -22
  137. package/src/html/layout/flex.ts +675 -78
  138. package/src/html/layout/inline.ts +159 -55
  139. package/src/html/layout/multicol.ts +977 -0
  140. package/src/html/layout/shaping.ts +27 -18
  141. package/src/html/layout/table.ts +62 -19
  142. package/src/html/node.ts +798 -172
  143. package/src/html/paint.ts +1742 -241
  144. package/src/html/svg.ts +277 -19
  145. package/src/html/widgets.ts +821 -0
  146. package/src/html/woff2.ts +612 -0
  147. package/src/index.ts +1 -0
  148. package/src/maps/controller.ts +28 -7
  149. package/src/richtext/node.ts +13 -2
  150. package/src/richtext/runs.ts +313 -35
@@ -50,9 +50,18 @@ export declare class SvgDrawing {
50
50
  private _seen;
51
51
  private _seenLast;
52
52
  private _seenViewport;
53
+ /** The `fill` and `stroke` the view's tree was last given its root's. */
54
+ private _seenPaint;
53
55
  /** Whether a length in the tree is a percentage of the viewport; null
54
56
  * until the tree is first read. */
55
57
  private _percent;
58
+ /** Whether a `<use>` in the tree is one `SvgView` cannot draw as it
59
+ * stands (`needsExpanding`). */
60
+ private _uses;
61
+ /** The document's last node when a `<use>` was last looked up and its
62
+ * element not found: a streamed document may bring it yet, and has
63
+ * when its last node is another. Undefined where none was missing. */
64
+ private _missingAt;
56
65
  private _failed;
57
66
  /** An SVG image's own document, rather than an element of this one. */
58
67
  private readonly _standalone;
@@ -64,9 +73,13 @@ export declare class SvgDrawing {
64
73
  * Draw into a rectangle — the box's content box, in device pixels —
65
74
  * clipped to it. The `viewBox`, where there is one, is fitted to it as
66
75
  * `preserveAspectRatio` says; without one a user unit is a CSS pixel,
67
- * which is `scale` device pixels. `color` is `currentColor`.
76
+ * which is `scale` device pixels. `color` is `currentColor`, and `fill`
77
+ * and `stroke` the root's own where the document's styles set them (SVG
78
+ * 2, 13.2): they are properties, which a style sheet's rule sets over
79
+ * the presentation attribute, and what is in the drawing inherits them
80
+ * from its root.
68
81
  */
69
- draw(ctx: ClipContext, x: number, y: number, w: number, h: number, scale: number, color?: string): void;
82
+ draw(ctx: ClipContext, x: number, y: number, w: number, h: number, scale: number, color?: string, fill?: string | null, stroke?: string | null): void;
70
83
  private _viewFor;
71
84
  }
72
85
  /** The drawing of an inline `<svg>`. */
@@ -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,EAAE,MAAM,UAAU,CAAC;AAGrC,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB;;0EAE0E;AAC1E,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAyCD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMxD;AA8BD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,SAAK,GAAG,aAAa,CAWvE;AAwBD,0EAA0E;AAC1E,UAAU,WAAW;IACnB,IAAI,IAAI,IAAI,CAAC;IACb,OAAO,IAAI,IAAI,CAAC;IAChB,SAAS,CAAC,IAAI,IAAI,CAAC;IACnB,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,IAAI,CAAC,IAAI,IAAI,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7D;AAKD;;;;GAIG;AACH,qBAAa,UAAU;IACrB,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,KAAK,CAA4B;IACzC;;;sCAGkC;IAClC,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,aAAa,CAAM;IAC3B;wCACoC;IACpC,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,OAAO,CAAS;IACxB,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC;yBACqB;IACrB,OAAO,CAAC,OAAO,CAAwC;IAEvD,YAAY,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,UAAQ,EAIvE;IAED;;;;;OAKG;IACH,IAAI,CACF,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,GACb,IAAI,CA+EN;IAED,OAAO,CAAC,QAAQ;CAgCjB;AA2BD,wCAAwC;AACxC,wBAAgB,aAAa,CAAC,EAAE,EAAE,OAAO,GAAG,UAAU,CAOrD;AA2FD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAoBjE"}
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,EAAE,MAAM,UAAU,CAAC;AAGrC,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB;;0EAE0E;AAC1E,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAyCD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMxD;AA8BD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,SAAK,GAAG,aAAa,CAWvE;AAwBD,0EAA0E;AAC1E,UAAU,WAAW;IACnB,IAAI,IAAI,IAAI,CAAC;IACb,OAAO,IAAI,IAAI,CAAC;IAChB,SAAS,CAAC,IAAI,IAAI,CAAC;IACnB,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,IAAI,CAAC,IAAI,IAAI,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7D;AAKD;;;;GAIG;AACH,qBAAa,UAAU;IACrB,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,KAAK,CAA4B;IACzC;;;sCAGkC;IAClC,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,aAAa,CAAM;IAC3B,yEAAyE;IACzE,OAAO,CAAC,UAAU,CAAM;IACxB;wCACoC;IACpC,OAAO,CAAC,QAAQ,CAAwB;IACxC;qCACiC;IACjC,OAAO,CAAC,KAAK,CAAS;IACtB;;2EAEuE;IACvE,OAAO,CAAC,UAAU,CAA2C;IAC7D,OAAO,CAAC,OAAO,CAAS;IACxB,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC;yBACqB;IACrB,OAAO,CAAC,OAAO,CAAwC;IAEvD,YAAY,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,UAAQ,EAIvE;IAED;;;;;;;;;OASG;IACH,IAAI,CACF,GAAG,EAAE,WAAW,EAChB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,GAAE,MAAM,GAAG,IAAW,EAC1B,MAAM,GAAE,MAAM,GAAG,IAAW,GAC3B,IAAI,CAkFN;IAED,OAAO,CAAC,QAAQ;CAqDjB;AA0CD,wCAAwC;AACxC,wBAAgB,aAAa,CAAC,EAAE,EAAE,OAAO,GAAG,UAAU,CAOrD;AAuSD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAoBjE"}
package/dist/html/svg.js CHANGED
@@ -137,9 +137,18 @@ export class SvgDrawing {
137
137
  _seen = -1;
138
138
  _seenLast = null;
139
139
  _seenViewport = '';
140
+ /** The `fill` and `stroke` the view's tree was last given its root's. */
141
+ _seenPaint = '';
140
142
  /** Whether a length in the tree is a percentage of the viewport; null
141
143
  * until the tree is first read. */
142
144
  _percent = null;
145
+ /** Whether a `<use>` in the tree is one `SvgView` cannot draw as it
146
+ * stands (`needsExpanding`). */
147
+ _uses = false;
148
+ /** The document's last node when a `<use>` was last looked up and its
149
+ * element not found: a streamed document may bring it yet, and has
150
+ * when its last node is another. Undefined where none was missing. */
151
+ _missingAt = undefined;
143
152
  _failed = false;
144
153
  /** An SVG image's own document, rather than an element of this one. */
145
154
  _standalone;
@@ -155,9 +164,13 @@ export class SvgDrawing {
155
164
  * Draw into a rectangle — the box's content box, in device pixels —
156
165
  * clipped to it. The `viewBox`, where there is one, is fitted to it as
157
166
  * `preserveAspectRatio` says; without one a user unit is a CSS pixel,
158
- * which is `scale` device pixels. `color` is `currentColor`.
167
+ * which is `scale` device pixels. `color` is `currentColor`, and `fill`
168
+ * and `stroke` the root's own where the document's styles set them (SVG
169
+ * 2, 13.2): they are properties, which a style sheet's rule sets over
170
+ * the presentation attribute, and what is in the drawing inherits them
171
+ * from its root.
159
172
  */
160
- draw(ctx, x, y, w, h, scale, color) {
173
+ draw(ctx, x, y, w, h, scale, color, fill = null, stroke = null) {
161
174
  if (this._failed || !(w > 0 && h > 0))
162
175
  return;
163
176
  // the mock backend has no path API, and SvgView draws paths
@@ -189,9 +202,11 @@ export class SvgDrawing {
189
202
  }
190
203
  const box = viewBoxOf(root);
191
204
  // the viewport in user units, which a percentage is of
205
+ const paint = (fill === null ? '' : `fill:${fill};`) +
206
+ (stroke === null ? '' : `stroke:${stroke};`);
192
207
  const view = box
193
- ? this._viewFor(box[2], box[3])
194
- : this._viewFor(w / scale, h / scale);
208
+ ? this._viewFor(box[2], box[3], paint)
209
+ : this._viewFor(w / scale, h / scale, paint);
195
210
  if (!view)
196
211
  return;
197
212
  ctx.save();
@@ -232,15 +247,26 @@ export class SvgDrawing {
232
247
  ctx.restore();
233
248
  }
234
249
  }
235
- _viewFor(width, height) {
250
+ _viewFor(width, height,
251
+ /** The root's `fill` and `stroke` as declarations, or none. */
252
+ paint = '') {
236
253
  const root = this._root;
237
254
  const count = root.children.length;
238
255
  const last = root.lastChild;
239
- const grown = count !== this._seen || last !== this._seenLast;
240
- if (grown || this._percent === null)
256
+ // more of the document has arrived since a `<use>` found nothing
257
+ const arrived = this._missingAt !== undefined &&
258
+ lastNode(documentOf(root)) !== this._missingAt;
259
+ const grown = count !== this._seen || last !== this._seenLast || arrived;
260
+ if (grown || this._percent === null) {
241
261
  this._percent = hasPercent(root);
242
- const viewport = this._percent ? `${width}x${height}` : '';
243
- if (this._view && !grown && viewport === this._seenViewport) {
262
+ this._uses = needsExpanding(root);
263
+ }
264
+ const sized = this._percent || this._uses;
265
+ const viewport = sized ? `${width}x${height}` : '';
266
+ if (this._view &&
267
+ !grown &&
268
+ viewport === this._seenViewport &&
269
+ paint === this._seenPaint) {
244
270
  return this._view;
245
271
  }
246
272
  const View = svgViewClass();
@@ -250,13 +276,17 @@ export class SvgDrawing {
250
276
  }
251
277
  try {
252
278
  const view = this._view ?? new View(null);
253
- view.setSvgDom(this._percent || root.name.includes(':')
254
- ? copyTree(root, this._percent ? [width, height] : null)
255
- : root);
279
+ const missing = { any: false };
280
+ const tree = sized || root.name.includes(':')
281
+ ? copyTree(root, sized ? [width, height] : null, missing)
282
+ : root;
283
+ view.setSvgDom(paint ? painted(tree, paint) : tree);
284
+ this._missingAt = missing.any ? lastNode(documentOf(root)) : undefined;
256
285
  this._view = view;
257
286
  this._seen = count;
258
287
  this._seenLast = last;
259
288
  this._seenViewport = viewport;
289
+ this._seenPaint = paint;
260
290
  return view;
261
291
  }
262
292
  catch {
@@ -265,6 +295,16 @@ export class SvgDrawing {
265
295
  }
266
296
  }
267
297
  }
298
+ /**
299
+ * A drawing's root with its `fill` and `stroke` the document's: a copy of
300
+ * the root, its children the same ones, with the declarations at the end of
301
+ * its `style` — where `SvgView` reads a root's paint, over its presentation
302
+ * attributes, for what is under it to inherit.
303
+ */
304
+ function painted(root, paint) {
305
+ const style = root.attribs.style;
306
+ return new Element(root.name, { ...root.attribs, style: style ? `${style};${paint}` : paint }, root.children);
307
+ }
268
308
  /**
269
309
  * The colour an SVG image's root element sets as its background, in its
270
310
  * `style` attribute — the one place an image can say it, since
@@ -349,20 +389,211 @@ function hasPercent(root) {
349
389
  };
350
390
  return walk(root);
351
391
  }
392
+ /** The element a `<use>` refers to by a fragment, its id: one in another
393
+ * document is none here, where nothing is fetched for a drawing. */
394
+ function useTarget(el) {
395
+ const href = el.attribs.href ?? el.attribs['xlink:href'] ?? '';
396
+ return href.length > 1 && href.startsWith('#') ? href.slice(1) : null;
397
+ }
398
+ /** The elements under a root by their ids, the first of each. */
399
+ function idsUnder(root) {
400
+ const ids = new Map();
401
+ const walk = (el) => {
402
+ for (const child of el.children) {
403
+ if (child.type !== 'tag')
404
+ continue;
405
+ const tag = child;
406
+ const id = tag.attribs.id;
407
+ if (id && !ids.has(id))
408
+ ids.set(id, tag);
409
+ walk(tag);
410
+ }
411
+ };
412
+ walk(root);
413
+ return ids;
414
+ }
415
+ /**
416
+ * Whether a `<use>` under the root is one `SvgView` cannot draw as it
417
+ * stands: it looks a reference up among the root's own elements, and draws
418
+ * a `<symbol>` as its children where they are. So one to an element
419
+ * outside the root — an icon sprite's, a hidden `<svg>` of symbols at the
420
+ * top of the page — and one to a symbol with a `viewBox` of its own are
421
+ * drawn from a copy (`copyTree`).
422
+ */
423
+ function needsExpanding(root) {
424
+ let ids = null;
425
+ const walk = (el) => {
426
+ for (const child of el.children) {
427
+ if (child.type !== 'tag')
428
+ continue;
429
+ const tag = child;
430
+ if (localName(tag.name) === 'use') {
431
+ const id = useTarget(tag);
432
+ if (id !== null) {
433
+ ids ??= idsUnder(root);
434
+ const target = ids.get(id);
435
+ if (!target)
436
+ return true;
437
+ if (localName(target.name) === 'symbol' && viewBoxOf(target)) {
438
+ return true;
439
+ }
440
+ }
441
+ }
442
+ if (walk(tag))
443
+ return true;
444
+ }
445
+ return false;
446
+ };
447
+ return walk(root);
448
+ }
449
+ function documentOf(el) {
450
+ let top = el;
451
+ while (top.parent)
452
+ top = top.parent;
453
+ return top;
454
+ }
455
+ /** The last node of a document, in its order: what a document that is
456
+ * still arriving has another of once more of it has. */
457
+ function lastNode(top) {
458
+ let last = top.lastChild;
459
+ while (last && 'lastChild' in last && last.lastChild)
460
+ last = last.lastChild;
461
+ return last;
462
+ }
463
+ /** The first element of a document with an id, in its order. */
464
+ function elementById(top, id) {
465
+ const stack = [...top.children].reverse();
466
+ for (let node = stack.pop(); node; node = stack.pop()) {
467
+ if (node.type !== 'tag')
468
+ continue;
469
+ const el = node;
470
+ if (el.attribs.id === id)
471
+ return el;
472
+ for (let i = el.children.length - 1; i >= 0; i -= 1) {
473
+ stack.push(el.children[i]);
474
+ }
475
+ }
476
+ return null;
477
+ }
478
+ /** How deep a `<use>` may be of a `<use>`: one that reaches itself stops. */
479
+ const USE_DEPTH = 8;
480
+ /** A `<use>`'s `width` or `height`, in user units: a number, or a
481
+ * percentage of the viewport's; null for none, and for `auto`. */
482
+ function useLength(value, of) {
483
+ if (value === undefined)
484
+ return null;
485
+ const n = parseFloat(value);
486
+ if (!Number.isFinite(n) || n < 0)
487
+ return null;
488
+ return value.trim().endsWith('%') ? (n / 100) * of : n;
489
+ }
490
+ /** The transform that fits a `viewBox` into a viewport at `x`, `y`, as
491
+ * `preserveAspectRatio` says (SVG 2, 8.2). */
492
+ function fitTransform(box, x, y, width, height, preserve) {
493
+ const fit = (preserve ?? '').trim().split(/\s+/);
494
+ if (fit[0] === 'defer')
495
+ fit.shift();
496
+ let sx = width / box[2];
497
+ let sy = height / box[3];
498
+ if (fit[0] !== 'none') {
499
+ const align = ALIGN.exec(fit[0] ?? '') ?? ['xMidYMid', 'Mid', 'Mid'];
500
+ const scale = fit[1] === 'slice' ? Math.max(sx, sy) : Math.min(sx, sy);
501
+ x += (width - box[2] * scale) * AT[align[1]];
502
+ y += (height - box[3] * scale) * AT[align[2]];
503
+ sx = scale;
504
+ sy = scale;
505
+ }
506
+ return `translate(${x - box[0] * sx},${y - box[1] * sy}) scale(${sx},${sy})`;
507
+ }
508
+ /** What a `<use>` says of where its element goes, and not of how it looks:
509
+ * the rest is the group's the element is drawn in. */
510
+ const USE_PLACEMENT = new Set([
511
+ 'href',
512
+ 'xlink:href',
513
+ 'x',
514
+ 'y',
515
+ 'width',
516
+ 'height',
517
+ ]);
352
518
  /**
353
519
  * The tree `SvgView` reads, where the document's own will not do: with
354
520
  * local names — `SvgView` knows `rect`, not `svg:rect`, and a prefix is
355
521
  * dropped only where it is bound to SVG — and with its percentages resolved
356
- * against a viewport of `[width, height]` user units, where one is given.
522
+ * against a viewport of `[width, height]` user units, where one is given;
523
+ * and with each `<use>` that `SvgView` cannot draw (`needsExpanding`) as a
524
+ * group of what it refers to (SVG 2, 5.5): the element, from wherever in
525
+ * the document it is, or a symbol's children, its `viewBox` fitted to the
526
+ * viewport the `<use>` gives it — its `width` and `height`, and all of the
527
+ * drawing's where it has none. `missing.any` is set where one refers to an
528
+ * element the document does not have.
357
529
  */
358
- function copyTree(root, viewport) {
530
+ function copyTree(root, viewport, missing) {
359
531
  const colon = root.name.indexOf(':');
360
532
  const prefix = colon < 0 ? null : `${root.name.slice(0, colon)}:`;
361
533
  const strip = (name) => prefix && name.startsWith(prefix) ? name.slice(prefix.length) : name;
362
534
  const diagonal = viewport
363
535
  ? Math.sqrt((viewport[0] ** 2 + viewport[1] ** 2) / 2)
364
536
  : 0;
365
- const copy = (el, resolve) => {
537
+ let ids = null;
538
+ const expand = (use, resolve, depth) => {
539
+ const id = useTarget(use);
540
+ if (id === null || depth >= USE_DEPTH)
541
+ return null;
542
+ ids ??= idsUnder(root);
543
+ const inside = ids.get(id);
544
+ const target = inside ?? elementById(documentOf(root), id);
545
+ if (!target) {
546
+ if (missing)
547
+ missing.any = true;
548
+ return null;
549
+ }
550
+ const symbol = localName(target.name) === 'symbol';
551
+ const box = symbol ? viewBoxOf(target) : null;
552
+ // one of the root's own with no viewport to fit: `SvgView` draws it
553
+ if (inside && !box)
554
+ return null;
555
+ const attribs = {};
556
+ for (const name in use.attribs) {
557
+ if (!USE_PLACEMENT.has(name))
558
+ attribs[name] = use.attribs[name];
559
+ }
560
+ const x = parseFloat(use.attribs.x ?? '') || 0;
561
+ const y = parseFloat(use.attribs.y ?? '') || 0;
562
+ let placed = '';
563
+ if (box && viewport) {
564
+ const width = useLength(use.attribs.width, viewport[0]) ??
565
+ useLength(target.attribs.width, viewport[0]) ??
566
+ viewport[0];
567
+ const height = useLength(use.attribs.height, viewport[1]) ??
568
+ useLength(target.attribs.height, viewport[1]) ??
569
+ viewport[1];
570
+ placed = fitTransform(box, x, y, width, height, svgAttr(target, 'preserveAspectRatio'));
571
+ }
572
+ else if (x || y)
573
+ placed = `translate(${x},${y})`;
574
+ const transform = `${attribs.transform ?? ''} ${placed}`.trim();
575
+ if (transform)
576
+ attribs.transform = transform;
577
+ // a length in a symbol with a `viewBox` is of that, and left as it is
578
+ const within = resolve && !box;
579
+ const children = [];
580
+ if (symbol) {
581
+ for (const child of target.children) {
582
+ if (child.type === 'tag') {
583
+ children.push(copy(child, within, depth + 1));
584
+ }
585
+ }
586
+ }
587
+ else
588
+ children.push(copy(target, within, depth + 1));
589
+ return new Element('g', attribs, children);
590
+ };
591
+ const copy = (el, resolve, depth = 0) => {
592
+ if (localName(el.name) === 'use') {
593
+ const group = expand(el, resolve, depth);
594
+ if (group)
595
+ return group;
596
+ }
366
597
  const here = resolve && !OWN_UNITS.has(localName(el.name));
367
598
  const attribs = { ...el.attribs };
368
599
  if (here && viewport && el !== root) {
@@ -380,8 +611,9 @@ function copyTree(root, viewport) {
380
611
  }
381
612
  const children = [];
382
613
  for (const child of el.children) {
383
- if (child.type === 'tag')
384
- children.push(copy(child, here));
614
+ if (child.type === 'tag') {
615
+ children.push(copy(child, here, depth));
616
+ }
385
617
  else if (child.type === 'text')
386
618
  children.push(new Text(child.data));
387
619
  }
@@ -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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"}
@@ -0,0 +1,29 @@
1
+ import React from 'react';
2
+ import type { ReactNode } from 'react';
3
+ import type { DrawnNode, MouseEvent as X11MouseEvent } from 'react-x11';
4
+ import type { Element } from './dom.js';
5
+ import type { HtmlViewNode } from './node.js';
6
+ import type { RootLook } from './css/style.js';
7
+ import type { ControlRect } from './controls.js';
8
+ import type { FormSubmission } from './form.js';
9
+ export interface FormsOptions {
10
+ /** The element, for the document's base, its geometry and its window. */
11
+ view: React.RefObject<HtmlViewNode | null>;
12
+ /** The URL the document came from: an empty `action` is it. */
13
+ baseUrl: string | null | undefined;
14
+ onControlChange?: (element: Element, value: string | boolean) => void;
15
+ onSubmit?: (submission: FormSubmission) => void;
16
+ /** Restyle and lay out again: a change a selector can see. */
17
+ touch: () => void;
18
+ }
19
+ export interface Forms {
20
+ /** The document's own presses: its `<button>`s, `<label>`s and image
21
+ * buttons. */
22
+ onMouseDown: (ev: X11MouseEvent<DrawnNode>) => void;
23
+ onMouseUp: (ev: X11MouseEvent<DrawnNode>) => void;
24
+ /** The widgets for the rectangles layout reported, and the message of a
25
+ * form that would not submit. */
26
+ render(rects: readonly ControlRect[], look: RootLook): ReactNode[];
27
+ }
28
+ export declare function useForms(options: FormsOptions): Forms;
29
+ //# sourceMappingURL=widgets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widgets.d.ts","sourceRoot":"","sources":["../../src/html/widgets.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,IAAI,aAAa,EAAE,MAAM,WAAW,CAAC;AAQxE,OAAO,KAAK,EAAY,OAAO,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,KAAK,EAAa,WAAW,EAAE,MAAM,eAAe,CAAC;AAe5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAOhD,MAAM,WAAW,YAAY;IAC3B,yEAAyE;IACzE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC3C,+DAA+D;IAC/D,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,KAAK,IAAI,CAAC;IACtE,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,IAAI,CAAC;IAChD,8DAA8D;IAC9D,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,KAAK;IACpB;mBACe;IACf,WAAW,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IACpD,SAAS,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IAClD;sCACkC;IAClC,MAAM,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,GAAG,SAAS,EAAE,CAAC;CACpE;AASD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,KAAK,CAqNrD"}