parse5 6.0.1 → 7.0.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 (86) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/common/doctype.d.ts +5 -0
  3. package/dist/cjs/common/doctype.js +120 -0
  4. package/dist/cjs/common/error-codes.d.ts +68 -0
  5. package/dist/cjs/common/error-codes.js +67 -0
  6. package/dist/cjs/common/foreign-content.d.ts +10 -0
  7. package/dist/cjs/common/foreign-content.js +239 -0
  8. package/dist/cjs/common/html.d.ts +288 -0
  9. package/dist/cjs/common/html.js +529 -0
  10. package/dist/cjs/common/token.d.ts +85 -0
  11. package/dist/cjs/common/token.js +25 -0
  12. package/dist/cjs/common/unicode.d.ts +49 -0
  13. package/dist/cjs/common/unicode.js +77 -0
  14. package/dist/cjs/index.d.ts +60 -0
  15. package/dist/cjs/index.js +55 -0
  16. package/dist/cjs/package.json +1 -0
  17. package/dist/cjs/parser/formatting-element-list.d.ts +32 -0
  18. package/dist/cjs/parser/formatting-element-list.js +110 -0
  19. package/dist/cjs/parser/index.d.ts +157 -0
  20. package/dist/cjs/parser/index.js +3049 -0
  21. package/dist/cjs/parser/open-element-stack.d.ts +53 -0
  22. package/dist/cjs/parser/open-element-stack.js +316 -0
  23. package/dist/cjs/serializer/index.d.ts +61 -0
  24. package/dist/cjs/serializer/index.js +173 -0
  25. package/dist/cjs/tokenizer/index.d.ts +250 -0
  26. package/dist/cjs/tokenizer/index.js +2921 -0
  27. package/dist/cjs/tokenizer/preprocessor.d.ts +37 -0
  28. package/dist/cjs/tokenizer/preprocessor.js +198 -0
  29. package/dist/cjs/tree-adapters/default.d.ts +92 -0
  30. package/dist/cjs/tree-adapters/default.js +185 -0
  31. package/dist/cjs/tree-adapters/interface.d.ts +250 -0
  32. package/dist/cjs/tree-adapters/interface.js +3 -0
  33. package/dist/common/doctype.d.ts +5 -0
  34. package/{lib → dist}/common/doctype.js +25 -72
  35. package/dist/common/error-codes.d.ts +68 -0
  36. package/dist/common/error-codes.js +64 -0
  37. package/dist/common/foreign-content.d.ts +10 -0
  38. package/dist/common/foreign-content.js +230 -0
  39. package/dist/common/html.d.ts +288 -0
  40. package/dist/common/html.js +523 -0
  41. package/dist/common/token.d.ts +85 -0
  42. package/dist/common/token.js +21 -0
  43. package/dist/common/unicode.d.ts +49 -0
  44. package/dist/common/unicode.js +69 -0
  45. package/dist/index.d.ts +60 -0
  46. package/dist/index.js +44 -0
  47. package/dist/parser/formatting-element-list.d.ts +32 -0
  48. package/dist/parser/formatting-element-list.js +106 -0
  49. package/dist/parser/index.d.ts +157 -0
  50. package/dist/parser/index.js +3054 -0
  51. package/dist/parser/open-element-stack.d.ts +53 -0
  52. package/dist/parser/open-element-stack.js +312 -0
  53. package/dist/serializer/index.d.ts +61 -0
  54. package/dist/serializer/index.js +168 -0
  55. package/dist/tokenizer/index.d.ts +250 -0
  56. package/dist/tokenizer/index.js +2917 -0
  57. package/dist/tokenizer/preprocessor.d.ts +37 -0
  58. package/dist/tokenizer/preprocessor.js +194 -0
  59. package/dist/tree-adapters/default.d.ts +92 -0
  60. package/dist/tree-adapters/default.js +182 -0
  61. package/dist/tree-adapters/interface.d.ts +250 -0
  62. package/dist/tree-adapters/interface.js +2 -0
  63. package/package.json +19 -5
  64. package/lib/common/error-codes.js +0 -65
  65. package/lib/common/foreign-content.js +0 -265
  66. package/lib/common/html.js +0 -272
  67. package/lib/common/unicode.js +0 -109
  68. package/lib/extensions/error-reporting/mixin-base.js +0 -43
  69. package/lib/extensions/error-reporting/parser-mixin.js +0 -52
  70. package/lib/extensions/error-reporting/preprocessor-mixin.js +0 -24
  71. package/lib/extensions/error-reporting/tokenizer-mixin.js +0 -17
  72. package/lib/extensions/location-info/open-element-stack-mixin.js +0 -35
  73. package/lib/extensions/location-info/parser-mixin.js +0 -223
  74. package/lib/extensions/location-info/tokenizer-mixin.js +0 -146
  75. package/lib/extensions/position-tracking/preprocessor-mixin.js +0 -64
  76. package/lib/index.js +0 -29
  77. package/lib/parser/formatting-element-list.js +0 -181
  78. package/lib/parser/index.js +0 -2956
  79. package/lib/parser/open-element-stack.js +0 -482
  80. package/lib/serializer/index.js +0 -176
  81. package/lib/tokenizer/index.js +0 -2196
  82. package/lib/tokenizer/named-entity-data.js +0 -5
  83. package/lib/tokenizer/preprocessor.js +0 -159
  84. package/lib/tree-adapters/default.js +0 -221
  85. package/lib/utils/merge-options.js +0 -13
  86. package/lib/utils/mixin.js +0 -39
