documents.js 2.1.0 → 2.3.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 (109) hide show
  1. package/README.md +72 -33
  2. package/dist/codecs/registry.cjs +7 -0
  3. package/dist/codecs/registry.js +7 -0
  4. package/dist/convert/capability.cjs +5 -0
  5. package/dist/convert/capability.js +5 -0
  6. package/dist/convert/codec.cjs +10 -0
  7. package/dist/convert/codec.d.cts +3 -1
  8. package/dist/convert/codec.d.ts +3 -1
  9. package/dist/convert/codec.js +11 -3
  10. package/dist/convert/composition.cjs +17 -0
  11. package/dist/convert/composition.d.cts +5 -2
  12. package/dist/convert/composition.d.ts +5 -2
  13. package/dist/convert/composition.js +17 -0
  14. package/dist/convert/convert.cjs +16 -0
  15. package/dist/convert/convert.d.cts +13 -1
  16. package/dist/convert/convert.d.ts +13 -1
  17. package/dist/convert/convert.js +13 -1
  18. package/dist/convert/local.cjs +2 -1
  19. package/dist/convert/local.js +2 -1
  20. package/dist/convert/port.cjs +1 -0
  21. package/dist/convert/port.d.cts +2 -0
  22. package/dist/convert/port.d.ts +2 -0
  23. package/dist/convert/port.js +1 -0
  24. package/dist/diagnostics-C5-bG09J.d.cts +18 -0
  25. package/dist/diagnostics-C5-bG09J.d.ts +18 -0
  26. package/dist/edit/odg/scaffold.js +8 -8
  27. package/dist/edit/odp/scaffold.js +8 -8
  28. package/dist/edit/ods/scaffold.js +8 -8
  29. package/dist/edit/odt/scaffold.js +8 -8
  30. package/dist/index.cjs +31 -0
  31. package/dist/index.d.cts +12 -4
  32. package/dist/index.d.ts +12 -4
  33. package/dist/index.js +12 -4
  34. package/dist/latex/diagnostics.cjs +21 -0
  35. package/dist/latex/diagnostics.d.cts +2 -0
  36. package/dist/latex/diagnostics.d.ts +2 -0
  37. package/dist/latex/diagnostics.js +19 -0
  38. package/dist/latex/lint.cjs +82 -0
  39. package/dist/latex/lint.d.cts +6 -0
  40. package/dist/latex/lint.d.ts +6 -0
  41. package/dist/latex/lint.js +81 -0
  42. package/dist/latex/lower.cjs +550 -0
  43. package/dist/latex/lower.d.cts +24 -0
  44. package/dist/latex/lower.d.ts +24 -0
  45. package/dist/latex/lower.js +548 -0
  46. package/dist/latex/rational.cjs +29 -0
  47. package/dist/latex/rational.d.cts +11 -0
  48. package/dist/latex/rational.d.ts +11 -0
  49. package/dist/latex/rational.js +27 -0
  50. package/dist/latex/symbols.cjs +128 -0
  51. package/dist/latex/symbols.d.cts +16 -0
  52. package/dist/latex/symbols.d.ts +16 -0
  53. package/dist/latex/symbols.js +124 -0
  54. package/dist/latex/temml.cjs +121 -0
  55. package/dist/latex/temml.d.cts +25 -0
  56. package/dist/latex/temml.d.ts +25 -0
  57. package/dist/latex/temml.js +93 -0
  58. package/dist/markdown/math.cjs +110 -0
  59. package/dist/markdown/math.d.cts +9 -0
  60. package/dist/markdown/math.d.ts +9 -0
  61. package/dist/markdown/math.js +109 -0
  62. package/dist/markdown/read.cjs +3 -2
  63. package/dist/markdown/read.d.cts +2 -1
  64. package/dist/markdown/read.d.ts +2 -1
  65. package/dist/markdown/read.js +3 -2
  66. package/dist/markdown/write.cjs +23 -4
  67. package/dist/markdown/write.js +23 -4
  68. package/dist/metadata/write.cjs +1 -0
  69. package/dist/metadata/write.js +1 -0
  70. package/dist/model/bytes.cjs +5 -0
  71. package/dist/model/bytes.d.cts +2 -1
  72. package/dist/model/bytes.d.ts +2 -1
  73. package/dist/model/bytes.js +5 -1
  74. package/dist/model/formula.cjs +1 -1
  75. package/dist/model/formula.js +1 -1
  76. package/dist/svg/diagnostics.cjs +19 -0
  77. package/dist/svg/diagnostics.d.cts +10 -0
  78. package/dist/svg/diagnostics.d.ts +10 -0
  79. package/dist/svg/diagnostics.js +18 -0
  80. package/dist/svg/paint.cjs +817 -0
  81. package/dist/svg/paint.d.cts +19 -0
  82. package/dist/svg/paint.d.ts +19 -0
  83. package/dist/svg/paint.js +814 -0
  84. package/dist/svg/path.cjs +337 -0
  85. package/dist/svg/path.d.cts +22 -0
  86. package/dist/svg/path.d.ts +22 -0
  87. package/dist/svg/path.js +336 -0
  88. package/dist/svg/read.cjs +677 -0
  89. package/dist/svg/read.d.cts +12 -0
  90. package/dist/svg/read.d.ts +12 -0
  91. package/dist/svg/read.js +675 -0
  92. package/dist/svg/text.cjs +22 -0
  93. package/dist/svg/text.d.cts +8 -0
  94. package/dist/svg/text.d.ts +8 -0
  95. package/dist/svg/text.js +19 -0
  96. package/dist/svg/transform.cjs +206 -0
  97. package/dist/svg/transform.d.cts +23 -0
  98. package/dist/svg/transform.d.ts +23 -0
  99. package/dist/svg/transform.js +197 -0
  100. package/dist/svg/units.cjs +47 -0
  101. package/dist/svg/units.d.cts +12 -0
  102. package/dist/svg/units.d.ts +12 -0
  103. package/dist/svg/units.js +44 -0
  104. package/dist/svg/write.cjs +127 -0
  105. package/dist/svg/write.d.cts +23 -0
  106. package/dist/svg/write.d.ts +23 -0
  107. package/dist/svg/write.js +123 -0
  108. package/dist/xml/odf-text.js +2 -2
  109. package/package.json +2 -1
