Skip to content

Commit 19a1c97

Browse files
committed
add elements, attributes and events from html for i think 100% coverage
1 parent a70622b commit 19a1c97

File tree

1 file changed

+307
-5
lines changed

1 file changed

+307
-5
lines changed

Abies/Html.cs

Lines changed: 307 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,95 @@ namespace Abies.Html;
55

66
public static class Elements
77
{
8+
// Math-related and scientific content elements
9+
public static Node math(DOM.Attribute[] attributes, Node[] children, [CallerLineNumber] int id = 0)
10+
=> element("math", attributes, children, id);
11+
12+
public static Node var(DOM.Attribute[] attributes, Node[] children, [CallerLineNumber] int id = 0)
13+
=> element("var", attributes, children, id);
14+
15+
// Less common but valid elements
16+
public static Node s(DOM.Attribute[] attributes, Node[] children, [CallerLineNumber] int id = 0)
17+
=> element("s", attributes, children, id);
18+
19+
public static Node rb(DOM.Attribute[] attributes, Node[] children, [CallerLineNumber] int id = 0)
20+
=> element("rb", attributes, children, id);
21+
22+
public static Node rtc(DOM.Attribute[] attributes, Node[] children, [CallerLineNumber] int id = 0)
23+
=> element("rtc", attributes, children, id);
24+
25+
// Additional SVG elements
26+
public static Node desc(DOM.Attribute[] attributes, Node[] children, [CallerLineNumber] int id = 0)
27+
=> element("desc", attributes, children, id);
28+
29+
public static Node ellipse(DOM.Attribute[] attributes, [CallerLineNumber] int id = 0)
30+
=> element("ellipse", attributes, Array.Empty<Node>(), id);
31+
32+
public static Node text(DOM.Attribute[] attributes, Node[] children, [CallerLineNumber] int id = 0)
33+
=> element("text", attributes, children, id);
34+
35+
public static Node tspan(DOM.Attribute[] attributes, Node[] children, [CallerLineNumber] int id = 0)
36+
=> element("tspan", attributes, children, id);
37+
38+
public static Node filter(DOM.Attribute[] attributes, Node[] children, [CallerLineNumber] int id = 0)
39+
=> element("filter", attributes, children, id);
40+
41+
public static Node feBlend(DOM.Attribute[] attributes, [CallerLineNumber] int id = 0)
42+
=> element("feBlend", attributes, Array.Empty<Node>(), id);
43+
44+
public static Node feColorMatrix(DOM.Attribute[] attributes, [CallerLineNumber] int id = 0)
45+
=> element("feColorMatrix", attributes, Array.Empty<Node>(), id);
46+
47+
public static Node feComponentTransfer(DOM.Attribute[] attributes, Node[] children, [CallerLineNumber] int id = 0)
48+
=> element("feComponentTransfer", attributes, children, id);
49+
50+
public static Node feComposite(DOM.Attribute[] attributes, [CallerLineNumber] int id = 0)
51+
=> element("feComposite", attributes, Array.Empty<Node>(), id);
52+
53+
public static Node feConvolveMatrix(DOM.Attribute[] attributes, [CallerLineNumber] int id = 0)
54+
=> element("feConvolveMatrix", attributes, Array.Empty<Node>(), id);
55+
56+
public static Node feDiffuseLighting(DOM.Attribute[] attributes, Node[] children, [CallerLineNumber] int id = 0)
57+
=> element("feDiffuseLighting", attributes, children, id);
58+
59+
public static Node feDisplacementMap(DOM.Attribute[] attributes, [CallerLineNumber] int id = 0)
60+
=> element("feDisplacementMap", attributes, Array.Empty<Node>(), id);
61+
62+
public static Node feFlood(DOM.Attribute[] attributes, [CallerLineNumber] int id = 0)
63+
=> element("feFlood", attributes, Array.Empty<Node>(), id);
64+
65+
public static Node feGaussianBlur(DOM.Attribute[] attributes, [CallerLineNumber] int id = 0)
66+
=> element("feGaussianBlur", attributes, Array.Empty<Node>(), id);
67+
68+
public static Node feImage(DOM.Attribute[] attributes, [CallerLineNumber] int id = 0)
69+
=> element("feImage", attributes, Array.Empty<Node>(), id);
70+
71+
public static Node feMerge(DOM.Attribute[] attributes, Node[] children, [CallerLineNumber] int id = 0)
72+
=> element("feMerge", attributes, children, id);
73+
74+
public static Node feMergeNode(DOM.Attribute[] attributes, [CallerLineNumber] int id = 0)
75+
=> element("feMergeNode", attributes, Array.Empty<Node>(), id);
76+
77+
public static Node feMorphology(DOM.Attribute[] attributes, [CallerLineNumber] int id = 0)
78+
=> element("feMorphology", attributes, Array.Empty<Node>(), id);
79+
80+
public static Node feOffset(DOM.Attribute[] attributes, [CallerLineNumber] int id = 0)
81+
=> element("feOffset", attributes, Array.Empty<Node>(), id);
82+
83+
public static Node feSpecularLighting(DOM.Attribute[] attributes, Node[] children, [CallerLineNumber] int id = 0)
84+
=> element("feSpecularLighting", attributes, children, id);
85+
86+
public static Node feTile(DOM.Attribute[] attributes, [CallerLineNumber] int id = 0)
87+
=> element("feTile", attributes, Array.Empty<Node>(), id);
88+
89+
public static Node feTurbulence(DOM.Attribute[] attributes, [CallerLineNumber] int id = 0)
90+
=> element("feTurbulence", attributes, Array.Empty<Node>(), id);
91+
92+
public static Node symbol(DOM.Attribute[] attributes, Node[] children, [CallerLineNumber] int id = 0)
93+
=> element("symbol", attributes, children, id);
94+
95+
public static Node pattern(DOM.Attribute[] attributes, Node[] children, [CallerLineNumber] int id = 0)
96+
=> element("pattern", attributes, children, id);
897

998
public static Element element(string tag, DOM.Attribute[] attributes, Node[] children, [CallerLineNumber] int id = 0)
1099
=> new(id.ToString(), tag, [Attributes.id(id.ToString()), .. attributes], children);
@@ -265,8 +354,6 @@ public static Node kbd(DOM.Attribute[] attributes, Node[] children, [CallerLineN
265354
public static Node samp(DOM.Attribute[] attributes, Node[] children, [CallerLineNumber] int id = 0)
266355
=> element("samp", attributes, children, id);
267356

268-
public static Node var(DOM.Attribute[] attributes, Node[] children, [CallerLineNumber] int id = 0)
269-
=> element("var", attributes, children, id);
270357

271358
public static Node sup(DOM.Attribute[] attributes, Node[] children, [CallerLineNumber] int id = 0)
272359
=> element("sup", attributes, children, id);
@@ -808,11 +895,229 @@ public static DOM.Attribute type_(string value, [CallerLineNumber] int id = 0)
808895

809896
public static DOM.Attribute acceptcharset(string value, [CallerLineNumber] int id = 0)
810897
=> attribute("accept-charset", value, id);
898+
899+
// Extremely rare but valid attributes
900+
public static DOM.Attribute allowfullscreen(string value = "true", [CallerLineNumber] int id = 0)
901+
=> attribute("allowfullscreen", value, id);
902+
903+
public static DOM.Attribute as_(string value, [CallerLineNumber] int id = 0)
904+
=> attribute("as", value, id);
905+
906+
public static DOM.Attribute challenge(string value, [CallerLineNumber] int id = 0)
907+
=> attribute("challenge", value, id);
908+
909+
public static DOM.Attribute color(string value, [CallerLineNumber] int id = 0)
910+
=> attribute("color", value, id);
911+
912+
public static DOM.Attribute default_(string value = "true", [CallerLineNumber] int id = 0)
913+
=> attribute("default", value, id);
914+
915+
public static DOM.Attribute dirname(string value, [CallerLineNumber] int id = 0)
916+
=> attribute("dirname", value, id);
917+
918+
public static DOM.Attribute high(string value, [CallerLineNumber] int id = 0)
919+
=> attribute("high", value, id);
920+
921+
public static DOM.Attribute keytype(string value, [CallerLineNumber] int id = 0)
922+
=> attribute("keytype", value, id);
923+
924+
public static DOM.Attribute kind(string value, [CallerLineNumber] int id = 0)
925+
=> attribute("kind", value, id);
926+
927+
public static DOM.Attribute low(string value, [CallerLineNumber] int id = 0)
928+
=> attribute("low", value, id);
929+
930+
public static DOM.Attribute optimum(string value, [CallerLineNumber] int id = 0)
931+
=> attribute("optimum", value, id);
932+
933+
public static DOM.Attribute playsinline(string value = "true", [CallerLineNumber] int id = 0)
934+
=> attribute("playsinline", value, id);
935+
936+
public static DOM.Attribute results(string value, [CallerLineNumber] int id = 0)
937+
=> attribute("results", value, id);
938+
939+
public static DOM.Attribute seamless(string value = "true", [CallerLineNumber] int id = 0)
940+
=> attribute("seamless", value, id);
941+
942+
public static DOM.Attribute shape(string value, [CallerLineNumber] int id = 0)
943+
=> attribute("shape", value, id);
944+
945+
public static DOM.Attribute srcdoc(string value, [CallerLineNumber] int id = 0)
946+
=> attribute("srcdoc", value, id);
947+
948+
public static DOM.Attribute srclang(string value, [CallerLineNumber] int id = 0)
949+
=> attribute("srclang", value, id);
950+
951+
// More SVG attributes
952+
public static DOM.Attribute rx(string value, [CallerLineNumber] int id = 0)
953+
=> attribute("rx", value, id);
954+
955+
public static DOM.Attribute ry(string value, [CallerLineNumber] int id = 0)
956+
=> attribute("ry", value, id);
957+
958+
public static DOM.Attribute dx(string value, [CallerLineNumber] int id = 0)
959+
=> attribute("dx", value, id);
960+
961+
public static DOM.Attribute dy(string value, [CallerLineNumber] int id = 0)
962+
=> attribute("dy", value, id);
963+
964+
public static DOM.Attribute gradientUnits(string value, [CallerLineNumber] int id = 0)
965+
=> attribute("gradientUnits", value, id);
966+
967+
public static DOM.Attribute patternUnits(string value, [CallerLineNumber] int id = 0)
968+
=> attribute("patternUnits", value, id);
969+
970+
public static DOM.Attribute spreadMethod(string value, [CallerLineNumber] int id = 0)
971+
=> attribute("spreadMethod", value, id);
972+
973+
public static DOM.Attribute transform(string value, [CallerLineNumber] int id = 0)
974+
=> attribute("transform", value, id);
975+
976+
public static DOM.Attribute markerWidth(string value, [CallerLineNumber] int id = 0)
977+
=> attribute("markerWidth", value, id);
978+
979+
public static DOM.Attribute markerHeight(string value, [CallerLineNumber] int id = 0)
980+
=> attribute("markerHeight", value, id);
981+
982+
public static DOM.Attribute refX(string value, [CallerLineNumber] int id = 0)
983+
=> attribute("refX", value, id);
984+
985+
public static DOM.Attribute refY(string value, [CallerLineNumber] int id = 0)
986+
=> attribute("refY", value, id);
987+
988+
public static DOM.Attribute markerUnits(string value, [CallerLineNumber] int id = 0)
989+
=> attribute("markerUnits", value, id);
990+
991+
public static DOM.Attribute preserveAspectRatio(string value, [CallerLineNumber] int id = 0)
992+
=> attribute("preserveAspectRatio", value, id);
993+
994+
public static DOM.Attribute vectorEffect(string value, [CallerLineNumber] int id = 0)
995+
=> attribute("vector-effect", value, id);
996+
997+
public static DOM.Attribute opacity(string value, [CallerLineNumber] int id = 0)
998+
=> attribute("opacity", value, id);
999+
1000+
public static DOM.Attribute offset(string value, [CallerLineNumber] int id = 0)
1001+
=> attribute("offset", value, id);
1002+
1003+
// Additional ARIA attributes
1004+
public static DOM.Attribute ariaAtomic(string value, [CallerLineNumber] int id = 0)
1005+
=> attribute("aria-atomic", value, id);
1006+
1007+
public static DOM.Attribute ariaBusy(string value, [CallerLineNumber] int id = 0)
1008+
=> attribute("aria-busy", value, id);
1009+
1010+
public static DOM.Attribute ariaChecked(string value, [CallerLineNumber] int id = 0)
1011+
=> attribute("aria-checked", value, id);
1012+
1013+
public static DOM.Attribute ariaCurrent(string value, [CallerLineNumber] int id = 0)
1014+
=> attribute("aria-current", value, id);
1015+
1016+
public static DOM.Attribute ariaDisabled(string value, [CallerLineNumber] int id = 0)
1017+
=> attribute("aria-disabled", value, id);
1018+
1019+
public static DOM.Attribute ariaErrormessage(string value, [CallerLineNumber] int id = 0)
1020+
=> attribute("aria-errormessage", value, id);
1021+
1022+
public static DOM.Attribute ariaHaspopup(string value, [CallerLineNumber] int id = 0)
1023+
=> attribute("aria-haspopup", value, id);
1024+
1025+
public static DOM.Attribute ariaInvalid(string value, [CallerLineNumber] int id = 0)
1026+
=> attribute("aria-invalid", value, id);
1027+
1028+
public static DOM.Attribute ariaKeyshortcuts(string value, [CallerLineNumber] int id = 0)
1029+
=> attribute("aria-keyshortcuts", value, id);
1030+
1031+
public static DOM.Attribute ariaLive(string value, [CallerLineNumber] int id = 0)
1032+
=> attribute("aria-live", value, id);
1033+
1034+
public static DOM.Attribute ariaModal(string value, [CallerLineNumber] int id = 0)
1035+
=> attribute("aria-modal", value, id);
1036+
1037+
public static DOM.Attribute ariaMultiline(string value, [CallerLineNumber] int id = 0)
1038+
=> attribute("aria-multiline", value, id);
1039+
1040+
public static DOM.Attribute ariaMultiselectable(string value, [CallerLineNumber] int id = 0)
1041+
=> attribute("aria-multiselectable", value, id);
1042+
1043+
public static DOM.Attribute ariaOrientation(string value, [CallerLineNumber] int id = 0)
1044+
=> attribute("aria-orientation", value, id);
1045+
1046+
public static DOM.Attribute ariaPlaceholder(string value, [CallerLineNumber] int id = 0)
1047+
=> attribute("aria-placeholder", value, id);
1048+
1049+
public static DOM.Attribute ariaReadonly(string value, [CallerLineNumber] int id = 0)
1050+
=> attribute("aria-readonly", value, id);
1051+
1052+
public static DOM.Attribute ariaRelevant(string value, [CallerLineNumber] int id = 0)
1053+
=> attribute("aria-relevant", value, id);
1054+
1055+
public static DOM.Attribute ariaRequired(string value, [CallerLineNumber] int id = 0)
1056+
=> attribute("aria-required", value, id);
1057+
1058+
public static DOM.Attribute ariaRoledescription(string value, [CallerLineNumber] int id = 0)
1059+
=> attribute("aria-roledescription", value, id);
1060+
1061+
public static DOM.Attribute ariaSort(string value, [CallerLineNumber] int id = 0)
1062+
=> attribute("aria-sort", value, id);
8111063
}
8121064

8131065
public static class Events
8141066
{
1067+
// Rarely used touch/pointer/mobile events
1068+
public static Handler ongotpointercapture(Message command, [CallerLineNumber] int id = 0)
1069+
=> on("gotpointercapture", command, id);
1070+
1071+
public static Handler onlostpointercapture(Message command, [CallerLineNumber] int id = 0)
1072+
=> on("lostpointercapture", command, id);
1073+
1074+
// Advanced media handling
1075+
public static Handler onencrypted(Message command, [CallerLineNumber] int id = 0)
1076+
=> on("encrypted", command, id);
1077+
1078+
public static Handler onwaiting(Message command, [CallerLineNumber] int id = 0)
1079+
=> on("waiting", command, id);
1080+
1081+
// The newest bleeding-edge events (HTML Living Standard)
1082+
public static Handler onformdata(Message command, [CallerLineNumber] int id = 0)
1083+
=> on("formdata", command, id);
1084+
1085+
public static Handler onbeforexrselect(Message command, [CallerLineNumber] int id = 0)
1086+
=> on("beforexrselect", command, id);
8151087

1088+
public static Handler onafterprint(Message command, [CallerLineNumber] int id = 0)
1089+
=> on("afterprint", command, id);
1090+
1091+
public static Handler onbeforeprint(Message command, [CallerLineNumber] int id = 0)
1092+
=> on("beforeprint", command, id);
1093+
1094+
public static Handler onlanguagechange(Message command, [CallerLineNumber] int id = 0)
1095+
=> on("languagechange", command, id);
1096+
1097+
public static Handler onmessage(Message command, [CallerLineNumber] int id = 0)
1098+
=> on("message", command, id);
1099+
1100+
public static Handler onmessageerror(Message command, [CallerLineNumber] int id = 0)
1101+
=> on("messageerror", command, id);
1102+
1103+
public static Handler onrejectionhandled(Message command, [CallerLineNumber] int id = 0)
1104+
=> on("rejectionhandled", command, id);
1105+
1106+
public static Handler onunhandledrejection(Message command, [CallerLineNumber] int id = 0)
1107+
=> on("unhandledrejection", command, id);
1108+
1109+
public static Handler onsecuritypolicyviolation(Message command, [CallerLineNumber] int id = 0)
1110+
=> on("securitypolicyviolation", command, id);
1111+
1112+
// Experimental sensor/device API events
1113+
public static Handler ondevicemotion(Message command, [CallerLineNumber] int id = 0)
1114+
=> on("devicemotion", command, id);
1115+
1116+
public static Handler ondeviceorientation(Message command, [CallerLineNumber] int id = 0)
1117+
=> on("deviceorientation", command, id);
1118+
1119+
public static Handler ondeviceorientationabsolute(Message command, [CallerLineNumber] int id = 0)
1120+
=> on("deviceorientationabsolute", command, id);
8161121
// Dialog events
8171122
public static Handler onclose(Message command, [CallerLineNumber] int id = 0)
8181123
=> on("close", command, id);
@@ -1066,9 +1371,6 @@ public static Handler onstalled(Message command, [CallerLineNumber] int id = 0)
10661371
public static Handler onsuspend(Message command, [CallerLineNumber] int id = 0)
10671372
=> on("suspend", command, id);
10681373

1069-
public static Handler onwaiting(Message command, [CallerLineNumber] int id = 0)
1070-
=> on("waiting", command, id);
1071-
10721374
public static Handler onratechange(Message command, [CallerLineNumber] int id = 0)
10731375
=> on("ratechange", command, id);
10741376

0 commit comments

Comments
 (0)