html_node_core/typed/
elements.rs

1//! Predefined HTML elements.
2
3use crate::typed_elements;
4
5typed_elements! { pub
6    // Main root [https://developer.mozilla.org/en-US/docs/Web/HTML/Element#main_root]
7    html {
8        xmlns,
9    };
10
11    // Document metadata [https://developer.mozilla.org/en-US/docs/Web/HTML/Element#document_metadata]
12    base {
13        href,
14        target,
15    };
16    head {};
17    link {
18        r#as,
19        crossorigin,
20        disabled,
21        fetchpriority,
22        href,
23        hreflang,
24        imagesizes,
25        imagesrcset,
26        integrity,
27        media,
28        prefetch,
29        referrerpolicy,
30        rel,
31        sizes,
32        r#type,
33        blocking,
34    };
35    meta {
36        charset,
37        content,
38        http_equiv,
39        name,
40    };
41    style {
42        media,
43        blocking,
44    };
45    title {};
46
47    // Sectioning root [https://developer.mozilla.org/en-US/docs/Web/HTML/Element#sectioning_root]
48    body {};
49
50    // Content sectioning [https://developer.mozilla.org/en-US/docs/Web/HTML/Element#content_sectioning]
51    address {};
52    article {};
53    aside {};
54    footer {};
55    header {};
56    h1 {};
57    h2 {};
58    h3 {};
59    h4 {};
60    h5 {};
61    h6 {};
62    hgroup {};
63    main {};
64    nav {};
65    section {};
66    search {};
67
68    // Text content [https://developer.mozilla.org/en-US/docs/Web/HTML/Element#text_content]
69    blockquote {
70        cite,
71    };
72    dd {};
73    div {};
74    dl {};
75    dt {};
76    figcaption {};
77    figure {};
78    hr {};
79    li {
80        value,
81    };
82    menu {};
83    ol {
84        reversed,
85        start,
86        r#type,
87    };
88    p {};
89    pre {};
90    ul {};
91
92    // Inline text semantics [https://developer.mozilla.org/en-US/docs/Web/HTML/Element#inline_text_semantics]
93    a {
94        download,
95        href,
96        hreflang,
97        ping,
98        referrerpolicy,
99        rel,
100        target,
101        r#type,
102    };
103    abbr {};
104    b {};
105    bdi {};
106    bdo {};
107    br {};
108    cite {};
109    code {};
110    data {
111        value,
112    };
113    dfn {};
114    em {};
115    i {};
116    kbd {};
117    mark {};
118    q {
119        cite,
120    };
121    rp {};
122    rt {};
123    ruby {};
124    s {};
125    samp {};
126    small {};
127    span {};
128    strong {};
129    sub {};
130    sup {};
131    time {
132        datetime,
133    };
134    u {};
135    var {};
136    wbr {};
137
138    // Image and multimedia [https://developer.mozilla.org/en-US/docs/Web/HTML/Element#image_and_multimedia]
139    area {
140        alt,
141        coords,
142        download,
143        href,
144        ping,
145        referrerpolicy,
146        rel,
147        shape,
148        target,
149    };
150    audio {
151        autoplay,
152        controls,
153        controlslist,
154        crossorigin,
155        disableremoteplayback,
156        r#loop,
157        muted,
158        preload,
159        src,
160    };
161    img {
162        alt,
163        crossorigin,
164        decoding,
165        elementtiming,
166        fetchpriority,
167        height,
168        ismap,
169        loading,
170        referrerpolicy,
171        sizes,
172        src,
173        srcset,
174        width,
175        usemap,
176    };
177    map {
178        name,
179    };
180    track {
181        default,
182        kind,
183        label,
184        src,
185        srclang,
186    };
187    video {
188        autoplay,
189        controls,
190        controlslist,
191        crossorigin,
192        disablepictureinpicture,
193        disableremoteplayback,
194        height,
195        r#loop,
196        muted,
197        playsinline,
198        poster,
199        preload,
200        src,
201        width,
202    };
203
204    // Embedded content [https://developer.mozilla.org/en-US/docs/Web/HTML/Element#embedded_content]
205    embed {
206        height,
207        src,
208        r#type,
209        width,
210    };
211    iframe {
212        allow,
213        allowfullscreen,
214        allowpaymentrequest,
215        credentialless,
216        csp,
217        height,
218        loading,
219        name,
220        referrerpolicy,
221        sandbox,
222        src,
223        srcdoc,
224        width,
225    };
226    object {
227        data,
228        form,
229        height,
230        name,
231        r#type,
232        usemap,
233        width,
234    };
235    picture {};
236    portal {
237        referrerpolicy,
238        src,
239    };
240    source {
241        r#type,
242        src,
243        srcset,
244        sizes,
245        media,
246        height,
247        width,
248    };
249
250    // SVG and MathML [https://developer.mozilla.org/en-US/docs/Web/HTML/Element#svg_and_mathml]
251    svg {
252        height,
253        preserveaspectratio,
254        viewBox,
255        width,
256        x,
257        y,
258    };
259    math {
260        display,
261    };
262
263    // Scripting [https://developer.mozilla.org/en-US/docs/Web/HTML/Element#scripting]
264    canvas {
265        height,
266        width,
267    };
268    noscript {};
269    script {
270        r#async,
271        crossorigin,
272        defer,
273        fetchpriority,
274        integrity,
275        nomodule,
276        referrerpolicy,
277        src,
278        r#type,
279        blocking,
280    };
281
282    // Demarcating edits [https://developer.mozilla.org/en-US/docs/Web/HTML/Element#demarcating_edits]
283    del {
284        cite,
285        datetime,
286    };
287    ins {
288        cite,
289        datetime,
290    };
291
292    // Table content [https://developer.mozilla.org/en-US/docs/Web/HTML/Element#table_content]
293    caption {};
294    col {
295        span,
296    };
297    colgroup {
298        span,
299    };
300    table {};
301    tbody {};
302    td {
303        colspan,
304        headers,
305        rowspan,
306    };
307    tfoot {};
308    th {
309        abbr,
310        colspan,
311        headers,
312        rowspan,
313        scope,
314    };
315    thead {};
316    tr {};
317
318    // Forms [https://developer.mozilla.org/en-US/docs/Web/HTML/Element#forms]
319    button {
320        disabled,
321        form,
322        formaction,
323        formenctype,
324        formmethod,
325        formnovalidate,
326        formtarget,
327        name,
328        popovertarget,
329        popovertargetaction,
330        r#type,
331        value,
332    };
333    datalist {};
334    fieldset {
335        disabled,
336        form,
337        name,
338    };
339    form {
340        acceptcharset,
341        autocomplete,
342        name,
343        rel,
344        action,
345        enctype,
346        method,
347        novalidate,
348        target,
349    };
350    input {
351        accept,
352        alt,
353        autocomplete,
354        capture,
355        checked,
356        dirname,
357        disabled,
358        form,
359        formaction,
360        formenctype,
361        formmethod,
362        formnovalidate,
363        formtarget,
364        height,
365        list,
366        max,
367        maxlength,
368        min,
369        minlength,
370        multiple,
371        name,
372        pattern,
373        placeholder,
374        popovertarget,
375        popovertargetaction,
376        readonly,
377        required,
378        size,
379        src,
380        step,
381        r#type,
382        value,
383        width,
384        autocorrect,
385        incremental,
386        mozactionhint,
387        orient,
388        results,
389        webkitdirectory,
390    };
391    label {
392        r#for,
393    };
394    legend {};
395    meter {
396        min,
397        max,
398        low,
399        high,
400        optimum,
401    };
402    optgroup {
403        disabled,
404        label,
405    };
406    option {
407        disabled,
408        label,
409        selected,
410        value,
411    };
412    output {
413        r#for,
414        form,
415        name,
416    };
417    progress {
418        max,
419        value,
420    };
421    select {
422        autocomplete,
423        disabled,
424        form,
425        multiple,
426        name,
427        required,
428        size,
429    };
430    textarea {
431        autocomplete,
432        autocorrect,
433        cols,
434        dirname,
435        disabled,
436        form,
437        maxlength,
438        minlength,
439        name,
440        placeholder,
441        readonly,
442        required,
443        rows,
444        wrap,
445    };
446
447    // Interactive elements [https://developer.mozilla.org/en-US/docs/Web/HTML/Element#interactive_elements]
448    details {
449        open,
450    };
451    dialog {
452        open,
453    };
454
455    // Web Components [https://developer.mozilla.org/en-US/docs/Web/HTML/Element#web_components]
456    slot {
457        name,
458    };
459    template {
460        shadowrootmode,
461    };
462}