@@ -0,0 +1,814 @@
1
+ //#region src/svg/paint.ts
2
+ const NAMED_COLORS = {
3
+ aliceblue: [
4
+ 240,
5
+ 248,
6
+ 255
7
+ ],
8
+ antiquewhite: [
9
+ 250,
10
+ 235,
11
+ 215
12
+ ],
13
+ aqua: [
14
+ 0,
15
+ 255,
16
+ 255
17
+ ],
18
+ aquamarine: [
19
+ 127,
20
+ 255,
21
+ 212
22
+ ],
23
+ azure: [
24
+ 240,
25
+ 255,
26
+ 255
27
+ ],
28
+ beige: [
29
+ 245,
30
+ 245,
31
+ 220
32
+ ],
33
+ bisque: [
34
+ 255,
35
+ 228,
36
+ 196
37
+ ],
38
+ black: [
39
+ 0,
40
+ 0,
41
+ 0
42
+ ],
43
+ blanchedalmond: [
44
+ 255,
45
+ 235,
46
+ 205
47
+ ],
48
+ blue: [
49
+ 0,
50
+ 0,
51
+ 255
52
+ ],
53
+ blueviolet: [
54
+ 138,
55
+ 43,
56
+ 226
57
+ ],
58
+ brown: [
59
+ 165,
60
+ 42,
61
+ 42
62
+ ],
63
+ burlywood: [
64
+ 222,
65
+ 184,
66
+ 135
67
+ ],
68
+ cadetblue: [
69
+ 95,
70
+ 158,
71
+ 160
72
+ ],
73
+ chartreuse: [
74
+ 127,
75
+ 255,
76
+ 0
77
+ ],
78
+ chocolate: [
79
+ 210,
80
+ 105,
81
+ 30
82
+ ],
83
+ coral: [
84
+ 255,
85
+ 127,
86
+ 80
87
+ ],
88
+ cornflowerblue: [
89
+ 100,
90
+ 149,
91
+ 237
92
+ ],
93
+ cornsilk: [
94
+ 255,
95
+ 248,
96
+ 220
97
+ ],
98
+ crimson: [
99
+ 220,
100
+ 20,
101
+ 60
102
+ ],
103
+ cyan: [
104
+ 0,
105
+ 255,
106
+ 255
107
+ ],
108
+ darkblue: [
109
+ 0,
110
+ 0,
111
+ 139
112
+ ],
113
+ darkcyan: [
114
+ 0,
115
+ 139,
116
+ 139
117
+ ],
118
+ darkgoldenrod: [
119
+ 184,
120
+ 134,
121
+ 11
122
+ ],
123
+ darkgray: [
124
+ 169,
125
+ 169,
126
+ 169
127
+ ],
128
+ darkgreen: [
129
+ 0,
130
+ 100,
131
+ 0
132
+ ],
133
+ darkgrey: [
134
+ 169,
135
+ 169,
136
+ 169
137
+ ],
138
+ darkkhaki: [
139
+ 189,
140
+ 183,
141
+ 107
142
+ ],
143
+ darkmagenta: [
144
+ 139,
145
+ 0,
146
+ 139
147
+ ],
148
+ darkolivegreen: [
149
+ 85,
150
+ 107,
151
+ 47
152
+ ],
153
+ darkorange: [
154
+ 255,
155
+ 140,
156
+ 0
157
+ ],
158
+ darkorchid: [
159
+ 153,
160
+ 50,
161
+ 204
162
+ ],
163
+ darkred: [
164
+ 139,
165
+ 0,
166
+ 0
167
+ ],
168
+ darksalmon: [
169
+ 233,
170
+ 150,
171
+ 122
172
+ ],
173
+ darkseagreen: [
174
+ 143,
175
+ 188,
176
+ 143
177
+ ],
178
+ darkslateblue: [
179
+ 72,
180
+ 61,
181
+ 139
182
+ ],
183
+ darkslategray: [
184
+ 47,
185
+ 79,
186
+ 79
187
+ ],
188
+ darkslategrey: [
189
+ 47,
190
+ 79,
191
+ 79
192
+ ],
193
+ darkturquoise: [
194
+ 0,
195
+ 206,
196
+ 209
197
+ ],
198
+ darkviolet: [
199
+ 148,
200
+ 0,
201
+ 211
202
+ ],
203
+ deeppink: [
204
+ 255,
205
+ 20,
206
+ 147
207
+ ],
208
+ deepskyblue: [
209
+ 0,
210
+ 191,
211
+ 255
212
+ ],
213
+ dimgray: [
214
+ 105,
215
+ 105,
216
+ 105
217
+ ],
218
+ dimgrey: [
219
+ 105,
220
+ 105,
221
+ 105
222
+ ],
223
+ dodgerblue: [
224
+ 30,
225
+ 144,
226
+ 255
227
+ ],
228
+ firebrick: [
229
+ 178,
230
+ 34,
231
+ 34
232
+ ],
233
+ floralwhite: [
234
+ 255,
235
+ 250,
236
+ 240
237
+ ],
238
+ forestgreen: [
239
+ 34,
240
+ 139,
241
+ 34
242
+ ],
243
+ fuchsia: [
244
+ 255,
245
+ 0,
246
+ 255
247
+ ],
248
+ gainsboro: [
249
+ 220,
250
+ 220,
251
+ 220
252
+ ],
253
+ ghostwhite: [
254
+ 248,
255
+ 248,
256
+ 255
257
+ ],
258
+ gold: [
259
+ 255,
260
+ 215,
261
+ 0
262
+ ],
263
+ goldenrod: [
264
+ 218,
265
+ 165,
266
+ 32
267
+ ],
268
+ gray: [
269
+ 128,
270
+ 128,
271
+ 128
272
+ ],
273
+ green: [
274
+ 0,
275
+ 128,
276
+ 0
277
+ ],
278
+ greenyellow: [
279
+ 173,
280
+ 255,
281
+ 47
282
+ ],
283
+ grey: [
284
+ 128,
285
+ 128,
286
+ 128
287
+ ],
288
+ honeydew: [
289
+ 240,
290
+ 255,
291
+ 240
292
+ ],
293
+ hotpink: [
294
+ 255,
295
+ 105,
296
+ 180
297
+ ],
298
+ indianred: [
299
+ 205,
300
+ 92,
301
+ 92
302
+ ],
303
+ indigo: [
304
+ 75,
305
+ 0,
306
+ 130
307
+ ],
308
+ ivory: [
309
+ 255,
310
+ 255,
311
+ 240
312
+ ],
313
+ khaki: [
314
+ 240,
315
+ 230,
316
+ 140
317
+ ],
318
+ lavender: [
319
+ 230,
320
+ 230,
321
+ 250
322
+ ],
323
+ lavenderblush: [
324
+ 255,
325
+ 240,
326
+ 245
327
+ ],
328
+ lawngreen: [
329
+ 124,
330
+ 252,
331
+ 0
332
+ ],
333
+ lemonchiffon: [
334
+ 255,
335
+ 250,
336
+ 205
337
+ ],
338
+ lightblue: [
339
+ 173,
340
+ 216,
341
+ 230
342
+ ],
343
+ lightcoral: [
344
+ 240,
345
+ 128,
346
+ 128
347
+ ],
348
+ lightcyan: [
349
+ 224,
350
+ 255,
351
+ 255
352
+ ],
353
+ lightgoldenrodyellow: [
354
+ 250,
355
+ 250,
356
+ 210
357
+ ],
358
+ lightgray: [
359
+ 211,
360
+ 211,
361
+ 211
362
+ ],
363
+ lightgreen: [
364
+ 144,
365
+ 238,
366
+ 144
367
+ ],
368
+ lightgrey: [
369
+ 211,
370
+ 211,
371
+ 211
372
+ ],
373
+ lightpink: [
374
+ 255,
375
+ 182,
376
+ 193
377
+ ],
378
+ lightsalmon: [
379
+ 255,
380
+ 160,
381
+ 122
382
+ ],
383
+ lightseagreen: [
384
+ 32,
385
+ 178,
386
+ 170
387
+ ],
388
+ lightskyblue: [
389
+ 135,
390
+ 206,
391
+ 250
392
+ ],
393
+ lightslategray: [
394
+ 119,
395
+ 136,
396
+ 153
397
+ ],
398
+ lightslategrey: [
399
+ 119,
400
+ 136,
401
+ 153
402
+ ],
403
+ lightsteelblue: [
404
+ 176,
405
+ 196,
406
+ 222
407
+ ],
408
+ lightyellow: [
409
+ 255,
410
+ 255,
411
+ 224
412
+ ],
413
+ lime: [
414
+ 0,
415
+ 255,
416
+ 0
417
+ ],
418
+ limegreen: [
419
+ 50,
420
+ 205,
421
+ 50
422
+ ],
423
+ linen: [
424
+ 250,
425
+ 240,
426
+ 230
427
+ ],
428
+ magenta: [
429
+ 255,
430
+ 0,
431
+ 255
432
+ ],
433
+ maroon: [
434
+ 128,
435
+ 0,
436
+ 0
437
+ ],
438
+ mediumaquamarine: [
439
+ 102,
440
+ 205,
441
+ 170
442
+ ],
443
+ mediumblue: [
444
+ 0,
445
+ 0,
446
+ 205
447
+ ],
448
+ mediumorchid: [
449
+ 186,
450
+ 85,
451
+ 211
452
+ ],
453
+ mediumpurple: [
454
+ 147,
455
+ 112,
456
+ 219
457
+ ],
458
+ mediumseagreen: [
459
+ 60,
460
+ 179,
461
+ 113
462
+ ],
463
+ mediumslateblue: [
464
+ 123,
465
+ 104,
466
+ 238
467
+ ],
468
+ mediumspringgreen: [
469
+ 0,
470
+ 250,
471
+ 154
472
+ ],
473
+ mediumturquoise: [
474
+ 72,
475
+ 209,
476
+ 204
477
+ ],
478
+ mediumvioletred: [
479
+ 199,
480
+ 21,
481
+ 133
482
+ ],
483
+ midnightblue: [
484
+ 25,
485
+ 25,
486
+ 112
487
+ ],
488
+ mintcream: [
489
+ 245,
490
+ 255,
491
+ 250
492
+ ],
493
+ mistyrose: [
494
+ 255,
495
+ 228,
496
+ 225
497
+ ],
498
+ moccasin: [
499
+ 255,
500
+ 228,
501
+ 181
502
+ ],
503
+ navajowhite: [
504
+ 255,
505
+ 222,
506
+ 173
507
+ ],
508
+ navy: [
509
+ 0,
510
+ 0,
511
+ 128
512
+ ],
513
+ oldlace: [
514
+ 253,
515
+ 245,
516
+ 230
517
+ ],
518
+ olive: [
519
+ 128,
520
+ 128,
521
+ 0
522
+ ],
523
+ olivedrab: [
524
+ 107,
525
+ 142,
526
+ 35
527
+ ],
528
+ orange: [
529
+ 255,
530
+ 165,
531
+ 0
532
+ ],
533
+ orangered: [
534
+ 255,
535
+ 69,
536
+ 0
537
+ ],
538
+ orchid: [
539
+ 218,
540
+ 112,
541
+ 214
542
+ ],
543
+ palegoldenrod: [
544
+ 238,
545
+ 232,
546
+ 170
547
+ ],
548
+ palegreen: [
549
+ 152,
550
+ 251,
551
+ 152
552
+ ],
553
+ paleturquoise: [
554
+ 175,
555
+ 238,
556
+ 238
557
+ ],
558
+ palevioletred: [
559
+ 219,
560
+ 112,
561
+ 147
562
+ ],
563
+ papayawhip: [
564
+ 255,
565
+ 239,
566
+ 213
567
+ ],
568
+ peachpuff: [
569
+ 255,
570
+ 218,
571
+ 185
572
+ ],
573
+ peru: [
574
+ 205,
575
+ 133,
576
+ 63
577
+ ],
578
+ pink: [
579
+ 255,
580
+ 192,
581
+ 203
582
+ ],
583
+ plum: [
584
+ 221,
585
+ 160,
586
+ 221
587
+ ],
588
+ powderblue: [
589
+ 176,
590
+ 224,
591
+ 230
592
+ ],
593
+ purple: [
594
+ 128,
595
+ 0,
596
+ 128
597
+ ],
598
+ rebeccapurple: [
599
+ 102,
600
+ 51,
601
+ 153
602
+ ],
603
+ red: [
604
+ 255,
605
+ 0,
606
+ 0
607
+ ],
608
+ rosybrown: [
609
+ 188,
610
+ 143,
611
+ 143
612
+ ],
613
+ royalblue: [
614
+ 65,
615
+ 105,
616
+ 225
617
+ ],
618
+ saddlebrown: [
619
+ 139,
620
+ 69,
621
+ 19
622
+ ],
623
+ salmon: [
624
+ 250,
625
+ 128,
626
+ 114
627
+ ],
628
+ sandybrown: [
629
+ 244,
630
+ 164,
631
+ 96
632
+ ],
633
+ seagreen: [
634
+ 46,
635
+ 139,
636
+ 87
637
+ ],
638
+ seashell: [
639
+ 255,
640
+ 245,
641
+ 238
642
+ ],
643
+ sienna: [
644
+ 160,
645
+ 82,
646
+ 45
647
+ ],
648
+ silver: [
649
+ 192,
650
+ 192,
651
+ 192
652
+ ],
653
+ skyblue: [
654
+ 135,
655
+ 206,
656
+ 235
657
+ ],
658
+ slateblue: [
659
+ 106,
660
+ 90,
661
+ 205
662
+ ],
663
+ slategray: [
664
+ 112,
665
+ 128,
666
+ 144
667
+ ],
668
+ slategrey: [
669
+ 112,
670
+ 128,
671
+ 144
672
+ ],
673
+ snow: [
674
+ 255,
675
+ 250,
676
+ 250
677
+ ],
678
+ springgreen: [
679
+ 0,
680
+ 255,
681
+ 127
682
+ ],
683
+ steelblue: [
684
+ 70,
685
+ 130,
686
+ 180
687
+ ],
688
+ tan: [
689
+ 210,
690
+ 180,
691
+ 140
692
+ ],
693
+ teal: [
694
+ 0,
695
+ 128,
696
+ 128
697
+ ],
698
+ thistle: [
699
+ 216,
700
+ 191,
701
+ 216
702
+ ],
703
+ tomato: [
704
+ 255,
705
+ 99,
706
+ 71
707
+ ],
708
+ turquoise: [
709
+ 64,
710
+ 224,
711
+ 208
712
+ ],
713
+ violet: [
714
+ 238,
715
+ 130,
716
+ 238
717
+ ],
718
+ wheat: [
719
+ 245,
720
+ 222,
721
+ 179
722
+ ],
723
+ white: [
724
+ 255,
725
+ 255,
726
+ 255
727
+ ],
728
+ whitesmoke: [
729
+ 245,
730
+ 245,
731
+ 245
732
+ ],
733
+ yellow: [
734
+ 255,
735
+ 255,
736
+ 0
737
+ ],
738
+ yellowgreen: [
739
+ 154,
740
+ 205,
741
+ 50
742
+ ]
743
+ };
744
+ function from8Bit(r, g, b) {
745
+ return {
746
+ r: r / 255,
747
+ g: g / 255,
748
+ b: b / 255
749
+ };
750
+ }
751
+ const HEX_PATTERN = /^#([0-9a-fA-F]{3,8})$/;
752
+ const FUNCTION_COLOR_PATTERN = /^rgba?\(\s*([^)]*)\)$/;
753
+ const SPLIT_COMPONENTS = /[\s,]+/;
754
+ function parseSvgColor(raw) {
755
+ const value = raw.trim();
756
+ const named = NAMED_COLORS[value.toLowerCase()];
757
+ if (named !== void 0) return from8Bit(named[0], named[1], named[2]);
758
+ const hex = HEX_PATTERN.exec(value);
759
+ if (hex !== null) {
760
+ const digits = hex[1];
761
+ if (digits.length === 3 || digits.length === 4) {
762
+ const expand = (char) => Number.parseInt(char + char, 16);
763
+ return from8Bit(expand(digits[0]), expand(digits[1]), expand(digits[2]));
764
+ }
765
+ if (digits.length === 6 || digits.length === 8) return from8Bit(Number.parseInt(digits.slice(0, 2), 16), Number.parseInt(digits.slice(2, 4), 16), Number.parseInt(digits.slice(4, 6), 16));
766
+ return;
767
+ }
768
+ const fn = FUNCTION_COLOR_PATTERN.exec(value);
769
+ if (fn !== null) {
770
+ const parts = fn[1].trim().split(SPLIT_COMPONENTS).filter((part) => part !== "");
771
+ if (parts.length !== 3 && parts.length !== 4) return;
772
+ const channel = (part) => {
773
+ if (part.endsWith("%")) {
774
+ const pct = Number(part.slice(0, -1));
775
+ return Number.isFinite(pct) ? pct / 100 * 255 : void 0;
776
+ }
777
+ const num = Number(part);
778
+ return Number.isFinite(num) ? Math.min(255, Math.max(0, num)) : void 0;
779
+ };
780
+ const r = channel(parts[0]);
781
+ const g = channel(parts[1]);
782
+ const b = channel(parts[2]);
783
+ if (r === void 0 || g === void 0 || b === void 0) return;
784
+ return from8Bit(r, g, b);
785
+ }
786
+ }
787
+ const URL_PAINT_PATTERN = /^url\(\s*['"]?#([^'")\s]*)['"]?\s*\)$/;
788
+ function parseSvgPaint(raw) {
789
+ const value = raw.trim();
790
+ if (value === "none") return { kind: "none" };
791
+ if (value === "currentColor") return { kind: "currentColor" };
792
+ const url = URL_PAINT_PATTERN.exec(value);
793
+ if (url !== null) return {
794
+ kind: "url",
795
+ fragment: url[1]
796
+ };
797
+ const color = parseSvgColor(value);
798
+ return color === void 0 ? void 0 : {
799
+ kind: "color",
800
+ color
801
+ };
802
+ }
803
+ function parseSvgDashStyle(raw) {
804
+ if (raw === void 0) return;
805
+ const value = raw.trim();
806
+ if (value === "" || value === "none") return;
807
+ const numbers = value.split(/[\s,]+/).filter((part) => part !== "");
808
+ if (numbers.length === 0) return;
809
+ const lengths = numbers.map((part) => Number(part));
810
+ if (!lengths.every((length) => Number.isFinite(length) && length >= 0)) return;
811
+ return lengths.filter((_, index) => index % 2 === 0).every((on) => on <= 1) ? "dotted" : "dashed";
812
+ }
813
+ //#endregion
814
+ export { parseSvgColor, parseSvgDashStyle, parseSvgPaint };