@emasoft/svg-matrix 1.0.19 → 1.0.20

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,944 @@
1
+ // SVG 1.1 Validation Data - Extracted from W3C DTD
2
+ // https://www.w3.org/Graphics/SVG/1.1/DTD/svg11-flat-20110816.dtd
3
+ // Auto-generated - do not edit manually
4
+
5
+ /**
6
+ * Set of all valid SVG 1.1 element names (lowercase)
7
+ */
8
+ export const SVG11_ELEMENTS = new Set(["a","altglyph","altglyphdef","altglyphitem","animate","animatecolor","animatemotion","animatetransform","circle","clippath","color-profile","cursor","defs","desc","ellipse","feblend","fecolormatrix","fecomponenttransfer","fecomposite","feconvolvematrix","fediffuselighting","fedisplacementmap","fedistantlight","feflood","fefunca","fefuncb","fefuncg","fefuncr","fegaussianblur","feimage","femerge","femergenode","femorphology","feoffset","fepointlight","fespecularlighting","fespotlight","fetile","feturbulence","filter","font","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialgradient","rect","script","set","stop","style","svg","switch","symbol","text","textpath","title","tref","tspan","use","view","vkern"]);
9
+
10
+ /**
11
+ * Set of all valid SVG 1.1 attribute names (lowercase)
12
+ */
13
+ export const SVG11_ATTRIBUTES = new Set(["accent-height","accumulate","actuate","additive","alignment-baseline","alphabetic","amplitude","arabic-form","arcrole","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","baseprofile","bbox","begin","bias","by","calcmode","cap-height","class","clip","clip-path","clip-rule","clippathunits","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","contentscripttype","contentstyletype","cursor","cx","cy","d","descent","diffuseconstant","direction","display","divisor","dominant-baseline","dur","dx","dy","edgemode","elevation","enable-background","end","exponent","externalresourcesrequired","fill","fill-opacity","fill-rule","filter","filterres","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","format","from","fx","fy","g1","g2","glyph-name","glyph-orientation-horizontal","glyph-orientation-vertical","glyphref","gradienttransform","gradientunits","hanging","height","horiz-adv-x","horiz-origin-x","horiz-origin-y","href","id","ideographic","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kernelmatrix","kernelunitlength","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","lighting-color","limitingconeangle","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","mask","maskcontentunits","maskunits","mathematical","max","media","method","min","mode","name","numoctaves","offset","onabort","onactivate","onbegin","onclick","onend","onerror","onfocusin","onfocusout","onload","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onrepeat","onresize","onscroll","onunload","onzoom","opacity","operator","order","orient","orientation","origin","overflow","overline-position","overline-thickness","panose-1","path","pathlength","patterncontentunits","patterntransform","patternunits","pointer-events","points","pointsatx","pointsaty","pointsatz","preservealpha","preserveaspectratio","primitiveunits","r","radius","refx","refy","rendering-intent","repeatcount","repeatdur","requiredextensions","requiredfeatures","restart","result","role","rotate","rx","ry","scale","seed","shape-rendering","show","slope","spacing","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stemh","stemv","stitchtiles","stop-color","stop-opacity","strikethrough-position","strikethrough-thickness","string","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","surfacescale","systemlanguage","tablevalues","target","targetx","targety","text-anchor","text-decoration","text-rendering","textlength","title","to","transform","type","u1","u2","underline-position","underline-thickness","unicode","unicode-bidi","unicode-range","units-per-em","v-alphabetic","v-hanging","v-ideographic","v-mathematical","values","version","vert-adv-y","vert-origin-x","vert-origin-y","viewbox","viewtarget","visibility","width","widths","word-spacing","writing-mode","x","x-height","x1","x2","xchannelselector","xml:base","xml:lang","xml:space","y","y1","y2","ychannelselector","z","zoomandpan"]);
14
+
15
+ /**
16
+ * Elements that are truly EMPTY (cannot have any children)
17
+ * From DTD: font-face-format, font-face-name, glyphRef, hkern, vkern
18
+ */
19
+ export const EMPTY_ELEMENTS = new Set(["font-face-format","font-face-name","glyphRef","hkern","vkern"]);
20
+
21
+ /**
22
+ * Required attributes for each element
23
+ */
24
+ export const REQUIRED_ATTRIBUTES = {
25
+ "a": [
26
+ "href"
27
+ ],
28
+ "animate": [
29
+ "attributename"
30
+ ],
31
+ "animatecolor": [
32
+ "attributename"
33
+ ],
34
+ "animatetransform": [
35
+ "attributename"
36
+ ],
37
+ "circle": [
38
+ "r"
39
+ ],
40
+ "color-profile": [
41
+ "name"
42
+ ],
43
+ "cursor": [
44
+ "href"
45
+ ],
46
+ "ellipse": [
47
+ "rx",
48
+ "ry"
49
+ ],
50
+ "feblend": [
51
+ "in2"
52
+ ],
53
+ "fecomposite": [
54
+ "in2"
55
+ ],
56
+ "feconvolvematrix": [
57
+ "kernelmatrix"
58
+ ],
59
+ "fedisplacementmap": [
60
+ "in2"
61
+ ],
62
+ "fefunca": [
63
+ "type"
64
+ ],
65
+ "fefuncb": [
66
+ "type"
67
+ ],
68
+ "fefuncg": [
69
+ "type"
70
+ ],
71
+ "fefuncr": [
72
+ "type"
73
+ ],
74
+ "feimage": [
75
+ "href"
76
+ ],
77
+ "font": [
78
+ "horiz-adv-x"
79
+ ],
80
+ "font-face-uri": [
81
+ "href"
82
+ ],
83
+ "foreignobject": [
84
+ "height",
85
+ "width"
86
+ ],
87
+ "hkern": [
88
+ "k"
89
+ ],
90
+ "image": [
91
+ "height",
92
+ "href",
93
+ "width"
94
+ ],
95
+ "mpath": [
96
+ "href"
97
+ ],
98
+ "path": [
99
+ "d"
100
+ ],
101
+ "polygon": [
102
+ "points"
103
+ ],
104
+ "polyline": [
105
+ "points"
106
+ ],
107
+ "rect": [
108
+ "height",
109
+ "width"
110
+ ],
111
+ "script": [
112
+ "type"
113
+ ],
114
+ "set": [
115
+ "attributename"
116
+ ],
117
+ "stop": [
118
+ "offset"
119
+ ],
120
+ "style": [
121
+ "type"
122
+ ],
123
+ "textpath": [
124
+ "href"
125
+ ],
126
+ "tref": [
127
+ "href"
128
+ ],
129
+ "use": [
130
+ "href"
131
+ ],
132
+ "vkern": [
133
+ "k"
134
+ ]
135
+ };
136
+
137
+ /**
138
+ * Valid children for each element
139
+ */
140
+ export const VALID_CHILDREN = {
141
+ "a": [
142
+ "a",
143
+ "altglyphdef",
144
+ "animate",
145
+ "animatecolor",
146
+ "animatemotion",
147
+ "animatetransform",
148
+ "circle",
149
+ "clippath",
150
+ "cursor",
151
+ "defs",
152
+ "desc",
153
+ "ellipse",
154
+ "filter",
155
+ "font",
156
+ "foreignobject",
157
+ "g",
158
+ "image",
159
+ "line",
160
+ "lineargradient",
161
+ "marker",
162
+ "mask",
163
+ "metadata",
164
+ "path",
165
+ "pattern",
166
+ "polygon",
167
+ "polyline",
168
+ "radialgradient",
169
+ "rect",
170
+ "script",
171
+ "set",
172
+ "style",
173
+ "svg",
174
+ "switch",
175
+ "symbol",
176
+ "text",
177
+ "title",
178
+ "view"
179
+ ],
180
+ "altglyphdef": [
181
+ "altglyphitem",
182
+ "glyphref"
183
+ ],
184
+ "altglyphitem": [
185
+ "glyphref"
186
+ ],
187
+ "animate": [
188
+ "desc",
189
+ "metadata",
190
+ "title"
191
+ ],
192
+ "animatecolor": [
193
+ "desc",
194
+ "metadata",
195
+ "title"
196
+ ],
197
+ "animatemotion": [
198
+ "desc",
199
+ "metadata",
200
+ "mpath",
201
+ "title"
202
+ ],
203
+ "animatetransform": [
204
+ "desc",
205
+ "metadata",
206
+ "title"
207
+ ],
208
+ "circle": [
209
+ "animate",
210
+ "animatecolor",
211
+ "animatemotion",
212
+ "animatetransform",
213
+ "desc",
214
+ "metadata",
215
+ "set",
216
+ "title"
217
+ ],
218
+ "clippath": [
219
+ "animate",
220
+ "animatecolor",
221
+ "animatemotion",
222
+ "animatetransform",
223
+ "circle",
224
+ "desc",
225
+ "ellipse",
226
+ "line",
227
+ "metadata",
228
+ "path",
229
+ "polygon",
230
+ "polyline",
231
+ "rect",
232
+ "set",
233
+ "text",
234
+ "title",
235
+ "use"
236
+ ],
237
+ "color-profile": [
238
+ "desc",
239
+ "metadata",
240
+ "title"
241
+ ],
242
+ "cursor": [
243
+ "desc",
244
+ "metadata",
245
+ "title"
246
+ ],
247
+ "defs": [
248
+ "a",
249
+ "altglyphdef",
250
+ "animate",
251
+ "animatecolor",
252
+ "animatemotion",
253
+ "animatetransform",
254
+ "circle",
255
+ "clippath",
256
+ "cursor",
257
+ "defs",
258
+ "desc",
259
+ "ellipse",
260
+ "filter",
261
+ "font",
262
+ "foreignobject",
263
+ "g",
264
+ "image",
265
+ "line",
266
+ "lineargradient",
267
+ "marker",
268
+ "mask",
269
+ "metadata",
270
+ "path",
271
+ "pattern",
272
+ "polygon",
273
+ "polyline",
274
+ "radialgradient",
275
+ "rect",
276
+ "script",
277
+ "set",
278
+ "style",
279
+ "svg",
280
+ "switch",
281
+ "symbol",
282
+ "text",
283
+ "title",
284
+ "view"
285
+ ],
286
+ "ellipse": [
287
+ "animate",
288
+ "animatecolor",
289
+ "animatemotion",
290
+ "animatetransform",
291
+ "desc",
292
+ "metadata",
293
+ "set",
294
+ "title"
295
+ ],
296
+ "feblend": [
297
+ "animate",
298
+ "set"
299
+ ],
300
+ "fecolormatrix": [
301
+ "animate",
302
+ "set"
303
+ ],
304
+ "fecomponenttransfer": [
305
+ "fefunca",
306
+ "fefuncb",
307
+ "fefuncg",
308
+ "fefuncr"
309
+ ],
310
+ "fecomposite": [
311
+ "animate",
312
+ "set"
313
+ ],
314
+ "feconvolvematrix": [
315
+ "animate",
316
+ "set"
317
+ ],
318
+ "fediffuselighting": [
319
+ "animate",
320
+ "animatecolor",
321
+ "fedistantlight",
322
+ "fepointlight",
323
+ "fespotlight",
324
+ "set"
325
+ ],
326
+ "fedisplacementmap": [
327
+ "animate",
328
+ "set"
329
+ ],
330
+ "fedistantlight": [
331
+ "animate",
332
+ "set"
333
+ ],
334
+ "feflood": [
335
+ "animate",
336
+ "animatecolor",
337
+ "set"
338
+ ],
339
+ "fefunca": [
340
+ "animate",
341
+ "set"
342
+ ],
343
+ "fefuncb": [
344
+ "animate",
345
+ "set"
346
+ ],
347
+ "fefuncg": [
348
+ "animate",
349
+ "set"
350
+ ],
351
+ "fefuncr": [
352
+ "animate",
353
+ "set"
354
+ ],
355
+ "fegaussianblur": [
356
+ "animate",
357
+ "set"
358
+ ],
359
+ "feimage": [
360
+ "animate",
361
+ "animatetransform",
362
+ "set"
363
+ ],
364
+ "femerge": [
365
+ "femergenode"
366
+ ],
367
+ "femergenode": [
368
+ "animate",
369
+ "set"
370
+ ],
371
+ "femorphology": [
372
+ "animate",
373
+ "set"
374
+ ],
375
+ "feoffset": [
376
+ "animate",
377
+ "set"
378
+ ],
379
+ "fepointlight": [
380
+ "animate",
381
+ "set"
382
+ ],
383
+ "fespecularlighting": [
384
+ "animate",
385
+ "animatecolor",
386
+ "fedistantlight",
387
+ "fepointlight",
388
+ "fespotlight",
389
+ "set"
390
+ ],
391
+ "fespotlight": [
392
+ "animate",
393
+ "set"
394
+ ],
395
+ "fetile": [
396
+ "animate",
397
+ "set"
398
+ ],
399
+ "feturbulence": [
400
+ "animate",
401
+ "set"
402
+ ],
403
+ "filter": [
404
+ "animate",
405
+ "desc",
406
+ "feblend",
407
+ "fecolormatrix",
408
+ "fecomponenttransfer",
409
+ "fecomposite",
410
+ "feconvolvematrix",
411
+ "fediffuselighting",
412
+ "fedisplacementmap",
413
+ "feflood",
414
+ "fegaussianblur",
415
+ "feimage",
416
+ "femerge",
417
+ "femorphology",
418
+ "feoffset",
419
+ "fespecularlighting",
420
+ "fetile",
421
+ "feturbulence",
422
+ "metadata",
423
+ "set",
424
+ "title"
425
+ ],
426
+ "font": [
427
+ "desc",
428
+ "glyph",
429
+ "hkern",
430
+ "metadata",
431
+ "title",
432
+ "vkern"
433
+ ],
434
+ "font-face": [
435
+ "desc",
436
+ "metadata",
437
+ "title"
438
+ ],
439
+ "g": [
440
+ "a",
441
+ "altglyphdef",
442
+ "animate",
443
+ "animatecolor",
444
+ "animatemotion",
445
+ "animatetransform",
446
+ "circle",
447
+ "clippath",
448
+ "cursor",
449
+ "defs",
450
+ "desc",
451
+ "ellipse",
452
+ "filter",
453
+ "font",
454
+ "foreignobject",
455
+ "g",
456
+ "image",
457
+ "line",
458
+ "lineargradient",
459
+ "marker",
460
+ "mask",
461
+ "metadata",
462
+ "path",
463
+ "pattern",
464
+ "polygon",
465
+ "polyline",
466
+ "radialgradient",
467
+ "rect",
468
+ "script",
469
+ "set",
470
+ "style",
471
+ "svg",
472
+ "switch",
473
+ "symbol",
474
+ "text",
475
+ "title",
476
+ "view"
477
+ ],
478
+ "glyph": [
479
+ "a",
480
+ "altglyphdef",
481
+ "animate",
482
+ "animatecolor",
483
+ "animatemotion",
484
+ "animatetransform",
485
+ "circle",
486
+ "clippath",
487
+ "cursor",
488
+ "defs",
489
+ "desc",
490
+ "ellipse",
491
+ "filter",
492
+ "font",
493
+ "foreignobject",
494
+ "g",
495
+ "image",
496
+ "line",
497
+ "lineargradient",
498
+ "marker",
499
+ "mask",
500
+ "metadata",
501
+ "path",
502
+ "pattern",
503
+ "polygon",
504
+ "polyline",
505
+ "radialgradient",
506
+ "rect",
507
+ "script",
508
+ "set",
509
+ "style",
510
+ "svg",
511
+ "switch",
512
+ "symbol",
513
+ "text",
514
+ "title",
515
+ "view"
516
+ ],
517
+ "image": [
518
+ "animate",
519
+ "animatecolor",
520
+ "animatemotion",
521
+ "animatetransform",
522
+ "desc",
523
+ "metadata",
524
+ "set",
525
+ "title"
526
+ ],
527
+ "line": [
528
+ "animate",
529
+ "animatecolor",
530
+ "animatemotion",
531
+ "animatetransform",
532
+ "desc",
533
+ "metadata",
534
+ "set",
535
+ "title"
536
+ ],
537
+ "lineargradient": [
538
+ "animate",
539
+ "animatetransform",
540
+ "desc",
541
+ "metadata",
542
+ "set",
543
+ "stop",
544
+ "title"
545
+ ],
546
+ "marker": [
547
+ "a",
548
+ "altglyphdef",
549
+ "animate",
550
+ "animatecolor",
551
+ "animatemotion",
552
+ "animatetransform",
553
+ "circle",
554
+ "clippath",
555
+ "cursor",
556
+ "defs",
557
+ "desc",
558
+ "ellipse",
559
+ "filter",
560
+ "font",
561
+ "foreignobject",
562
+ "g",
563
+ "image",
564
+ "line",
565
+ "lineargradient",
566
+ "marker",
567
+ "mask",
568
+ "metadata",
569
+ "path",
570
+ "pattern",
571
+ "polygon",
572
+ "polyline",
573
+ "radialgradient",
574
+ "rect",
575
+ "script",
576
+ "set",
577
+ "style",
578
+ "svg",
579
+ "switch",
580
+ "symbol",
581
+ "text",
582
+ "title",
583
+ "view"
584
+ ],
585
+ "mask": [
586
+ "a",
587
+ "altglyphdef",
588
+ "animate",
589
+ "animatecolor",
590
+ "animatemotion",
591
+ "animatetransform",
592
+ "circle",
593
+ "clippath",
594
+ "cursor",
595
+ "defs",
596
+ "desc",
597
+ "ellipse",
598
+ "filter",
599
+ "font",
600
+ "foreignobject",
601
+ "g",
602
+ "image",
603
+ "line",
604
+ "lineargradient",
605
+ "marker",
606
+ "mask",
607
+ "metadata",
608
+ "path",
609
+ "pattern",
610
+ "polygon",
611
+ "polyline",
612
+ "radialgradient",
613
+ "rect",
614
+ "script",
615
+ "set",
616
+ "style",
617
+ "svg",
618
+ "switch",
619
+ "symbol",
620
+ "text",
621
+ "title",
622
+ "view"
623
+ ],
624
+ "missing-glyph": [
625
+ "a",
626
+ "altglyphdef",
627
+ "animate",
628
+ "animatecolor",
629
+ "animatemotion",
630
+ "animatetransform",
631
+ "circle",
632
+ "clippath",
633
+ "cursor",
634
+ "defs",
635
+ "desc",
636
+ "ellipse",
637
+ "filter",
638
+ "font",
639
+ "foreignobject",
640
+ "g",
641
+ "image",
642
+ "line",
643
+ "lineargradient",
644
+ "marker",
645
+ "mask",
646
+ "metadata",
647
+ "path",
648
+ "pattern",
649
+ "polygon",
650
+ "polyline",
651
+ "radialgradient",
652
+ "rect",
653
+ "script",
654
+ "set",
655
+ "style",
656
+ "svg",
657
+ "switch",
658
+ "symbol",
659
+ "text",
660
+ "title",
661
+ "view"
662
+ ],
663
+ "mpath": [
664
+ "desc",
665
+ "metadata",
666
+ "title"
667
+ ],
668
+ "path": [
669
+ "animate",
670
+ "animatecolor",
671
+ "animatemotion",
672
+ "animatetransform",
673
+ "desc",
674
+ "metadata",
675
+ "set",
676
+ "title"
677
+ ],
678
+ "pattern": [
679
+ "a",
680
+ "altglyphdef",
681
+ "animate",
682
+ "animatecolor",
683
+ "animatemotion",
684
+ "animatetransform",
685
+ "circle",
686
+ "clippath",
687
+ "cursor",
688
+ "defs",
689
+ "desc",
690
+ "ellipse",
691
+ "filter",
692
+ "font",
693
+ "foreignobject",
694
+ "g",
695
+ "image",
696
+ "line",
697
+ "lineargradient",
698
+ "marker",
699
+ "mask",
700
+ "metadata",
701
+ "path",
702
+ "pattern",
703
+ "polygon",
704
+ "polyline",
705
+ "radialgradient",
706
+ "rect",
707
+ "script",
708
+ "set",
709
+ "style",
710
+ "svg",
711
+ "switch",
712
+ "symbol",
713
+ "text",
714
+ "title",
715
+ "view"
716
+ ],
717
+ "polygon": [
718
+ "animate",
719
+ "animatecolor",
720
+ "animatemotion",
721
+ "animatetransform",
722
+ "desc",
723
+ "metadata",
724
+ "set",
725
+ "title"
726
+ ],
727
+ "polyline": [
728
+ "animate",
729
+ "animatecolor",
730
+ "animatemotion",
731
+ "animatetransform",
732
+ "desc",
733
+ "metadata",
734
+ "set",
735
+ "title"
736
+ ],
737
+ "radialgradient": [
738
+ "animate",
739
+ "animatetransform",
740
+ "desc",
741
+ "metadata",
742
+ "set",
743
+ "stop",
744
+ "title"
745
+ ],
746
+ "rect": [
747
+ "animate",
748
+ "animatecolor",
749
+ "animatemotion",
750
+ "animatetransform",
751
+ "desc",
752
+ "metadata",
753
+ "set",
754
+ "title"
755
+ ],
756
+ "set": [
757
+ "desc",
758
+ "metadata",
759
+ "title"
760
+ ],
761
+ "stop": [
762
+ "animate",
763
+ "animatecolor",
764
+ "set"
765
+ ],
766
+ "svg": [
767
+ "a",
768
+ "altglyphdef",
769
+ "animate",
770
+ "animatecolor",
771
+ "animatemotion",
772
+ "animatetransform",
773
+ "circle",
774
+ "clippath",
775
+ "cursor",
776
+ "defs",
777
+ "desc",
778
+ "ellipse",
779
+ "filter",
780
+ "font",
781
+ "foreignobject",
782
+ "g",
783
+ "image",
784
+ "line",
785
+ "lineargradient",
786
+ "marker",
787
+ "mask",
788
+ "metadata",
789
+ "path",
790
+ "pattern",
791
+ "polygon",
792
+ "polyline",
793
+ "radialgradient",
794
+ "rect",
795
+ "script",
796
+ "set",
797
+ "style",
798
+ "svg",
799
+ "switch",
800
+ "symbol",
801
+ "text",
802
+ "title",
803
+ "view"
804
+ ],
805
+ "switch": [
806
+ "a",
807
+ "animate",
808
+ "animatecolor",
809
+ "animatemotion",
810
+ "animatetransform",
811
+ "circle",
812
+ "desc",
813
+ "ellipse",
814
+ "foreignobject",
815
+ "g",
816
+ "image",
817
+ "line",
818
+ "metadata",
819
+ "path",
820
+ "polygon",
821
+ "polyline",
822
+ "rect",
823
+ "set",
824
+ "svg",
825
+ "switch",
826
+ "text",
827
+ "title",
828
+ "use"
829
+ ],
830
+ "symbol": [
831
+ "a",
832
+ "altglyphdef",
833
+ "animate",
834
+ "animatecolor",
835
+ "animatemotion",
836
+ "animatetransform",
837
+ "circle",
838
+ "clippath",
839
+ "cursor",
840
+ "defs",
841
+ "desc",
842
+ "ellipse",
843
+ "filter",
844
+ "font",
845
+ "foreignobject",
846
+ "g",
847
+ "image",
848
+ "line",
849
+ "lineargradient",
850
+ "marker",
851
+ "mask",
852
+ "metadata",
853
+ "path",
854
+ "pattern",
855
+ "polygon",
856
+ "polyline",
857
+ "radialgradient",
858
+ "rect",
859
+ "script",
860
+ "set",
861
+ "style",
862
+ "svg",
863
+ "switch",
864
+ "symbol",
865
+ "text",
866
+ "title",
867
+ "view"
868
+ ],
869
+ "text": [
870
+ "a",
871
+ "altglyph",
872
+ "animate",
873
+ "animatecolor",
874
+ "animatemotion",
875
+ "animatetransform",
876
+ "desc",
877
+ "metadata",
878
+ "set",
879
+ "textpath",
880
+ "title",
881
+ "tref",
882
+ "tspan"
883
+ ],
884
+ "textpath": [
885
+ "a",
886
+ "altglyph",
887
+ "animate",
888
+ "animatecolor",
889
+ "desc",
890
+ "metadata",
891
+ "set",
892
+ "title",
893
+ "tref",
894
+ "tspan"
895
+ ],
896
+ "tref": [
897
+ "animate",
898
+ "animatecolor",
899
+ "desc",
900
+ "metadata",
901
+ "set",
902
+ "title"
903
+ ],
904
+ "tspan": [
905
+ "a",
906
+ "altglyph",
907
+ "animate",
908
+ "animatecolor",
909
+ "desc",
910
+ "metadata",
911
+ "set",
912
+ "title",
913
+ "tref",
914
+ "tspan"
915
+ ],
916
+ "use": [
917
+ "animate",
918
+ "animatecolor",
919
+ "animatemotion",
920
+ "animatetransform",
921
+ "desc",
922
+ "metadata",
923
+ "set",
924
+ "title"
925
+ ],
926
+ "view": [
927
+ "desc",
928
+ "metadata",
929
+ "title"
930
+ ]
931
+ };
932
+
933
+ /**
934
+ * Elements with mixed content (can have text)
935
+ */
936
+ export const MIXED_CONTENT_ELEMENTS = new Set(['text', 'tspan', 'tref', 'textpath', 'altglyph', 'a', 'title', 'desc', 'metadata']);
937
+
938
+ /**
939
+ * SVG 2.0 elements (warn but don't auto-correct)
940
+ */
941
+ export const SVG2_ELEMENTS = new Set([
942
+ 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'solidcolor',
943
+ 'hatch', 'hatchpath', 'discard', 'unknown'
944
+ ]);