@markuplint/html-spec 2.0.0-dev.26 → 2.0.0-rc.5

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 (228) hide show
  1. package/index.json +8572 -5691
  2. package/package.json +5 -3
  3. package/src/aria-in-html/abbr.json +8 -0
  4. package/src/aria-in-html/address.json +8 -0
  5. package/src/aria-in-html/b.json +8 -0
  6. package/src/aria-in-html/base.json +8 -0
  7. package/src/aria-in-html/bdi.json +8 -0
  8. package/src/aria-in-html/bdo.json +8 -0
  9. package/src/aria-in-html/blockquote.json +8 -0
  10. package/src/aria-in-html/canvas.json +8 -0
  11. package/src/aria-in-html/caption.json +8 -0
  12. package/src/aria-in-html/cite.json +8 -0
  13. package/src/aria-in-html/code.json +8 -0
  14. package/src/aria-in-html/data.json +8 -0
  15. package/src/aria-in-html/del.json +8 -0
  16. package/src/aria-in-html/div.json +8 -0
  17. package/src/aria-in-html/em.json +8 -0
  18. package/src/aria-in-html/hgroup.json +8 -0
  19. package/src/aria-in-html/i.json +8 -0
  20. package/src/aria-in-html/ins.json +8 -0
  21. package/src/aria-in-html/kbd.json +8 -0
  22. package/src/aria-in-html/mark.json +8 -0
  23. package/src/aria-in-html/p.json +8 -0
  24. package/src/aria-in-html/pre.json +8 -0
  25. package/src/aria-in-html/q.json +8 -0
  26. package/src/aria-in-html/rp.json +8 -0
  27. package/src/aria-in-html/rt.json +8 -0
  28. package/src/aria-in-html/ruby.json +8 -0
  29. package/src/aria-in-html/s.json +8 -0
  30. package/src/aria-in-html/samp.json +8 -0
  31. package/src/aria-in-html/small.json +8 -0
  32. package/src/aria-in-html/span.json +8 -0
  33. package/src/aria-in-html/strong.json +8 -0
  34. package/src/aria-in-html/sub.json +8 -0
  35. package/src/aria-in-html/sup.json +8 -0
  36. package/src/aria-in-html/td.json +6 -2
  37. package/src/aria-in-html/time.json +8 -0
  38. package/src/aria-in-html/u.json +8 -0
  39. package/src/aria-in-html/var.json +8 -0
  40. package/src/aria-in-html/wbr.json +8 -0
  41. package/src/attributes/a.json +9 -40
  42. package/src/attributes/abbr.json +11 -0
  43. package/src/attributes/address.json +11 -0
  44. package/src/attributes/area.json +24 -44
  45. package/src/attributes/article.json +11 -0
  46. package/src/attributes/aside.json +11 -0
  47. package/src/attributes/audio.json +10 -32
  48. package/src/attributes/b.json +11 -0
  49. package/src/attributes/base.json +9 -13
  50. package/src/attributes/bdi.json +11 -0
  51. package/src/attributes/bdo.json +8 -8
  52. package/src/attributes/blockquote.json +11 -4
  53. package/src/attributes/body.json +57 -50
  54. package/src/attributes/br.json +11 -0
  55. package/src/attributes/button.json +27 -44
  56. package/src/attributes/canvas.json +16 -8
  57. package/src/attributes/caption.json +11 -0
  58. package/src/attributes/cite.json +11 -0
  59. package/src/attributes/code.json +11 -0
  60. package/src/attributes/col.json +18 -5
  61. package/src/attributes/colgroup.json +18 -5
  62. package/src/attributes/data.json +12 -5
  63. package/src/attributes/datalist.json +11 -0
  64. package/src/attributes/dd.json +11 -0
  65. package/src/attributes/del.json +14 -7
  66. package/src/attributes/details.json +11 -9
  67. package/src/attributes/dfn.json +11 -0
  68. package/src/attributes/dialog.json +15 -4
  69. package/src/attributes/div.json +11 -0
  70. package/src/attributes/dl.json +11 -0
  71. package/src/attributes/dt.json +11 -0
  72. package/src/attributes/em.json +11 -0
  73. package/src/attributes/embed.json +22 -16
  74. package/src/attributes/fieldset.json +9 -14
  75. package/src/attributes/figcaption.json +11 -0
  76. package/src/attributes/figure.json +11 -0
  77. package/src/attributes/footer.json +11 -0
  78. package/src/attributes/form.json +62 -29
  79. package/src/attributes/h1.json +11 -0
  80. package/src/attributes/h2.json +11 -0
  81. package/src/attributes/h3.json +11 -0
  82. package/src/attributes/h4.json +11 -0
  83. package/src/attributes/h5.json +11 -0
  84. package/src/attributes/h6.json +11 -0
  85. package/src/attributes/head.json +11 -0
  86. package/src/attributes/header.json +11 -0
  87. package/src/attributes/hgroup.json +11 -0
  88. package/src/attributes/hr.json +11 -0
  89. package/src/attributes/html.json +11 -0
  90. package/src/attributes/i.json +11 -0
  91. package/src/attributes/iframe.json +51 -57
  92. package/src/attributes/img.json +31 -50
  93. package/src/attributes/input.json +138 -121
  94. package/src/attributes/ins.json +14 -7
  95. package/src/attributes/kbd.json +11 -0
  96. package/src/attributes/label.json +11 -8
  97. package/src/attributes/legend.json +11 -0
  98. package/src/attributes/li.json +12 -5
  99. package/src/attributes/link.json +110 -51
  100. package/src/attributes/main.json +11 -0
  101. package/src/attributes/map.json +13 -5
  102. package/src/attributes/mark.json +11 -0
  103. package/src/attributes/math.json +8 -0
  104. package/src/attributes/menu.json +11 -0
  105. package/src/attributes/meta.json +36 -21
  106. package/src/attributes/meter.json +27 -20
  107. package/src/attributes/nav.json +11 -0
  108. package/src/attributes/noscript.json +11 -0
  109. package/src/attributes/object.json +20 -27
  110. package/src/attributes/ol.json +19 -9
  111. package/src/attributes/optgroup.json +13 -9
  112. package/src/attributes/option.json +18 -14
  113. package/src/attributes/output.json +12 -12
  114. package/src/attributes/p.json +11 -0
  115. package/src/attributes/param.json +17 -8
  116. package/src/attributes/picture.json +11 -0
  117. package/src/attributes/portal.json +17 -8
  118. package/src/attributes/pre.json +11 -0
  119. package/src/attributes/progress.json +16 -8
  120. package/src/attributes/q.json +11 -4
  121. package/src/attributes/rp.json +11 -0
  122. package/src/attributes/rt.json +11 -0
  123. package/src/attributes/ruby.json +11 -0
  124. package/src/attributes/s.json +11 -0
  125. package/src/attributes/samp.json +11 -0
  126. package/src/attributes/script.json +48 -27
  127. package/src/attributes/section.json +11 -0
  128. package/src/attributes/select.json +17 -29
  129. package/src/attributes/slot.json +12 -5
  130. package/src/attributes/small.json +11 -0
  131. package/src/attributes/source.json +34 -16
  132. package/src/attributes/span.json +11 -0
  133. package/src/attributes/strong.json +11 -0
  134. package/src/attributes/style.json +12 -5
  135. package/src/attributes/sub.json +11 -0
  136. package/src/attributes/summary.json +11 -0
  137. package/src/attributes/sup.json +11 -0
  138. package/src/attributes/svg_a.json +82 -47
  139. package/src/attributes/svg_animate.json +94 -13
  140. package/src/attributes/svg_animateMotion.json +36 -32
  141. package/src/attributes/svg_animateTransform.json +27 -14
  142. package/src/attributes/svg_circle.json +88 -26
  143. package/src/attributes/svg_clipPath.json +79 -15
  144. package/src/attributes/svg_defs.json +77 -1
  145. package/src/attributes/svg_desc.json +7 -1
  146. package/src/attributes/svg_discard.json +13 -10
  147. package/src/attributes/svg_ellipse.json +89 -27
  148. package/src/attributes/svg_feBlend.json +89 -40
  149. package/src/attributes/svg_feColorMatrix.json +86 -38
  150. package/src/attributes/svg_feComponentTransfer.json +76 -31
  151. package/src/attributes/svg_feComposite.json +114 -56
  152. package/src/attributes/svg_feConvolveMatrix.json +119 -62
  153. package/src/attributes/svg_feDiffuseLighting.json +91 -42
  154. package/src/attributes/svg_feDisplacementMap.json +101 -47
  155. package/src/attributes/svg_feDistantLight.json +16 -11
  156. package/src/attributes/svg_feDropShadow.json +92 -43
  157. package/src/attributes/svg_feFlood.json +83 -37
  158. package/src/attributes/svg_feFuncA.json +6 -10
  159. package/src/attributes/svg_feFuncB.json +6 -10
  160. package/src/attributes/svg_feFuncG.json +6 -10
  161. package/src/attributes/svg_feFuncR.json +6 -10
  162. package/src/attributes/svg_feGaussianBlur.json +86 -38
  163. package/src/attributes/svg_feImage.json +98 -31
  164. package/src/attributes/svg_feMerge.json +76 -15
  165. package/src/attributes/svg_feMergeNode.json +6 -19
  166. package/src/attributes/svg_feMorphology.json +88 -39
  167. package/src/attributes/svg_feOffset.json +87 -39
  168. package/src/attributes/svg_fePointLight.json +21 -15
  169. package/src/attributes/svg_feSpecularLighting.json +96 -47
  170. package/src/attributes/svg_feSpotLight.json +52 -58
  171. package/src/attributes/svg_feTile.json +76 -31
  172. package/src/attributes/svg_feTurbulence.json +101 -33
  173. package/src/attributes/svg_filter.json +103 -27
  174. package/src/attributes/svg_foreignObject.json +84 -38
  175. package/src/attributes/svg_g.json +80 -8
  176. package/src/attributes/svg_hatch.json +103 -29
  177. package/src/attributes/svg_hatchpath.json +79 -11
  178. package/src/attributes/svg_image.json +98 -46
  179. package/src/attributes/svg_line.json +105 -27
  180. package/src/attributes/svg_linearGradient.json +118 -37
  181. package/src/attributes/svg_marker.json +125 -44
  182. package/src/attributes/svg_mask.json +89 -22
  183. package/src/attributes/svg_mesh.json +83 -10
  184. package/src/attributes/svg_meshgradient.json +22 -29
  185. package/src/attributes/svg_meshpatch.json +76 -1
  186. package/src/attributes/svg_meshrow.json +76 -1
  187. package/src/attributes/svg_metadata.json +7 -1
  188. package/src/attributes/svg_mpath.json +11 -8
  189. package/src/attributes/svg_path.json +87 -15
  190. package/src/attributes/svg_pattern.json +110 -46
  191. package/src/attributes/svg_polygon.json +89 -14
  192. package/src/attributes/svg_polyline.json +89 -14
  193. package/src/attributes/svg_radialGradient.json +132 -49
  194. package/src/attributes/svg_rect.json +91 -51
  195. package/src/attributes/svg_script.json +20 -17
  196. package/src/attributes/svg_set.json +27 -13
  197. package/src/attributes/svg_stop.json +93 -18
  198. package/src/attributes/svg_style.json +16 -13
  199. package/src/attributes/svg_svg.json +115 -62
  200. package/src/attributes/svg_switch.json +80 -8
  201. package/src/attributes/svg_symbol.json +27 -44
  202. package/src/attributes/svg_text.json +115 -32
  203. package/src/attributes/svg_textPath.json +124 -37
  204. package/src/attributes/svg_title.json +7 -1
  205. package/src/attributes/svg_tspan.json +111 -32
  206. package/src/attributes/svg_use.json +88 -46
  207. package/src/attributes/svg_view.json +21 -17
  208. package/src/attributes/table.json +11 -0
  209. package/src/attributes/tbody.json +11 -0
  210. package/src/attributes/td.json +9 -14
  211. package/src/attributes/template.json +11 -0
  212. package/src/attributes/textarea.json +42 -50
  213. package/src/attributes/tfoot.json +11 -0
  214. package/src/attributes/th.json +18 -20
  215. package/src/attributes/thead.json +11 -0
  216. package/src/attributes/time.json +12 -23
  217. package/src/attributes/title.json +11 -0
  218. package/src/attributes/tr.json +11 -0
  219. package/src/attributes/track.json +38 -0
  220. package/src/attributes/u.json +11 -0
  221. package/src/attributes/ul.json +11 -0
  222. package/src/attributes/var.json +11 -0
  223. package/src/attributes/video.json +34 -48
  224. package/src/attributes/wbr.json +11 -0
  225. package/src/global-attributes/_global.json +1362 -1161
  226. package/src/permitted-structures/svg_a.json +1 -1
  227. package/src/structure.test.ts +64 -0
  228. package/src/attributes/_custom.json +0 -10