@@ -0,0 +1,230 @@
1
+ import { TAG_ID as $, NS, ATTRS, getTagID } from './html.js';
2
+ //MIME types
3
+ const MIME_TYPES = {
4
+ TEXT_HTML: 'text/html',
5
+ APPLICATION_XML: 'application/xhtml+xml',
6
+ };
7
+ //Attributes
8
+ const DEFINITION_URL_ATTR = 'definitionurl';
9
+ const ADJUSTED_DEFINITION_URL_ATTR = 'definitionURL';
10
+ const SVG_ATTRS_ADJUSTMENT_MAP = new Map([
11
+ 'attributeName',
12
+ 'attributeType',
13
+ 'baseFrequency',
14
+ 'baseProfile',
15
+ 'calcMode',
16
+ 'clipPathUnits',
17
+ 'diffuseConstant',
18
+ 'edgeMode',
19
+ 'filterUnits',
20
+ 'glyphRef',
21
+ 'gradientTransform',
22
+ 'gradientUnits',
23
+ 'kernelMatrix',
24
+ 'kernelUnitLength',
25
+ 'keyPoints',
26
+ 'keySplines',
27
+ 'keyTimes',
28
+ 'lengthAdjust',
29
+ 'limitingConeAngle',
30
+ 'markerHeight',
31
+ 'markerUnits',
32
+ 'markerWidth',
33
+ 'maskContentUnits',
34
+ 'maskUnits',
35
+ 'numOctaves',
36
+ 'pathLength',
37
+ 'patternContentUnits',
38
+ 'patternTransform',
39
+ 'patternUnits',
40
+ 'pointsAtX',
41
+ 'pointsAtY',
42
+ 'pointsAtZ',
43
+ 'preserveAlpha',
44
+ 'preserveAspectRatio',
45
+ 'primitiveUnits',
46
+ 'refX',
47
+ 'refY',
48
+ 'repeatCount',
49
+ 'repeatDur',
50
+ 'requiredExtensions',
51
+ 'requiredFeatures',
52
+ 'specularConstant',
53
+ 'specularExponent',
54
+ 'spreadMethod',
55
+ 'startOffset',
56
+ 'stdDeviation',
57
+ 'stitchTiles',
58
+ 'surfaceScale',
59
+ 'systemLanguage',
60
+ 'tableValues',
61
+ 'targetX',
62
+ 'targetY',
63
+ 'textLength',
64
+ 'viewBox',
65
+ 'viewTarget',
66
+ 'xChannelSelector',
67
+ 'yChannelSelector',
68
+ 'zoomAndPan',
69
+ ].map((attr) => [attr.toLowerCase(), attr]));
70
+ const XML_ATTRS_ADJUSTMENT_MAP = new Map([
71
+ ['xlink:actuate', { prefix: 'xlink', name: 'actuate', namespace: NS.XLINK }],
72
+ ['xlink:arcrole', { prefix: 'xlink', name: 'arcrole', namespace: NS.XLINK }],
73
+ ['xlink:href', { prefix: 'xlink', name: 'href', namespace: NS.XLINK }],
74
+ ['xlink:role', { prefix: 'xlink', name: 'role', namespace: NS.XLINK }],
75
+ ['xlink:show', { prefix: 'xlink', name: 'show', namespace: NS.XLINK }],
76
+ ['xlink:title', { prefix: 'xlink', name: 'title', namespace: NS.XLINK }],
77
+ ['xlink:type', { prefix: 'xlink', name: 'type', namespace: NS.XLINK }],
78
+ ['xml:base', { prefix: 'xml', name: 'base', namespace: NS.XML }],
79
+ ['xml:lang', { prefix: 'xml', name: 'lang', namespace: NS.XML }],
80
+ ['xml:space', { prefix: 'xml', name: 'space', namespace: NS.XML }],
81
+ ['xmlns', { prefix: '', name: 'xmlns', namespace: NS.XMLNS }],
82
+ ['xmlns:xlink', { prefix: 'xmlns', name: 'xlink', namespace: NS.XMLNS }],
83
+ ]);
84
+ //SVG tag names adjustment map
85
+ export const SVG_TAG_NAMES_ADJUSTMENT_MAP = new Map([
86
+ 'altGlyph',
87
+ 'altGlyphDef',
88
+ 'altGlyphItem',
89
+ 'animateColor',
90
+ 'animateMotion',
91
+ 'animateTransform',
92
+ 'clipPath',
93
+ 'feBlend',
94
+ 'feColorMatrix',
95
+ 'feComponentTransfer',
96
+ 'feComposite',
97
+ 'feConvolveMatrix',
98
+ 'feDiffuseLighting',
99
+ 'feDisplacementMap',
100
+ 'feDistantLight',
101
+ 'feFlood',
102
+ 'feFuncA',
103
+ 'feFuncB',
104
+ 'feFuncG',
105
+ 'feFuncR',
106
+ 'feGaussianBlur',
107
+ 'feImage',
108
+ 'feMerge',
109
+ 'feMergeNode',
110
+ 'feMorphology',
111
+ 'feOffset',
112
+ 'fePointLight',
113
+ 'feSpecularLighting',
114
+ 'feSpotLight',
115
+ 'feTile',
116
+ 'feTurbulence',
117
+ 'foreignObject',
118
+ 'glyphRef',
119
+ 'linearGradient',
120
+ 'radialGradient',
121
+ 'textPath',
122
+ ].map((tn) => [tn.toLowerCase(), tn]));
123
+ //Tags that causes exit from foreign content
124
+ const EXITS_FOREIGN_CONTENT = new Set([
125
+ $.B,
126
+ $.BIG,
127
+ $.BLOCKQUOTE,
128
+ $.BODY,
129
+ $.BR,
130
+ $.CENTER,
131
+ $.CODE,
132
+ $.DD,
133
+ $.DIV,
134
+ $.DL,
135
+ $.DT,
136
+ $.EM,
137
+ $.EMBED,
138
+ $.H1,
139
+ $.H2,
140
+ $.H3,
141
+ $.H4,
142
+ $.H5,
143
+ $.H6,
144
+ $.HEAD,
145
+ $.HR,
146
+ $.I,
147
+ $.IMG,
148
+ $.LI,
149
+ $.LISTING,
150
+ $.MENU,
151
+ $.META,
152
+ $.NOBR,
153
+ $.OL,
154
+ $.P,
155
+ $.PRE,
156
+ $.RUBY,
157
+ $.S,
158
+ $.SMALL,
159
+ $.SPAN,
160
+ $.STRONG,
161
+ $.STRIKE,
162
+ $.SUB,
163
+ $.SUP,
164
+ $.TABLE,
165
+ $.TT,
166
+ $.U,
167
+ $.UL,
168
+ $.VAR,
169
+ ]);
170
+ //Check exit from foreign content
171
+ export function causesExit(startTagToken) {
172
+ const tn = startTagToken.tagID;
173
+ const isFontWithAttrs = tn === $.FONT &&
174
+ startTagToken.attrs.some(({ name }) => name === ATTRS.COLOR || name === ATTRS.SIZE || name === ATTRS.FACE);
175
+ return isFontWithAttrs || EXITS_FOREIGN_CONTENT.has(tn);
176
+ }
177
+ //Token adjustments
178
+ export function adjustTokenMathMLAttrs(token) {
179
+ for (let i = 0; i < token.attrs.length; i++) {
180
+ if (token.attrs[i].name === DEFINITION_URL_ATTR) {
181
+ token.attrs[i].name = ADJUSTED_DEFINITION_URL_ATTR;
182
+ break;
183
+ }
184
+ }
185
+ }
186
+ export function adjustTokenSVGAttrs(token) {
187
+ for (let i = 0; i < token.attrs.length; i++) {
188
+ const adjustedAttrName = SVG_ATTRS_ADJUSTMENT_MAP.get(token.attrs[i].name);
189
+ if (adjustedAttrName != null) {
190
+ token.attrs[i].name = adjustedAttrName;
191
+ }
192
+ }
193
+ }
194
+ export function adjustTokenXMLAttrs(token) {
195
+ for (let i = 0; i < token.attrs.length; i++) {
196
+ const adjustedAttrEntry = XML_ATTRS_ADJUSTMENT_MAP.get(token.attrs[i].name);
197
+ if (adjustedAttrEntry) {
198
+ token.attrs[i].prefix = adjustedAttrEntry.prefix;
199
+ token.attrs[i].name = adjustedAttrEntry.name;
200
+ token.attrs[i].namespace = adjustedAttrEntry.namespace;
201
+ }
202
+ }
203
+ }
204
+ export function adjustTokenSVGTagName(token) {
205
+ const adjustedTagName = SVG_TAG_NAMES_ADJUSTMENT_MAP.get(token.tagName);
206
+ if (adjustedTagName != null) {
207
+ token.tagName = adjustedTagName;
208
+ token.tagID = getTagID(token.tagName);
209
+ }
210
+ }
211
+ //Integration points
212
+ function isMathMLTextIntegrationPoint(tn, ns) {
213
+ return ns === NS.MATHML && (tn === $.MI || tn === $.MO || tn === $.MN || tn === $.MS || tn === $.MTEXT);
214
+ }
215
+ function isHtmlIntegrationPoint(tn, ns, attrs) {
216
+ if (ns === NS.MATHML && tn === $.ANNOTATION_XML) {
217
+ for (let i = 0; i < attrs.length; i++) {
218
+ if (attrs[i].name === ATTRS.ENCODING) {
219
+ const value = attrs[i].value.toLowerCase();
220
+ return value === MIME_TYPES.TEXT_HTML || value === MIME_TYPES.APPLICATION_XML;
221
+ }
222
+ }
223
+ }
224
+ return ns === NS.SVG && (tn === $.FOREIGN_OBJECT || tn === $.DESC || tn === $.TITLE);
225
+ }
226
+ export function isIntegrationPoint(tn, ns, attrs, foreignNS) {
227
+ return (((!foreignNS || foreignNS === NS.HTML) && isHtmlIntegrationPoint(tn, ns, attrs)) ||
228
+ ((!foreignNS || foreignNS === NS.MATHML) && isMathMLTextIntegrationPoint(tn, ns)));
229
+ }
230
+ //# sourceMappingURL=foreign-content.js.map
@@ -0,0 +1,288 @@
1
+ /** All valid namespaces in HTML. */
2
+ export declare enum NS {
3
+ HTML = "http://www.w3.org/1999/xhtml",
4
+ MATHML = "http://www.w3.org/1998/Math/MathML",
5
+ SVG = "http://www.w3.org/2000/svg",
6
+ XLINK = "http://www.w3.org/1999/xlink",
7
+ XML = "http://www.w3.org/XML/1998/namespace",
8
+ XMLNS = "http://www.w3.org/2000/xmlns/"
9
+ }
10
+ export declare enum ATTRS {
11
+ TYPE = "type",
12
+ ACTION = "action",
13
+ ENCODING = "encoding",
14
+ PROMPT = "prompt",
15
+ NAME = "name",
16
+ COLOR = "color",
17
+ FACE = "face",
18
+ SIZE = "size"
19
+ }
20
+ /**
21
+ * The mode of the document.
22
+ *
23
+ * @see {@link https://dom.spec.whatwg.org/#concept-document-limited-quirks}
24
+ */
25
+ export declare enum DOCUMENT_MODE {
26
+ NO_QUIRKS = "no-quirks",
27
+ QUIRKS = "quirks",
28
+ LIMITED_QUIRKS = "limited-quirks"
29
+ }
30
+ export declare enum TAG_NAMES {
31
+ A = "a",
32
+ ADDRESS = "address",
33
+ ANNOTATION_XML = "annotation-xml",
34
+ APPLET = "applet",
35
+ AREA = "area",
36
+ ARTICLE = "article",
37
+ ASIDE = "aside",
38
+ B = "b",
39
+ BASE = "base",
40
+ BASEFONT = "basefont",
41
+ BGSOUND = "bgsound",
42
+ BIG = "big",
43
+ BLOCKQUOTE = "blockquote",
44
+ BODY = "body",
45
+ BR = "br",
46
+ BUTTON = "button",
47
+ CAPTION = "caption",
48
+ CENTER = "center",
49
+ CODE = "code",
50
+ COL = "col",
51
+ COLGROUP = "colgroup",
52
+ DD = "dd",
53
+ DESC = "desc",
54
+ DETAILS = "details",
55
+ DIALOG = "dialog",
56
+ DIR = "dir",
57
+ DIV = "div",
58
+ DL = "dl",
59
+ DT = "dt",
60
+ EM = "em",
61
+ EMBED = "embed",
62
+ FIELDSET = "fieldset",
63
+ FIGCAPTION = "figcaption",
64
+ FIGURE = "figure",
65
+ FONT = "font",
66
+ FOOTER = "footer",
67
+ FOREIGN_OBJECT = "foreignObject",
68
+ FORM = "form",
69
+ FRAME = "frame",
70
+ FRAMESET = "frameset",
71
+ H1 = "h1",
72
+ H2 = "h2",
73
+ H3 = "h3",
74
+ H4 = "h4",
75
+ H5 = "h5",
76
+ H6 = "h6",
77
+ HEAD = "head",
78
+ HEADER = "header",
79
+ HGROUP = "hgroup",
80
+ HR = "hr",
81
+ HTML = "html",
82
+ I = "i",
83
+ IMG = "img",
84
+ IMAGE = "image",
85
+ INPUT = "input",
86
+ IFRAME = "iframe",
87
+ KEYGEN = "keygen",
88
+ LABEL = "label",
89
+ LI = "li",
90
+ LINK = "link",
91
+ LISTING = "listing",
92
+ MAIN = "main",
93
+ MALIGNMARK = "malignmark",
94
+ MARQUEE = "marquee",
95
+ MATH = "math",
96
+ MENU = "menu",
97
+ META = "meta",
98
+ MGLYPH = "mglyph",
99
+ MI = "mi",
100
+ MO = "mo",
101
+ MN = "mn",
102
+ MS = "ms",
103
+ MTEXT = "mtext",
104
+ NAV = "nav",
105
+ NOBR = "nobr",
106
+ NOFRAMES = "noframes",
107
+ NOEMBED = "noembed",
108
+ NOSCRIPT = "noscript",
109
+ OBJECT = "object",
110
+ OL = "ol",
111
+ OPTGROUP = "optgroup",
112
+ OPTION = "option",
113
+ P = "p",
114
+ PARAM = "param",
115
+ PLAINTEXT = "plaintext",
116
+ PRE = "pre",
117
+ RB = "rb",
118
+ RP = "rp",
119
+ RT = "rt",
120
+ RTC = "rtc",
121
+ RUBY = "ruby",
122
+ S = "s",
123
+ SCRIPT = "script",
124
+ SECTION = "section",
125
+ SELECT = "select",
126
+ SOURCE = "source",
127
+ SMALL = "small",
128
+ SPAN = "span",
129
+ STRIKE = "strike",
130
+ STRONG = "strong",
131
+ STYLE = "style",
132
+ SUB = "sub",
133
+ SUMMARY = "summary",
134
+ SUP = "sup",
135
+ TABLE = "table",
136
+ TBODY = "tbody",
137
+ TEMPLATE = "template",
138
+ TEXTAREA = "textarea",
139
+ TFOOT = "tfoot",
140
+ TD = "td",
141
+ TH = "th",
142
+ THEAD = "thead",
143
+ TITLE = "title",
144
+ TR = "tr",
145
+ TRACK = "track",
146
+ TT = "tt",
147
+ U = "u",
148
+ UL = "ul",
149
+ SVG = "svg",
150
+ VAR = "var",
151
+ WBR = "wbr",
152
+ XMP = "xmp"
153
+ }
154
+ /**
155
+ * Tag IDs are numeric IDs for known tag names.
156
+ *
157
+ * We use tag IDs to improve the performance of tag name comparisons.
158
+ */
159
+ export declare enum TAG_ID {
160
+ UNKNOWN = 0,
161
+ A = 1,
162
+ ADDRESS = 2,
163
+ ANNOTATION_XML = 3,
164
+ APPLET = 4,
165
+ AREA = 5,
166
+ ARTICLE = 6,
167
+ ASIDE = 7,
168
+ B = 8,
169
+ BASE = 9,
170
+ BASEFONT = 10,
171
+ BGSOUND = 11,
172
+ BIG = 12,
173
+ BLOCKQUOTE = 13,
174
+ BODY = 14,
175
+ BR = 15,
176
+ BUTTON = 16,
177
+ CAPTION = 17,
178
+ CENTER = 18,
179
+ CODE = 19,
180
+ COL = 20,
181
+ COLGROUP = 21,
182
+ DD = 22,
183
+ DESC = 23,
184
+ DETAILS = 24,
185
+ DIALOG = 25,
186
+ DIR = 26,
187
+ DIV = 27,
188
+ DL = 28,
189
+ DT = 29,
190
+ EM = 30,
191
+ EMBED = 31,
192
+ FIELDSET = 32,
193
+ FIGCAPTION = 33,
194
+ FIGURE = 34,
195
+ FONT = 35,
196
+ FOOTER = 36,
197
+ FOREIGN_OBJECT = 37,
198
+ FORM = 38,
199
+ FRAME = 39,
200
+ FRAMESET = 40,
201
+ H1 = 41,
202
+ H2 = 42,
203
+ H3 = 43,
204
+ H4 = 44,
205
+ H5 = 45,
206
+ H6 = 46,
207
+ HEAD = 47,
208
+ HEADER = 48,
209
+ HGROUP = 49,
210
+ HR = 50,
211
+ HTML = 51,
212
+ I = 52,
213
+ IMG = 53,
214
+ IMAGE = 54,
215
+ INPUT = 55,
216
+ IFRAME = 56,
217
+ KEYGEN = 57,
218
+ LABEL = 58,
219
+ LI = 59,
220
+ LINK = 60,
221
+ LISTING = 61,
222
+ MAIN = 62,
223
+ MALIGNMARK = 63,
224
+ MARQUEE = 64,
225
+ MATH = 65,
226
+ MENU = 66,
227
+ META = 67,
228
+ MGLYPH = 68,
229
+ MI = 69,
230
+ MO = 70,
231
+ MN = 71,
232
+ MS = 72,
233
+ MTEXT = 73,
234
+ NAV = 74,
235
+ NOBR = 75,
236
+ NOFRAMES = 76,
237
+ NOEMBED = 77,
238
+ NOSCRIPT = 78,
239
+ OBJECT = 79,
240
+ OL = 80,
241
+ OPTGROUP = 81,
242
+ OPTION = 82,
243
+ P = 83,
244
+ PARAM = 84,
245
+ PLAINTEXT = 85,
246
+ PRE = 86,
247
+ RB = 87,
248
+ RP = 88,
249
+ RT = 89,
250
+ RTC = 90,
251
+ RUBY = 91,
252
+ S = 92,
253
+ SCRIPT = 93,
254
+ SECTION = 94,
255
+ SELECT = 95,
256
+ SOURCE = 96,
257
+ SMALL = 97,
258
+ SPAN = 98,
259
+ STRIKE = 99,
260
+ STRONG = 100,
261
+ STYLE = 101,
262
+ SUB = 102,
263
+ SUMMARY = 103,
264
+ SUP = 104,
265
+ TABLE = 105,
266
+ TBODY = 106,
267
+ TEMPLATE = 107,
268
+ TEXTAREA = 108,
269
+ TFOOT = 109,
270
+ TD = 110,
271
+ TH = 111,
272
+ THEAD = 112,
273
+ TITLE = 113,
274
+ TR = 114,
275
+ TRACK = 115,
276
+ TT = 116,
277
+ U = 117,
278
+ UL = 118,
279
+ SVG = 119,
280
+ VAR = 120,
281
+ WBR = 121,
282
+ XMP = 122
283
+ }
284
+ export declare function getTagID(tagName: string): TAG_ID;
285
+ export declare const SPECIAL_ELEMENTS: Record<NS, Set<TAG_ID>>;
286
+ export declare function isNumberedHeader(tn: TAG_ID): boolean;
287
+ export declare function hasUnescapedText(tn: string, scriptingEnabled: boolean): boolean;
288
+ //# sourceMappingURL=html.d.ts.map