@@ -1,22 +1,25 @@
1
1
  {
2
2
  "tag": "style",
3
- "attributes": [
4
- "#SVGCoreAttrs",
5
- "#SVGGlobalEventAttrs",
6
- "#SVGDocumentElementEventAttrs",
7
- {
8
- "name": "type",
3
+ "ref": "https://svgwg.org/svg2-draft/styling.html#StyleElement",
4
+ "global": {
5
+ "#GlobalEventAttrs": true,
6
+ "#DocumentElementEventAttrs": true,
7
+ "#SVGCoreAttrs": ["id", "tabindex", "autofocus", "lang", "xml:space", "class", "style"]
8
+ },
9
+ "attributes": {
10
+ "type": {
11
+ "ref": "https://svgwg.org/svg2-draft/styling.html#StyleElementTypeAttribute",
9
12
  "type": "MIMEType",
10
13
  "defaultValue": "text/css"
11
14
  },
12
- {
13
- "name": "media",
14
- "type": "String",
15
+ "media": {
16
+ "ref": "https://svgwg.org/svg2-draft/styling.html#StyleElementMediaAttribute",
17
+ "type": "<media-query-list>",
15
18
  "defaultValue": "all"
16
19
  },
17
- {
18
- "name": "title",
19
- "type": "String"
20
+ "title": {
21
+ "ref": "https://svgwg.org/svg2-draft/styling.html#StyleElementTitleAttribute",
22
+ "type": "Any"
20
23
  }
21
- ]
24
+ }
22
25
  }
@@ -1,81 +1,134 @@
1
1
  {
2
2
  "tag": "svg",
3
- "attributes": [
4
- "#ariaAttrs",
5
- "#SVGConditionalProcessingAttrs",
6
- "#SVGCoreAttrs",
7
- "#SVGDocumentEventAttrs",
8
- "#SVGGlobalEventAttrs",
9
- "#SVGDocumentElementEventAttrs",
10
- "#SVGPresentationAttrs",
11
- {
12
- "name": "viewBox",
13
- "type": "SVGViewBox"
3
+ "ref": "https://svgwg.org/svg2-draft/struct.html#SVGElement",
4
+ "global": {
5
+ "#HTMLGlobalAttrs": true,
6
+ "#GlobalEventAttrs": true,
7
+ "#DocumentElementEventAttrs": true,
8
+ "#ARIAAttrs": true,
9
+ "#SVGConditionalProcessingAttrs": ["requiredExtensions", "systemLanguage"],
10
+ "#SVGCoreAttrs": ["id", "tabindex", "autofocus", "lang", "xml:space", "class", "style", "xmlns"],
11
+ "#SVGPresentationAttrs": [
12
+ "transform",
13
+ "x",
14
+ "y",
15
+ "width",
16
+ "height",
17
+ "alignment-baseline",
18
+ "baseline-shift",
19
+ "clip",
20
+ "clip-path",
21
+ "clip-rule",
22
+ "color",
23
+ "color-interpolation",
24
+ "color-interpolation-filters",
25
+ "color-rendering",
26
+ "cursor",
27
+ "direction",
28
+ "display",
29
+ "dominant-baseline",
30
+ "enable-background",
31
+ "fill",
32
+ "fill-opacity",
33
+ "fill-rule",
34
+ "filter",
35
+ "flood-color",
36
+ "flood-opacity",
37
+ "font",
38
+ "font-family",
39
+ "font-size",
40
+ "font-size-adjust",
41
+ "font-stretch",
42
+ "font-style",
43
+ "font-variant",
44
+ "font-weight",
45
+ "glyph-orientation-horizontal",
46
+ "glyph-orientation-vertical",
47
+ "image-rendering",
48
+ "isolation",
49
+ "kerning",
50
+ "letter-spacing",
51
+ "lighting-color",
52
+ "marker",
53
+ "marker-end",
54
+ "marker-mid",
55
+ "marker-start",
56
+ "mask",
57
+ "mask-type",
58
+ "opacity",
59
+ "overflow",
60
+ "paint-order",
61
+ "pointer-events",
62
+ "shape-rendering",
63
+ "stop-color",
64
+ "stop-opacity",
65
+ "stroke",
66
+ "stroke-dasharray",
67
+ "stroke-dashoffset",
68
+ "stroke-linecap",
69
+ "stroke-linejoin",
70
+ "stroke-miterlimit",
71
+ "stroke-opacity",
72
+ "stroke-width",
73
+ "text-anchor",
74
+ "text-decoration",
75
+ "text-overflow",
76
+ "text-rendering",
77
+ "transform",
78
+ "transform-origin",
79
+ "unicode-bidi",
80
+ "vector-effect",
81
+ "visibility",
82
+ "white-space",
83
+ "word-spacing",
84
+ "writing-mode"
85
+ ]
86
+ },
87
+ "attributes": {
88
+ "viewBox": {
89
+ "ref": "https://svgwg.org/svg2-draft/coords.html#ViewBoxAttribute",
90
+ "type": "<view-box>",
91
+ "animatable": true
14
92
  },
15
- {
16
- "name": "preserveAspectRatio",
17
- "type": "SVGPreserveAspectRatio",
18
- "defaultValue": "xMidYMid meet"
93
+ "preserveAspectRatio": {
94
+ "ref": "https://svgwg.org/svg2-draft/coords.html#PreserveAspectRatioAttribute",
95
+ "type": "<preserve-aspect-ratio>",
96
+ "defaultValue": "xMidYMid meet",
97
+ "animatable": true
19
98
  },
20
- {
21
- "name": "transform",
22
- "type": "CSSTransformList"
23
- },
24
- {
25
- "name": "x",
26
- "defaultValue": "0"
27
- },
28
- {
29
- "name": "y",
30
- "defaultValue": "0"
31
- },
32
- {
33
- "name": "width",
34
- "type": [
35
- "SVGLength",
36
- "SVGPercentage",
37
- {
38
- "enum": ["auto"]
39
- }
40
- ],
99
+ "width": {
100
+ "ref": "https://drafts.fxtf.org/filter-effects/#element-attrdef-filter-primitive-width",
41
101
  "defaultValue": "auto"
42
102
  },
43
- {
44
- "name": "height",
45
- "type": [
46
- "SVGLength",
47
- "SVGPercentage",
48
- {
49
- "enum": ["auto"]
50
- }
51
- ],
103
+ "height": {
104
+ "ref": "https://drafts.fxtf.org/filter-effects/#element-attrdef-filter-primitive-height",
52
105
  "defaultValue": "auto"
53
106
  },
54
- {
55
- "name": "baseProfile",
56
- "type": "String",
107
+ "onunload": {
108
+ "ref": "https://html.spec.whatwg.org/multipage/webappapis.html#handler-window-onunload",
109
+ "type": "FunctionBody"
110
+ },
111
+ "baseProfile": {
112
+ "ref": "https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/baseProfile",
113
+ "type": "Any",
57
114
  "deprecated": true
58
115
  },
59
- {
60
- "name": "contentScriptType",
61
- "type": "String",
116
+ "contentScriptType": {
117
+ "ref": "https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/contentScriptType",
118
+ "type": "Any",
62
119
  "defaultValue": "application/ecmascript",
63
120
  "deprecated": true
64
121
  },
65
- {
66
- "name": "contentStyleType",
67
- "type": "String",
122
+ "contentStyleType": {
123
+ "ref": "https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/contentStyleType",
124
+ "type": "Any",
68
125
  "defaultValue": "text/css",
69
126
  "deprecated": true
70
127
  },
71
- {
72
- "name": "version",
73
- "type": "String",
128
+ "version": {
129
+ "ref": "https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/version",
130
+ "type": "Any",
74
131
  "deprecated": true
75
- },
76
- {
77
- "name": "xmlns",
78
- "type": "URL"
79
132
  }
80
- ]
133
+ }
81
134
  }
@@ -1,11 +1,83 @@
1
1
  {
2
2
  "tag": "switch",
3
- "attributes": [
4
- "#ariaAttrs",
5
- "#SVGConditionalProcessingAttrs",
6
- "#SVGCoreAttrs",
7
- "#SVGGlobalEventAttrs",
8
- "#SVGDocumentElementEventAttrs",
9
- "#SVGPresentationAttrs"
10
- ]
3
+ "ref": "https://svgwg.org/svg2-draft/struct.html#SwitchElement",
4
+ "global": {
5
+ "#HTMLGlobalAttrs": true,
6
+ "#GlobalEventAttrs": true,
7
+ "#DocumentElementEventAttrs": true,
8
+ "#ARIAAttrs": true,
9
+ "#SVGConditionalProcessingAttrs": ["requiredExtensions", "systemLanguage"],
10
+ "#SVGCoreAttrs": ["id", "tabindex", "autofocus", "lang", "xml:space", "class", "style"],
11
+ "#SVGPresentationAttrs": [
12
+ "alignment-baseline",
13
+ "baseline-shift",
14
+ "clip",
15
+ "clip-path",
16
+ "clip-rule",
17
+ "color",
18
+ "color-interpolation",
19
+ "color-interpolation-filters",
20
+ "color-rendering",
21
+ "cursor",
22
+ "direction",
23
+ "display",
24
+ "dominant-baseline",
25
+ "enable-background",
26
+ "fill",
27
+ "fill-opacity",
28
+ "fill-rule",
29
+ "filter",
30
+ "flood-color",
31
+ "flood-opacity",
32
+ "font",
33
+ "font-family",
34
+ "font-size",
35
+ "font-size-adjust",
36
+ "font-stretch",
37
+ "font-style",
38
+ "font-variant",
39
+ "font-weight",
40
+ "glyph-orientation-horizontal",
41
+ "glyph-orientation-vertical",
42
+ "image-rendering",
43
+ "isolation",
44
+ "kerning",
45
+ "letter-spacing",
46
+ "lighting-color",
47
+ "marker",
48
+ "marker-end",
49
+ "marker-mid",
50
+ "marker-start",
51
+ "mask",
52
+ "mask-type",
53
+ "opacity",
54
+ "overflow",
55
+ "paint-order",
56
+ "pointer-events",
57
+ "shape-rendering",
58
+ "stop-color",
59
+ "stop-opacity",
60
+ "stroke",
61
+ "stroke-dasharray",
62
+ "stroke-dashoffset",
63
+ "stroke-linecap",
64
+ "stroke-linejoin",
65
+ "stroke-miterlimit",
66
+ "stroke-opacity",
67
+ "stroke-width",
68
+ "text-anchor",
69
+ "text-decoration",
70
+ "text-overflow",
71
+ "text-rendering",
72
+ "transform",
73
+ "transform-origin",
74
+ "unicode-bidi",
75
+ "vector-effect",
76
+ "visibility",
77
+ "white-space",
78
+ "word-spacing",
79
+ "writing-mode"
80
+ ]
81
+ },
82
+ "attributes": {}
11
83
  }
@@ -1,64 +1,47 @@
1
1
  {
2
2
  "tag": "symbol",
3
- "attributes": [
4
- "#ariaAttrs",
5
- "#SVGCoreAttrs",
6
- "#SVGGlobalEventAttrs",
7
- "#SVGDocumentEventAttrs",
8
- "#SVGPresentationAttrs",
9
- {
10
- "name": "preserveAspectRatio",
11
- "type": "SVGPreserveAspectRatio",
3
+ "ref": "https://svgwg.org/svg2-draft/struct.html#SymbolElement",
4
+ "global": {
5
+ "#HTMLGlobalAttrs": true,
6
+ "#GlobalEventAttrs": true,
7
+ "#DocumentElementEventAttrs": true,
8
+ "#ARIAAttrs": true,
9
+ "#SVGCoreAttrs": ["id", "tabindex", "autofocus", "lang", "xml:space", "class", "style"],
10
+ "#SVGPresentationAttrs": ["x", "y", "width", "height"]
11
+ },
12
+ "attributes": {
13
+ "preserveAspectRatio": {
14
+ "ref": "https://svgwg.org/svg2-draft/coords.html#PreserveAspectRatioAttribute",
15
+ "type": "<preserve-aspect-ratio>",
12
16
  "defaultValue": "xMidYMid meet"
13
17
  },
14
- {
15
- "name": "viewBox",
16
- "type": "SVGViewBox"
18
+ "viewBox": {
19
+ "ref": "https://svgwg.org/svg2-draft/coords.html#ViewBoxAttribute",
20
+ "type": "<view-box>"
17
21
  },
18
-
19
- {
20
- "name": "refX",
22
+ "refX": {
23
+ "ref": "https://svgwg.org/svg2-draft/struct.html#SymbolElementRefXAttribute",
21
24
  "type": [
22
- "SVGLength",
23
- "SVGPercentage",
24
- "Float",
25
+ "<svg-length>",
26
+ "<percentage>",
27
+ "<number>",
25
28
  {
26
29
  "enum": ["left", "center", "right"]
27
30
  }
28
31
  ],
29
32
  "defaultValue": "0"
30
33
  },
31
- {
32
- "name": "refY",
34
+ "refY": {
35
+ "ref": "https://svgwg.org/svg2-draft/struct.html#SymbolElementRefYAttribute",
33
36
  "type": [
34
- "SVGLength",
35
- "SVGPercentage",
36
- "Float",
37
+ "<svg-length>",
38
+ "<percentage>",
39
+ "<number>",
37
40
  {
38
41
  "enum": ["top", "center", "bottom"]
39
42
  }
40
43
  ],
41
44
  "defaultValue": "0"
42
- },
43
- {
44
- "name": "x",
45
- "type": ["SVGLength", "SVGPercentage"],
46
- "defaultValue": "0"
47
- },
48
- {
49
- "name": "y",
50
- "type": ["SVGLength", "SVGPercentage"],
51
- "defaultValue": "0"
52
- },
53
- {
54
- "name": "width",
55
- "type": [{ "enum": ["auto"] }, "SVGLength", "SVGPercentage"],
56
- "defaultValue": "auto"
57
- },
58
- {
59
- "name": "height",
60
- "type": [{ "enum": ["auto"] }, "SVGLength", "SVGPercentage"],
61
- "defaultValue": "auto"
62
45
  }
63
- ]
46
+ }
64
47
  }
@@ -1,42 +1,125 @@
1
1
  {
2
2
  "tag": "text",
3
- "attributes": [
4
- "#ariaAttrs",
5
- "#SVGConditionalProcessingAttrs",
6
- "#SVGCoreAttrs",
7
- "#SVGGlobalEventAttrs",
8
- "#SVGDocumentElementEventAttrs",
9
- "#SVGPresentationAttrs",
10
- {
11
- "name": "lengthAdjust",
12
- "type": { "enum": ["spacing", "spacingAndGlyphs"] },
13
- "defaultValue": "spacing"
3
+ "ref": "https://svgwg.org/svg2-draft/text.html#TextElement",
4
+ "global": {
5
+ "#HTMLGlobalAttrs": true,
6
+ "#GlobalEventAttrs": true,
7
+ "#DocumentElementEventAttrs": true,
8
+ "#ARIAAttrs": true,
9
+ "#SVGConditionalProcessingAttrs": ["requiredExtensions", "systemLanguage"],
10
+ "#SVGCoreAttrs": ["id", "tabindex", "autofocus", "lang", "xml:space", "class", "style"],
11
+ "#SVGPresentationAttrs": [
12
+ "alignment-baseline",
13
+ "baseline-shift",
14
+ "clip",
15
+ "clip-path",
16
+ "clip-rule",
17
+ "color",
18
+ "color-interpolation",
19
+ "color-interpolation-filters",
20
+ "color-rendering",
21
+ "cursor",
22
+ "direction",
23
+ "display",
24
+ "dominant-baseline",
25
+ "enable-background",
26
+ "fill",
27
+ "fill-opacity",
28
+ "fill-rule",
29
+ "filter",
30
+ "flood-color",
31
+ "flood-opacity",
32
+ "font",
33
+ "font-family",
34
+ "font-size",
35
+ "font-size-adjust",
36
+ "font-stretch",
37
+ "font-style",
38
+ "font-variant",
39
+ "font-weight",
40
+ "glyph-orientation-horizontal",
41
+ "glyph-orientation-vertical",
42
+ "image-rendering",
43
+ "isolation",
44
+ "kerning",
45
+ "letter-spacing",
46
+ "lighting-color",
47
+ "marker",
48
+ "marker-end",
49
+ "marker-mid",
50
+ "marker-start",
51
+ "mask",
52
+ "mask-type",
53
+ "opacity",
54
+ "overflow",
55
+ "paint-order",
56
+ "pointer-events",
57
+ "shape-rendering",
58
+ "stop-color",
59
+ "stop-opacity",
60
+ "stroke",
61
+ "stroke-dasharray",
62
+ "stroke-dashoffset",
63
+ "stroke-linecap",
64
+ "stroke-linejoin",
65
+ "stroke-miterlimit",
66
+ "stroke-opacity",
67
+ "stroke-width",
68
+ "text-anchor",
69
+ "text-decoration",
70
+ "text-overflow",
71
+ "text-rendering",
72
+ "transform",
73
+ "transform-origin",
74
+ "unicode-bidi",
75
+ "vector-effect",
76
+ "visibility",
77
+ "white-space",
78
+ "word-spacing",
79
+ "writing-mode"
80
+ ]
81
+ },
82
+ "attributes": {
83
+ "lengthAdjust": {
84
+ "ref": "https://svgwg.org/svg2-draft/text.html#TextElementLengthAdjustAttribute",
85
+ "type": {
86
+ "enum": ["spacing", "spacingAndGlyphs"],
87
+ "disallowToSurroundBySpaces": false
88
+ },
89
+ "defaultValue": "spacing",
90
+ "animatable": true
14
91
  },
15
- {
16
- "name": "x",
17
- "type": ["SVGLengthList", "SVGPercentageList"],
18
- "defaultValue": "0"
92
+ "x": {
93
+ "ref": "https://svgwg.org/svg2-draft/text.html#TextElementXAttribute",
94
+ "type": "<text-coordinate>",
95
+ "defaultValue": "0",
96
+ "animatable": true
19
97
  },
20
- {
21
- "name": "y",
22
- "type": ["SVGLengthList", "SVGPercentageList"],
23
- "defaultValue": "0"
98
+ "y": {
99
+ "ref": "https://svgwg.org/svg2-draft/text.html#TextElementYAttribute",
100
+ "type": "<text-coordinate>",
101
+ "defaultValue": "0",
102
+ "animatable": true
24
103
  },
25
- {
26
- "name": "dx",
27
- "type": ["SVGLength", "SVGPercentage"]
104
+ "dx": {
105
+ "ref": "https://svgwg.org/svg2-draft/text.html#TextElementDXAttribute",
106
+ "type": "<text-coordinate>",
107
+ "animatable": true
28
108
  },
29
- {
30
- "name": "dy",
31
- "type": ["SVGLength", "SVGPercentage"]
109
+ "dy": {
110
+ "ref": "https://svgwg.org/svg2-draft/text.html#TextElementDYAttribute",
111
+ "type": "<text-coordinate>",
112
+ "animatable": true
32
113
  },
33
- {
34
- "name": "rotate",
35
- "type": "String"
114
+ "rotate": {
115
+ "ref": "https://svgwg.org/svg2-draft/text.html#TextElementRotateAttribute",
116
+ "type": "<list-of-numbers>",
117
+ "animatable": true
36
118
  },
37
- {
38
- "name": "textLength",
39
- "type": ["SVGLength", "SVGPercentage", "Float"]
119
+ "textLength": {
120
+ "ref": "https://svgwg.org/svg2-draft/text.html#TextElementTextLengthAttribute",
121
+ "type": ["<svg-length>", "<percentage>"],
122
+ "animatable": true
40
123
  }
41
- ]
124
+ }
42
125
  }