css_ast/
css_atom_set.rs

1pub use css_lexer::AtomSet;
2use derive_atom_set::AtomSet;
3
4/// Atoms used by the CSS AST, extending the lexer's atom set with additional CSS-specific atoms.
5///
6/// # Examples
7///
8/// ```rust
9/// use css_ast::CssAtomSet;
10/// use css_parse::AtomSet;
11///
12/// assert_eq!(CssAtomSet::from_str("px"), CssAtomSet::Px);
13/// assert_eq!(CssAtomSet::from_str("%"), CssAtomSet::Percentage);
14/// assert_eq!(CssAtomSet::Px.to_str(), "px");
15/// assert_eq!(CssAtomSet::Percentage.to_str(), "%");
16/// ```
17#[derive(AtomSet, Debug, Default, Copy, Clone, PartialEq, Eq, PartialOrd, Ord)]
18pub enum CssAtomSet {
19	#[default]
20	_None,
21
22	Cap,
23	Ch,
24	Cm,
25	Cqb,
26	Cqh,
27	Cqi,
28	Cqmax,
29	Cqmin,
30	Cqw,
31	Db,
32	Deg,
33	Dpcm,
34	Dpi,
35	Dppx,
36	Dvb,
37	Dvh,
38	Dvi,
39	Dvmax,
40	Dvmin,
41	Dvw,
42	Em,
43	Ex,
44	Fr,
45	Grad,
46	Hz,
47	Ic,
48	In,
49	Khz,
50	Lh,
51	Lvb,
52	Lvh,
53	Lvi,
54	Lvmax,
55	Lvmin,
56	Lvw,
57	Mm,
58	Ms,
59	Pc,
60	#[atom("%")]
61	Percentage,
62	Pt,
63	Px,
64	Q,
65	Rad,
66	Rcap,
67	Rch,
68	Rem,
69	Rex,
70	Ric,
71	Rlh,
72	S,
73	Svb,
74	Svh,
75	Svi,
76	Svmax,
77	Svmin,
78	Svw,
79	Turn,
80	Vb,
81	Vh,
82	Vi,
83	Vmax,
84	Vmin,
85	Vw,
86	X,
87	Y,
88
89	// CSS Keywords
90	A,
91	A98Rgb,
92	Abbr,
93	Abs,
94	Absolute,
95	AbsoluteColorimetric,
96	AccentColor,
97	Accentcolor,
98	Accentcolortext,
99	Accumulate,
100	Acronym,
101	Active,
102	Activate,
103	Activetext,
104	Add,
105	Additive,
106	AdditiveSymbols,
107	Address,
108	After,
109	Alias,
110	Aliceblue,
111	AlignContent,
112	AlignItems,
113	AlignSelf,
114	AlignmentBaseline,
115	All,
116	AllPetiteCaps,
117	AllScroll,
118	AllSmallCaps,
119	AllowDiscrete,
120	AllowKeywords,
121	Alphabetic,
122	Alternate,
123	AlternateReverse,
124	Always,
125	AnchorName,
126	AnchorScope,
127	And,
128	Animate,
129	Animatemotion,
130	Animatetransform,
131	Animation,
132	AnimationComposition,
133	AnimationDelay,
134	AnimationDirection,
135	AnimationDuration,
136	AnimationFillMode,
137	AnimationIterationCount,
138	AnimationName,
139	AnimationPlayState,
140	AnimationTimeline,
141	AnimationTimingFunction,
142	AnimationTrigger,
143	AnimationTriggerBehavior,
144	AnimationTriggerExitRange,
145	AnimationTriggerExitRangeEnd,
146	AnimationTriggerExitRangeStart,
147	AnimationTriggerRange,
148	AnimationTriggerRangeEnd,
149	AnimationTriggerRangeStart,
150	AnimationTriggerTimeline,
151	Annotation,
152	AnnotationXml,
153	Antiquewhite,
154	AnyHover,
155	AnyLink,
156	AnyPointer,
157	Anywhere,
158	Appearance,
159	Applet,
160	Apply,
161	Approx,
162	Aqua,
163	Aquamarine,
164	ArabicIndic,
165	Area,
166	Arg,
167	Armenian,
168	Article,
169	AscentOverride,
170	Aside,
171	Asin,
172	AspectRatio,
173	Atan,
174	Atan2,
175	Attr,
176	Audio,
177	Auto,
178	AutoPhrase,
179	Autofill,
180	Avoid,
181	AvoidColumn,
182	AvoidFlex,
183	AvoidLine,
184	AvoidOrphans,
185	AvoidPage,
186	AvoidRegion,
187	Azure,
188	B,
189	Back,
190	Backdrop,
191	BackdropFilter,
192	BackfaceVisibility,
193	Background,
194	BackgroundAttachment,
195	BackgroundClip,
196	BackgroundColor,
197	BackgroundImage,
198	BackgroundOrigin,
199	BackgroundPosition,
200	BackgroundPositionBlock,
201	BackgroundPositionInline,
202	BackgroundPositionX,
203	BackgroundPositionY,
204	BackgroundRepeat,
205	BackgroundRepeatBlock,
206	BackgroundRepeatInline,
207	BackgroundRepeatX,
208	BackgroundRepeatY,
209	BackgroundSize,
210	Backwards,
211	Balance,
212	BalanceAll,
213	Bar,
214	Base,
215	BasePalette,
216	BaseSelect,
217	Basefont,
218	Baseline,
219	BaselineShift,
220	BaselineSource,
221	Bdi,
222	Bdo,
223	Before,
224	Beige,
225	Bengali,
226	Bevel,
227	Bgsound,
228	BidiOverride,
229	Big,
230	Bind,
231	Bisque,
232	Black,
233	Blanchedalmond,
234	Blank,
235	Bleed,
236	Blink,
237	Block,
238	BlockEllipsis,
239	BlockEnd,
240	BlockSize,
241	BlockStart,
242	BlockStep,
243	BlockStepAlign,
244	BlockStepInsert,
245	BlockStepRound,
246	BlockStepSize,
247	Blockquote,
248	Blue,
249	Blueviolet,
250	Body,
251	Bold,
252	Bolder,
253	BookmarkLabel,
254	BookmarkLevel,
255	BookmarkState,
256	Border,
257	BorderArea,
258	BorderBlock,
259	BorderBlockColor,
260	BorderBlockEnd,
261	BorderBlockEndColor,
262	BorderBlockEndRadius,
263	BorderBlockEndStyle,
264	BorderBlockEndWidth,
265	BorderBlockStart,
266	BorderBlockStartColor,
267	BorderBlockStartRadius,
268	BorderBlockStartStyle,
269	BorderBlockStartWidth,
270	BorderBlockStyle,
271	BorderBlockWidth,
272	BorderBottom,
273	BorderBottomColor,
274	BorderBottomLeftRadius,
275	BorderBottomRadius,
276	BorderBottomRightRadius,
277	BorderBottomStyle,
278	BorderBottomWidth,
279	BorderBoundary,
280	BorderBox,
281	BorderClip,
282	BorderClipBottom,
283	BorderClipLeft,
284	BorderClipRight,
285	BorderClipTop,
286	BorderCollapse,
287	BorderColor,
288	BorderEndEndRadius,
289	BorderEndStartRadius,
290	BorderImage,
291	BorderImageOutset,
292	BorderImageRepeat,
293	BorderImageSlice,
294	BorderImageSource,
295	BorderImageWidth,
296	BorderInline,
297	BorderInlineColor,
298	BorderInlineEnd,
299	BorderInlineEndColor,
300	BorderInlineEndRadius,
301	BorderInlineEndStyle,
302	BorderInlineEndWidth,
303	BorderInlineStart,
304	BorderInlineStartColor,
305	BorderInlineStartRadius,
306	BorderInlineStartStyle,
307	BorderInlineStartWidth,
308	BorderInlineStyle,
309	BorderInlineWidth,
310	BorderLeft,
311	BorderLeftColor,
312	BorderLeftRadius,
313	BorderLeftStyle,
314	BorderLeftWidth,
315	BorderLimit,
316	BorderRadius,
317	BorderRight,
318	BorderRightColor,
319	BorderRightRadius,
320	BorderRightStyle,
321	BorderRightWidth,
322	BorderShape,
323	BorderSpacing,
324	BorderStartEndRadius,
325	BorderStartStartRadius,
326	BorderStyle,
327	BorderTop,
328	BorderTopColor,
329	BorderTopLeftRadius,
330	BorderTopRadius,
331	BorderTopRightRadius,
332	BorderTopStyle,
333	BorderTopWidth,
334	BorderWidth,
335	Both,
336	BothBlock,
337	BothInline,
338	Bottom,
339	BottomCenter,
340	BottomLeft,
341	BottomLeftCorner,
342	BottomRight,
343	BottomRightCorner,
344	BottomToTop,
345	BoxDecorationBreak,
346	BoxShadow,
347	BoxShadowBlur,
348	BoxShadowColor,
349	BoxShadowOffset,
350	BoxShadowPosition,
351	BoxShadowSpread,
352	BoxSizing,
353	BoxSnap,
354	Br,
355	Break,
356	BreakAfter,
357	BreakAll,
358	BreakBefore,
359	BreakInside,
360	BreakSpaces,
361	BreakWord,
362	Brown,
363	Browser,
364	Buffering,
365	Burlywood,
366	Button,
367	Buttonborder,
368	Buttonface,
369	Buttontext,
370	Bvar,
371	Cadetblue,
372	Calc,
373	CalcSize,
374	Cambodian,
375	Canvas,
376	Canvastext,
377	Caption,
378	CaptionSide,
379	Card,
380	Caret,
381	CaretAnimation,
382	CaretColor,
383	CaretShape,
384	Cartesianproduct,
385	Cbytes,
386	Ceiling,
387	Cell,
388	Center,
389	Central,
390	Cerror,
391	Charset,
392	Chartreuse,
393	Checkbox,
394	Checked,
395	Checkmark,
396	Chocolate,
397	Ci,
398	Circle,
399	Cite,
400	CjkDecimal,
401	CjkEarthlyBranch,
402	CjkHeavenlyStem,
403	Clamp,
404	Clear,
405	Clip,
406	Click,
407	ClipPath,
408	Clippath,
409	Clone,
410	CloseQuote,
411	Closed,
412	ClosestCorner,
413	ClosestSide,
414	Cn,
415	Coarse,
416	Code,
417	Codomain,
418	Col,
419	ColResize,
420	Colgroup,
421	Collapse,
422	Color,
423	ColorAdjust,
424	ColorGamut,
425	ColorIndex,
426	ColorProfile,
427	ColorScheme,
428	Column,
429	ColumnCount,
430	ColumnFill,
431	ColumnGap,
432	ColumnHeight,
433	ColumnOverRow,
434	ColumnReverse,
435	ColumnRule,
436	ColumnRuleBreak,
437	ColumnRuleColor,
438	ColumnRuleOutset,
439	ColumnRuleStyle,
440	ColumnRuleWidth,
441	ColumnSpan,
442	ColumnWidth,
443	ColumnWrap,
444	Columns,
445	Compact,
446	Components,
447	Compose,
448	Condensed,
449	Condition,
450	Conjugate,
451	Constrained,
452	Contain,
453	ContainIntrinsicBlockSize,
454	ContainIntrinsicHeight,
455	ContainIntrinsicInlineSize,
456	ContainIntrinsicSize,
457	ContainIntrinsicWidth,
458	Container,
459	ContainerName,
460	ContainerType,
461	Content,
462	ContentBox,
463	ContentVisibility,
464	Contents,
465	ContextMenu,
466	Continue,
467	Copy,
468	CopyInto,
469	Coral,
470	Corner,
471	CornerBlockEnd,
472	CornerBlockEndShape,
473	CornerBlockStart,
474	CornerBlockStartShape,
475	CornerBottom,
476	CornerBottomLeft,
477	CornerBottomLeftShape,
478	CornerBottomRight,
479	CornerBottomRightShape,
480	CornerBottomShape,
481	CornerEndEnd,
482	CornerEndEndShape,
483	CornerEndStart,
484	CornerEndStartShape,
485	CornerInlineEnd,
486	CornerInlineEndShape,
487	CornerInlineStart,
488	CornerInlineStartShape,
489	CornerLeft,
490	CornerLeftShape,
491	CornerRight,
492	CornerRightShape,
493	CornerShape,
494	CornerStartEnd,
495	CornerStartEndShape,
496	CornerStartStart,
497	CornerStartStartShape,
498	CornerTop,
499	CornerTopLeft,
500	CornerTopLeftShape,
501	CornerTopRight,
502	CornerTopRightShape,
503	CornerTopShape,
504	Cornflowerblue,
505	Cornsilk,
506	Cos,
507	Counter,
508	CounterIncrement,
509	CounterReset,
510	CounterSet,
511	CounterStyle,
512	Counters,
513	Cover,
514	Create,
515	Crimson,
516	CrispEdges,
517	Crosshair,
518	Cs,
519	Csymbol,
520	CubicBezier,
521	Cue,
522	CueAfter,
523	CueBefore,
524	Curl,
525	Current,
526	Currentcolor,
527	Cursive,
528	Cursor,
529	Custom,
530	Cyan,
531	Cyclic,
532	D50,
533	D65,
534	Dark,
535	Darkblue,
536	Darkcyan,
537	Darkgoldenrod,
538	Darkgray,
539	Darkgreen,
540	Darkgrey,
541	Darkkhaki,
542	Darkmagenta,
543	Darkolivegreen,
544	Darkorange,
545	Darkorchid,
546	Darkred,
547	Darksalmon,
548	Darkseagreen,
549	Darkslateblue,
550	Darkslategray,
551	Darkslategrey,
552	Darkturquoise,
553	Darkviolet,
554	Dashed,
555	Data,
556	Datalist,
557	Dblclick,
558	Dd,
559	Decimal,
560	DecimalLeadingZero,
561	Declare,
562	Deeppink,
563	Deepskyblue,
564	Default,
565	Defined,
566	Defs,
567	Degree,
568	Del,
569	Desc,
570	DescentOverride,
571	Details,
572	DetailsContent,
573	Determinant,
574	Devanagari,
575	DeviceAspectRatio,
576	DeviceHeight,
577	DeviceWidth,
578	Dfn,
579	Dialog,
580	Diff,
581	Digits,
582	Dimgray,
583	Dimgrey,
584	Dir,
585	Direction,
586	Disabled,
587	Disc,
588	Discard,
589	DisclousureClosed,
590	DisclousureOpen,
591	Discrete,
592	Display,
593	DisplayMode,
594	DisplayP3,
595	Div,
596	Divergence,
597	Divide,
598	Dl,
599	Document,
600	Dodgerblue,
601	Domain,
602	Domainofapplication,
603	DominantBaseline,
604	Dotted,
605	Double,
606	Down,
607	Dt,
608	DynamicRange,
609	DynamicRangeLimit,
610	DynamicRangeLimitMix,
611	EResize,
612	Ease,
613	EaseIn,
614	EaseInOut,
615	EaseOut,
616	Economy,
617	Ellipse,
618	Embed,
619	Emoji,
620	Empty,
621	EmptyCells,
622	Emptyset,
623	Enabled,
624	End,
625	EnvironmentBlending,
626	Eq,
627	Equivalent,
628	Even,
629	EventTrigger,
630	EventTriggerName,
631	EventTriggerSource,
632	EwResize,
633	Exact,
634	Exists,
635	Exp,
636	Expanded,
637	Extends,
638	ExtraCondensed,
639	ExtraExpanded,
640	Factorial,
641	Factorof,
642	Fallback,
643	False,
644	Fangsong,
645	Fantasy,
646	FarthestCorner,
647	FarthestSide,
648	Feblend,
649	Fecolormatrix,
650	Fecomponenttransfer,
651	Fecomposite,
652	Feconvolvematrix,
653	Fediffuselighting,
654	Fedisplacementmap,
655	Fedistantlight,
656	Fedropshadow,
657	Feflood,
658	Fefunca,
659	Fefuncb,
660	Fefuncg,
661	Fefuncr,
662	Fegaussianblur,
663	Feimage,
664	Femerge,
665	Femergenode,
666	Femorphology,
667	Fencedframe,
668	Feoffset,
669	Fepointlight,
670	Fespecularlighting,
671	Fespotlight,
672	Fetile,
673	Feturbulence,
674	Field,
675	FieldSizing,
676	Fieldset,
677	Fieldtext,
678	Figcaption,
679	Figure,
680	FileSelectorButton,
681	FillBox,
682	Filter,
683	Fine,
684	Firebrick,
685	First,
686	FirstChild,
687	FirstExcept,
688	FirstLetter,
689	FirstLine,
690	FirstOfType,
691	FitContent,
692	Fixed,
693	Flat,
694	Flex,
695	FlexBasis,
696	FlexDirection,
697	FlexEnd,
698	FlexFlow,
699	FlexGrow,
700	FlexShrink,
701	FlexStart,
702	FlexVisual,
703	FlexWrap,
704	Float,
705	FloatDefer,
706	FloatOffset,
707	FloatReference,
708	Floor,
709	Floralwhite,
710	Flow,
711	FlowFrom,
712	FlowInto,
713	FlowRoot,
714	Fn,
715	Focus,
716	FocusVisible,
717	FocusWithin,
718	Font,
719	FontDisplay,
720	FontFace,
721	FontFaceFormat,
722	FontFaceName,
723	FontFaceRule,
724	FontFaceSrc,
725	FontFaceUri,
726	FontFamily,
727	FontFeatureSettings,
728	FontFeatureValues,
729	FontFormat,
730	FontKerning,
731	FontLanguageOverride,
732	FontNamedInstance,
733	FontOpticalSizing,
734	FontPalette,
735	FontPaletteValues,
736	FontSize,
737	FontSizeAdjust,
738	FontStyle,
739	FontSynthesis,
740	FontSynthesisPosition,
741	FontSynthesisSmallCaps,
742	FontSynthesisStyle,
743	FontSynthesisWeight,
744	FontTech,
745	FontVariant,
746	FontVariantAlternates,
747	FontVariantCaps,
748	FontVariantEastAsian,
749	FontVariantEmoji,
750	FontVariantLigatures,
751	FontVariantNumeric,
752	FontVariantPosition,
753	FontVariationSettings,
754	FontWeight,
755	FontWidth,
756	Footer,
757	FootnoteDisplay,
758	FootnotePolicy,
759	Forall,
760	ForceHidden,
761	ForcedColorAdjust,
762	ForcedColors,
763	Foreignobject,
764	Forestgreen,
765	Form,
766	Forwards,
767	Frame,
768	Frameset,
769	From,
770	FromFont,
771	Fuchsia,
772	Fullscreen,
773	FullscreenLandscape,
774	FullscreenPortait,
775	Future,
776	G,
777	Gainsboro,
778	Gap,
779	Gcd,
780	Generic,
781	Georgian,
782	Geq,
783	Ghostwhite,
784	GlyphOrientationVertical,
785	Gold,
786	Goldenrod,
787	Grab,
788	Grabbing,
789	GrammarError,
790	Gray,
791	Graytext,
792	Green,
793	Greenyellow,
794	Grey,
795	Grid,
796	GridArea,
797	GridAutoColumns,
798	GridAutoFlow,
799	GridAutoRows,
800	GridColumn,
801	GridColumnEnd,
802	GridColumnStart,
803	GridColumns,
804	GridOrder,
805	GridRow,
806	GridRowEnd,
807	GridRowStart,
808	GridRows,
809	GridTemplate,
810	GridTemplateAreas,
811	GridTemplateColumns,
812	GridTemplateRows,
813	Groove,
814	Gt,
815	Gujarati,
816	Gurmukhi,
817	H1,
818	H2,
819	H3,
820	H4,
821	H5,
822	H6,
823	Hanging,
824	HangingPunctuation,
825	Has,
826	HasSlotted,
827	Head,
828	Header,
829	Heading,
830	Hebrew,
831	Height,
832	Help,
833	Hgroup,
834	Hidden,
835	Hide,
836	High,
837	HighQuality,
838	Highlight,
839	Highlighttext,
840	Hiragana,
841	HiraganaIroha,
842	Honeydew,
843	Horizontal,
844	HorizontalTb,
845	HorizontalViewportSegments,
846	Host,
847	HostContext,
848	Hotpink,
849	Hover,
850	Hr,
851	Hsl,
852	Hsla,
853	Html,
854	Hwb,
855	HyphenateCharacter,
856	HyphenateLimitChars,
857	HyphenateLimitLast,
858	HyphenateLimitLines,
859	HyphenateLimitZone,
860	Hyphens,
861	Hypot,
862	I,
863	Ident,
864	Ideographic,
865	Iframe,
866	Image,
867	ImageOrientation,
868	ImageRendering,
869	ImageResolution,
870	ImageSet,
871	Imaginary,
872	Img,
873	Implies,
874	Import,
875	InRange,
876	Indeterminate,
877	Indianred,
878	Indigo,
879	Inert,
880	Infinite,
881	Infinity,
882	Inherit,
883	Inherits,
884	Initial,
885	InitialLetter,
886	InitialLetterAlign,
887	InitialLetterWrap,
888	InitialOnly,
889	InitialValue,
890	Inline,
891	InlineEnd,
892	InlineSize,
893	InlineSizing,
894	InlineStart,
895	Input,
896	InputSecurity,
897	Ins,
898	Inset,
899	InsetBlock,
900	InsetBlockEnd,
901	InsetBlockStart,
902	InsetInline,
903	InsetInlineEnd,
904	InsetInlineStart,
905	Inside,
906	Int,
907	Interactivity,
908	InterestDelay,
909	InterestDelayEnd,
910	InterestDelayStart,
911	Interlace,
912	InterpolateSize,
913	Intersect,
914	Intersection,
915	Interval,
916	Invalid,
917	Inverse,
918	Inverted,
919	InvertedColors,
920	Is,
921	Isindex,
922	Isolate,
923	IsolateOverride,
924	Isolation,
925	Italic,
926	ItemCross,
927	ItemDirection,
928	ItemFlow,
929	ItemPack,
930	ItemTolerance,
931	ItemTrack,
932	ItemWrap,
933	Ivory,
934	JumpBoth,
935	JumpEnd,
936	JumpNone,
937	JumpStart,
938	Justify,
939	JustifyAll,
940	JustifyContent,
941	JustifyItems,
942	JustifySelf,
943	Kai,
944	Kannada,
945	Katakana,
946	KatakanaIroha,
947	Kbd,
948	Keep,
949	KeepAll,
950	Keyframes,
951	Keygen,
952	Keypress,
953	Khaki,
954	Khmer,
955	KhmerMul,
956	Lab,
957	Label,
958	Lambda,
959	Landscape,
960	Lang,
961	Lao,
962	Laplacian,
963	Large,
964	Larger,
965	Last,
966	LastBaseline,
967	LastChild,
968	LastOfType,
969	Lavender,
970	Lavenderblush,
971	Lawngreen,
972	Layer,
973	Lch,
974	Lcm,
975	Leader,
976	Leading,
977	Left,
978	LeftBottom,
979	LeftMiddle,
980	LeftToRight,
981	LeftTop,
982	Leftwards,
983	Legend,
984	Lemonchiffon,
985	Leq,
986	Less,
987	LetterSpacing,
988	Li,
989	Light,
990	Lightblue,
991	Lightcoral,
992	Lightcyan,
993	Lighter,
994	Lightgoldenrodyellow,
995	Lightgray,
996	Lightgreen,
997	Lightgrey,
998	Lightpink,
999	Lightsalmon,
1000	Lightseagreen,
1001	Lightskyblue,
1002	Lightslategray,
1003	Lightslategrey,
1004	Lightsteelblue,
1005	Lightyellow,
1006	Lime,
1007	Limegreen,
1008	Limit,
1009	Line,
1010	LineBreak,
1011	LineClamp,
1012	LineFitEdge,
1013	LineGapOverride,
1014	LineGrid,
1015	LineHeight,
1016	LineHeightStep,
1017	LinePadding,
1018	LineSnap,
1019	Linear,
1020	LinearGradient,
1021	Lineargradient,
1022	Linen,
1023	Link,
1024	LinkParameters,
1025	Linktext,
1026	List,
1027	ListStyle,
1028	ListStyleImage,
1029	ListStylePosition,
1030	ListStyleType,
1031	Listbox,
1032	Listing,
1033	Ln,
1034	Local,
1035	LocalLink,
1036	Log,
1037	Logbase,
1038	Loose,
1039	LowerAlpha,
1040	LowerArmenian,
1041	LowerGreek,
1042	LowerRoman,
1043	Lowlimit,
1044	Lt,
1045	Ltr,
1046	Maction,
1047	Magenta,
1048	Main,
1049	Malayalam,
1050	Maligngroup,
1051	Malignmark,
1052	Manual,
1053	Map,
1054	Margin,
1055	MarginBlock,
1056	MarginBlockEnd,
1057	MarginBlockStart,
1058	MarginBottom,
1059	MarginBox,
1060	MarginBreak,
1061	MarginInline,
1062	MarginInlineEnd,
1063	MarginInlineStart,
1064	MarginLeft,
1065	MarginRight,
1066	MarginTop,
1067	MarginTrim,
1068	Mark,
1069	Marker,
1070	MarkerSide,
1071	Marks,
1072	Marktext,
1073	Maroon,
1074	Marquee,
1075	Mask,
1076	MaskBorder,
1077	MaskImage,
1078	MatchParent,
1079	MatchSelf,
1080	Math,
1081	Mathematical,
1082	Matrix,
1083	Matrix3d,
1084	Matrixrow,
1085	Max,
1086	MaxAspectRatio,
1087	MaxBlockSize,
1088	MaxColor,
1089	MaxColorIndex,
1090	MaxContent,
1091	MaxDeviceAspectRatio,
1092	MaxDeviceHeight,
1093	MaxDeviceWidth,
1094	MaxHeight,
1095	MaxHorizontalViewportSegments,
1096	MaxInlineSize,
1097	MaxLines,
1098	MaxMonochrome,
1099	MaxResolution,
1100	MaxSize,
1101	MaxVerticalViewportSegments,
1102	MaxWidth,
1103	Maximum,
1104	Mean,
1105	Media,
1106	MediaDocument,
1107	Median,
1108	Medium,
1109	Mediumaquamarine,
1110	Mediumblue,
1111	Mediumorchid,
1112	Mediumpurple,
1113	Mediumseagreen,
1114	Mediumslateblue,
1115	Mediumspringgreen,
1116	Mediumturquoise,
1117	Mediumvioletred,
1118	Menclose,
1119	Menu,
1120	Menuitem,
1121	Menulist,
1122	MenulistButton,
1123	Merge,
1124	Merror,
1125	Meta,
1126	Metadata,
1127	Meter,
1128	Mfenced,
1129	Mfrac,
1130	Mfraction,
1131	Mglyph,
1132	Mi,
1133	Middle,
1134	Midnightblue,
1135	Min,
1136	MinAspectRatio,
1137	MinBlockSize,
1138	MinColor,
1139	MinColorIndex,
1140	MinContent,
1141	MinDeviceAspectRatio,
1142	MinDeviceHeight,
1143	MinDeviceWidth,
1144	MinHeight,
1145	MinHorizontalViewportSegments,
1146	MinInlineSize,
1147	MinIntrinsicSizing,
1148	MinMonochrome,
1149	MinResolution,
1150	MinSize,
1151	MinVerticalViewportSegments,
1152	MinWidth,
1153	MinimalUi,
1154	Minimum,
1155	Mintcream,
1156	Minus,
1157	MissingGlyph,
1158	Mistyrose,
1159	MixBlendMode,
1160	Mixed,
1161	Mlabeledtr,
1162	Mlongdiv,
1163	Mmultiscripts,
1164	Mn,
1165	Mo,
1166	Moccasin,
1167	Mod,
1168	Modal,
1169	Mode,
1170	Moderate,
1171	Moment,
1172	Momentabout,
1173	Mongolian,
1174	Monochrome,
1175	Monospace,
1176	More,
1177	MostBlockSize,
1178	MostHeight,
1179	MostInlineSize,
1180	MostWidth,
1181	Move,
1182	Mover,
1183	Mpadded,
1184	Mpath,
1185	Mphantom,
1186	Mprescripts,
1187	Mroot,
1188	Mrow,
1189	Mscarries,
1190	Mscarry,
1191	Msgroup,
1192	Msline,
1193	Mspace,
1194	Msqrt,
1195	Msrow,
1196	Mstack,
1197	Mstyle,
1198	Msub,
1199	Msubsup,
1200	Msup,
1201	Mtable,
1202	Mtd,
1203	Mtext,
1204	Mtr,
1205	Multicol,
1206	Munder,
1207	Munderover,
1208	Muted,
1209	Myanmar,
1210	NResize,
1211	Namespace,
1212	Narrow,
1213	Nastaliq,
1214	Nav,
1215	NavControls,
1216	NavDown,
1217	NavLeft,
1218	NavRight,
1219	NavUp,
1220	Navajowhite,
1221	Navigation,
1222	Navy,
1223	NeResize,
1224	Near,
1225	Nearest,
1226	Negative,
1227	Neq,
1228	NeswResize,
1229	Never,
1230	Nextid,
1231	NoCloseQuote,
1232	NoDrop,
1233	NoEllipsis,
1234	NoLimit,
1235	NoOpenQuote,
1236	NoPreference,
1237	NoRepeat,
1238	Nobr,
1239	Noembed,
1240	Noframes,
1241	None,
1242	Normal,
1243	Noscript,
1244	Not,
1245	NotAllowed,
1246	Notch,
1247	Notin,
1248	Notprsubset,
1249	Notsubset,
1250	Nowrap,
1251	NsResize,
1252	NthChild,
1253	NthCol,
1254	NthLastChild,
1255	NthLastCol,
1256	NthLastOfType,
1257	NthOfType,
1258	Numeric,
1259	NumericOnly,
1260	NwResize,
1261	NwseResize,
1262	Object,
1263	ObjectFit,
1264	ObjectPosition,
1265	ObjectViewBox,
1266	Oblique,
1267	ObliqueOnly,
1268	Odd,
1269	OffsetPath,
1270	OffsetPosition,
1271	Oklab,
1272	Oklch,
1273	Ol,
1274	Oldlace,
1275	Olive,
1276	Olivedrab,
1277	Once,
1278	Only,
1279	OnlyChild,
1280	OnlyOfType,
1281	Opacity,
1282	Opaque,
1283	Open,
1284	OpenQuote,
1285	Optgroup,
1286	Option,
1287	Optional,
1288	Or,
1289	Orange,
1290	Orangered,
1291	Orchid,
1292	Order,
1293	Orientation,
1294	Oriya,
1295	Orphans,
1296	Otherwise,
1297	OutOfRange,
1298	Outerproduct,
1299	Outline,
1300	OutlineColor,
1301	OutlineOffset,
1302	OutlineStyle,
1303	OutlineWidth,
1304	Output,
1305	Outset,
1306	Outside,
1307	Overflow,
1308	OverflowAnchor,
1309	OverflowBlock,
1310	OverflowClipMargin,
1311	OverflowClipMarginBlock,
1312	OverflowClipMarginBlockEnd,
1313	OverflowClipMarginBlockStart,
1314	OverflowClipMarginBottom,
1315	OverflowClipMarginInline,
1316	OverflowClipMarginInlineEnd,
1317	OverflowClipMarginInlineStart,
1318	OverflowClipMarginLeft,
1319	OverflowClipMarginRight,
1320	OverflowClipMarginTop,
1321	OverflowInline,
1322	OverflowWrap,
1323	OverflowX,
1324	OverflowY,
1325	Overlay,
1326	Override,
1327	OverrideColors,
1328	OverscrollBehavior,
1329	OverscrollBehaviorBlock,
1330	OverscrollBehaviorInline,
1331	OverscrollBehaviorX,
1332	OverscrollBehaviorY,
1333	P,
1334	P3,
1335	Pad,
1336	Padding,
1337	PaddingBlock,
1338	PaddingBlockEnd,
1339	PaddingBlockStart,
1340	PaddingBottom,
1341	PaddingBox,
1342	PaddingInline,
1343	PaddingInlineEnd,
1344	PaddingInlineStart,
1345	PaddingLeft,
1346	PaddingRight,
1347	PaddingTop,
1348	Page,
1349	PageOrientation,
1350	Paged,
1351	Palegoldenrod,
1352	Palegreen,
1353	Paleturquoise,
1354	Palevioletred,
1355	Papayawhip,
1356	Param,
1357	Parent,
1358	Part,
1359	Partialdiff,
1360	Past,
1361	Path,
1362	Pattern,
1363	Pause,
1364	PauseAfter,
1365	PauseBefore,
1366	Paused,
1367	Peachpuff,
1368	Perceptual,
1369	Performance,
1370	Permission,
1371	Persian,
1372	Perspective,
1373	PerspectiveOrigin,
1374	Peru,
1375	PetiteCaps,
1376	Picker,
1377	PickerIcon,
1378	Picture,
1379	PictureInPicture,
1380	Piece,
1381	Piecewise,
1382	Pink,
1383	Pixelated,
1384	PlaceContent,
1385	PlaceItems,
1386	PlaceSelf,
1387	Placeholder,
1388	PlaceholderShown,
1389	Plaintext,
1390	Play,
1391	PlayBackwards,
1392	PlayForwards,
1393	Playing,
1394	Plum,
1395	Plus,
1396	Pointer,
1397	PointerEvents,
1398	Polygon,
1399	Polyline,
1400	PopoverOpen,
1401	Portal,
1402	Portrait,
1403	Position,
1404	PositionAnchor,
1405	PositionArea,
1406	PositionTry,
1407	PositionTryFallbacks,
1408	PositionTryOrder,
1409	PositionVisibility,
1410	Pow,
1411	Powderblue,
1412	Power,
1413	Pre,
1414	PrefersColorScheme,
1415	PrefersContrast,
1416	PrefersReducedData,
1417	PrefersReducedMotion,
1418	PrefersReducedTransparency,
1419	Prefix,
1420	Preserve,
1421	Preserve3d,
1422	PreserveBreaks,
1423	PreserveParentColor,
1424	PreserveSpaces,
1425	Pretty,
1426	Print,
1427	PrintColorAdjust,
1428	Product,
1429	Progress,
1430	ProgressBar,
1431	Progressive,
1432	Property,
1433	ProphotoRgb,
1434	Prsubset,
1435	Punctuation,
1436	Purple,
1437	Quotes,
1438	Quotient,
1439	RadialGradient,
1440	Radialgradient,
1441	Radio,
1442	Range,
1443	RawString,
1444	Rb,
1445	ReadOnly,
1446	ReadWrite,
1447	ReadingFlow,
1448	ReadingOrder,
1449	Real,
1450	Rebeccapurple,
1451	Rec2020,
1452	Rect,
1453	Recto,
1454	Red,
1455	Reduce,
1456	Reduced,
1457	Regexp,
1458	Region,
1459	RegionFragment,
1460	Relative,
1461	RelativeColorimetric,
1462	Reln,
1463	RenderingIntent,
1464	Repeat,
1465	RepeatX,
1466	RepeatY,
1467	RepeatingLinearGradient,
1468	RepeatingRadialGradient,
1469	Replace,
1470	Replay,
1471	Required,
1472	Reset,
1473	Resize,
1474	Resolution,
1475	Rest,
1476	RestAfter,
1477	RestBefore,
1478	Result,
1479	Reverse,
1480	Revert,
1481	RevertLayer,
1482	Rgb,
1483	Rgba,
1484	Ridge,
1485	Right,
1486	RightBottom,
1487	RightMiddle,
1488	RightToLeft,
1489	RightTop,
1490	Rightwards,
1491	Root,
1492	Rosybrown,
1493	Rotate,
1494	Rotate3d,
1495	RotateLeft,
1496	RotateRight,
1497	#[atom("rotateX")]
1498	Rotatex,
1499	#[atom("rotateY")]
1500	Rotatey,
1501	#[atom("rotateZ")]
1502	Rotatez,
1503	Round,
1504	Row,
1505	RowGap,
1506	RowOverColumn,
1507	RowResize,
1508	RowReverse,
1509	RowRule,
1510	RowRuleBreak,
1511	RowRuleColor,
1512	RowRuleOutset,
1513	RowRuleStyle,
1514	RowRuleWidth,
1515	Royalblue,
1516	Rp,
1517	Rt,
1518	Rtc,
1519	Rtl,
1520	Ruby,
1521	RubyAlign,
1522	RubyMerge,
1523	RubyOverhang,
1524	RubyPosition,
1525	Rule,
1526	RuleBreak,
1527	RuleColor,
1528	RuleOutset,
1529	RuleOverlap,
1530	RuleStyle,
1531	RuleWidth,
1532	RunIn,
1533	Running,
1534	SResize,
1535	Saddlebrown,
1536	Safe,
1537	Salmon,
1538	Samp,
1539	Sandybrown,
1540	SansSerif,
1541	Saturation,
1542	Scalarproduct,
1543	Scale,
1544	Scale3d,
1545	#[atom("scaleX")]
1546	Scalex,
1547	#[atom("scaleY")]
1548	Scaley,
1549	#[atom("scaleZ")]
1550	Scalez,
1551	Scan,
1552	Scoop,
1553	Scope,
1554	Screen,
1555	Script,
1556	Scripting,
1557	Scroll,
1558	ScrollBehavior,
1559	ScrollInitialTarget,
1560	ScrollMargin,
1561	ScrollMarginBlock,
1562	ScrollMarginBlockEnd,
1563	ScrollMarginBlockStart,
1564	ScrollMarginBottom,
1565	ScrollMarginInline,
1566	ScrollMarginInlineEnd,
1567	ScrollMarginInlineStart,
1568	ScrollMarginLeft,
1569	ScrollMarginRight,
1570	ScrollMarginTop,
1571	ScrollMarker,
1572	ScrollMarkerGroup,
1573	ScrollPadding,
1574	ScrollPaddingBlock,
1575	ScrollPaddingBlockEnd,
1576	ScrollPaddingBlockStart,
1577	ScrollPaddingBottom,
1578	ScrollPaddingInline,
1579	ScrollPaddingInlineEnd,
1580	ScrollPaddingInlineStart,
1581	ScrollPaddingLeft,
1582	ScrollPaddingRight,
1583	ScrollPaddingTop,
1584	ScrollPosition,
1585	ScrollSnapAlign,
1586	ScrollSnapStop,
1587	ScrollSnapType,
1588	ScrollTargetGroup,
1589	Scrollable,
1590	ScrollbarColor,
1591	ScrollbarGutter,
1592	ScrollbarWidth,
1593	Scrolled,
1594	Sdev,
1595	SeResize,
1596	Seagreen,
1597	Search,
1598	Seashell,
1599	Section,
1600	Seeking,
1601	Select,
1602	Selectedcontent,
1603	Selecteditem,
1604	Selecteditemtext,
1605	Selection,
1606	Selector,
1607	SelfBlockEnd,
1608	SelfBlockStart,
1609	SelfEnd,
1610	SelfInlineEnd,
1611	SelfInlineStart,
1612	SelfStart,
1613	Semantics,
1614	SemiCondensed,
1615	SemiExpanded,
1616	Sep,
1617	Separate,
1618	Serif,
1619	Set,
1620	Setdiff,
1621	Shape,
1622	ShapeImageThreshold,
1623	ShapeInside,
1624	ShapeMargin,
1625	ShapeOutside,
1626	ShapePadding,
1627	Share,
1628	Show,
1629	Sideways,
1630	SidewaysLr,
1631	SidewaysRl,
1632	Sienna,
1633	Sign,
1634	Silver,
1635	Sin,
1636	Size,
1637	SizeAdjust,
1638	Skew,
1639	Skewx,
1640	Skewy,
1641	Skyblue,
1642	Slateblue,
1643	Slategray,
1644	Slategrey,
1645	Slice,
1646	SliderOrientation,
1647	Slot,
1648	Slotted,
1649	Small,
1650	SmallCaps,
1651	Smaller,
1652	Smooth,
1653	SnapBlock,
1654	SnapInline,
1655	Snapped,
1656	Snow,
1657	Solid,
1658	SomeProp,
1659	Source,
1660	SourceOrder,
1661	Space,
1662	SpaceAll,
1663	SpaceAround,
1664	SpaceBetween,
1665	SpaceEvenly,
1666	SpaceFirst,
1667	Spacer,
1668	Spaces,
1669	Span,
1670	SpanAll,
1671	SpanBlockEnd,
1672	SpanBlockStart,
1673	SpanBottom,
1674	SpanEnd,
1675	SpanInlineEnd,
1676	SpanInlineStart,
1677	SpanLeft,
1678	SpanRight,
1679	SpanSelfBlockEnd,
1680	SpanSelfBlockStart,
1681	SpanSelfEnd,
1682	SpanSelfInlineEnd,
1683	SpanSelfInlineStart,
1684	SpanSelfStart,
1685	SpanStart,
1686	SpanTop,
1687	SpanXEnd,
1688	SpanXSelfEnd,
1689	SpanXSelfStart,
1690	SpanXStart,
1691	SpanYEnd,
1692	SpanYSelfEnd,
1693	SpanYSelfStart,
1694	SpanYStart,
1695	SpanningItem,
1696	SpatialNavigationAction,
1697	SpatialNavigationContain,
1698	SpatialNavigationFunction,
1699	Speak,
1700	SpeakAs,
1701	SpellingError,
1702	Spread,
1703	Springgreen,
1704	Sqrt,
1705	Square,
1706	Squircle,
1707	Src,
1708	Srgb,
1709	SrgbLinear,
1710	Stable,
1711	Stalled,
1712	Standalone,
1713	Standard,
1714	Start,
1715	StartingStyle,
1716	State,
1717	Static,
1718	Steelblue,
1719	StepEnd,
1720	StepStart,
1721	Steps,
1722	Sticky,
1723	Stop,
1724	Stretch,
1725	Strict,
1726	Strike,
1727	String,
1728	StringSet,
1729	Stripes,
1730	StrokeBox,
1731	Strong,
1732	Stuck,
1733	Style,
1734	Sub,
1735	Subset,
1736	Subtractive,
1737	Suffix,
1738	Sum,
1739	Summary,
1740	Sup,
1741	Super,
1742	Superellipse,
1743	Supports,
1744	Svg,
1745	SwResize,
1746	Swap,
1747	Switch,
1748	Symbol,
1749	Symbolic,
1750	Symbols,
1751	Syntax,
1752	System,
1753	SystemUi,
1754	TabSize,
1755	Table,
1756	TableLayout,
1757	Tamil,
1758	Tan,
1759	Target,
1760	TargetCounter,
1761	TargetCounters,
1762	TargetCurrent,
1763	TargetText,
1764	TargetWithin,
1765	Tbody,
1766	Td,
1767	Teal,
1768	Telugu,
1769	Template,
1770	Tendsto,
1771	Text,
1772	TextAlign,
1773	TextAlignAll,
1774	TextAlignLast,
1775	TextAutospace,
1776	TextBottom,
1777	TextBox,
1778	TextBoxEdge,
1779	TextBoxTrim,
1780	TextCombineUpright,
1781	TextDecoration,
1782	TextDecorationColor,
1783	TextDecorationLine,
1784	TextDecorationSkip,
1785	TextDecorationSkipBox,
1786	TextDecorationSkipInk,
1787	TextDecorationSkipSelf,
1788	TextDecorationSkipSpaces,
1789	TextDecorationStyle,
1790	TextDecorationThickness,
1791	TextDecorationTrim,
1792	TextEmphasis,
1793	TextEmphasisColor,
1794	TextEmphasisPosition,
1795	TextEmphasisSkip,
1796	TextEmphasisStyle,
1797	TextGroupAlign,
1798	TextIndent,
1799	TextJustify,
1800	TextOrientation,
1801	TextOverflow,
1802	TextShadow,
1803	TextSizeAdjust,
1804	TextSpacing,
1805	TextSpacingTrim,
1806	TextTop,
1807	TextTransform,
1808	TextUnderlineOffset,
1809	TextUnderlinePosition,
1810	TextWrap,
1811	TextWrapMode,
1812	TextWrapStyle,
1813	Textarea,
1814	Textfield,
1815	Textpath,
1816	Tfoot,
1817	Th,
1818	Thai,
1819	Thead,
1820	Thick,
1821	Thin,
1822	Thistle,
1823	Tibetan,
1824	Time,
1825	TimelineTrigger,
1826	TimelineTriggerExitRange,
1827	TimelineTriggerExitRangeEnd,
1828	TimelineTriggerExitRangeStart,
1829	TimelineTriggerName,
1830	TimelineTriggerRange,
1831	TimelineTriggerRangeEnd,
1832	TimelineTriggerRangeStart,
1833	TimelineTriggerSource,
1834	Times,
1835	Title,
1836	TitlingCaps,
1837	To,
1838	Tomato,
1839	Top,
1840	TopCenter,
1841	TopLeft,
1842	TopLeftCorner,
1843	TopRight,
1844	TopRightCorner,
1845	TopToBottom,
1846	Touch,
1847	Tr,
1848	Track,
1849	Transform,
1850	TransformBox,
1851	TransformOrigin,
1852	TransformStyle,
1853	Transition,
1854	TransitionBehavior,
1855	TransitionDelay,
1856	TransitionDuration,
1857	TransitionProperty,
1858	TransitionTimingFunction,
1859	Translate,
1860	Translate3d,
1861	#[atom("translateX")]
1862	Translatex,
1863	#[atom("translateY")]
1864	Translatey,
1865	#[atom("translateZ")]
1866	Translatez,
1867	Transparent,
1868	Transpose,
1869	TrimAll,
1870	TrimBoth,
1871	TrimEnd,
1872	TrimStart,
1873	True,
1874	Tspan,
1875	Tt,
1876	Turquoise,
1877	Type,
1878	Types,
1879	U,
1880	UiMonospace,
1881	UiRounded,
1882	UiSansSerif,
1883	UiSerif,
1884	Ul,
1885	UltraCondensed,
1886	UltraExpanded,
1887	Underscore,
1888	Unicase,
1889	Unicode,
1890	UnicodeBidi,
1891	UnicodeRange,
1892	Union,
1893	Unsafe,
1894	Unset,
1895	Up,
1896	Update,
1897	Uplimit,
1898	UpperAlpha,
1899	UpperArmenian,
1900	UpperLatin,
1901	UpperRoman,
1902	Upright,
1903	Url,
1904	UrlPrefix,
1905	Use,
1906	UserInvalid,
1907	UserSelect,
1908	Valid,
1909	Var,
1910	Variance,
1911	Vector,
1912	Vectorproduct,
1913	Verso,
1914	Vertical,
1915	VerticalAlign,
1916	VerticalLr,
1917	VerticalRl,
1918	VerticalText,
1919	VerticalViewportSegments,
1920	Video,
1921	VideoColorGamut,
1922	VideoDynamicRange,
1923	View,
1924	ViewBox,
1925	ViewTransition,
1926	ViewTransitionClass,
1927	ViewTransitionGroup,
1928	ViewTransitionImagePair,
1929	ViewTransitionName,
1930	ViewTransitionNew,
1931	ViewTransitionOld,
1932	Violet,
1933	Visibility,
1934	Visible,
1935	Visited,
1936	Visitedtext,
1937	VoiceBalance,
1938	VoiceDuration,
1939	VoiceFamily,
1940	VoicePitch,
1941	VoiceRange,
1942	VoiceRate,
1943	VoiceStress,
1944	VoiceVolume,
1945	VolumeLocked,
1946	WResize,
1947	Wait,
1948	Wavy,
1949	Wbr,
1950	Weak,
1951	Wheat,
1952	Where,
1953	White,
1954	WhiteSpace,
1955	WhiteSpaceCollapse,
1956	WhiteSpaceTrim,
1957	Whitesmoke,
1958	Widows,
1959	Width,
1960	WillChange,
1961	WindowsVista,
1962	WindowsWin10,
1963	WindowsWin7,
1964	WindowsWin8,
1965	WindowsXp,
1966	WordBreak,
1967	WordSpaceTransform,
1968	WordSpacing,
1969	WordWrap,
1970	Wrap,
1971	WrapAfter,
1972	WrapBefore,
1973	WrapFlow,
1974	WrapInside,
1975	WrapReverse,
1976	WrapThrough,
1977	WritingMode,
1978	XEnd,
1979	XLarge,
1980	XSelfEnd,
1981	XSelfStart,
1982	XSmall,
1983	XStart,
1984	XStrong,
1985	XWeak,
1986	Xmp,
1987	Xo,
1988	XxLarge,
1989	XxSmall,
1990	Xyz,
1991	XyzD50,
1992	XyzD65,
1993	YEnd,
1994	YSelfEnd,
1995	YSelfStart,
1996	YStart,
1997	Yellow,
1998	Yellowgreen,
1999	ZIndex,
2000	Zoom,
2001	ZoomIn,
2002	ZoomOut,
2003
2004	// Vendor prefixed:
2005	#[atom("-moz-anonymous-block")]
2006	_MozAnonymousBlock,
2007	#[atom("-moz-anonymous-item")]
2008	_MozAnonymousItem,
2009	#[atom("-moz-anonymous-positioned-block")]
2010	_MozAnonymousPositionedBlock,
2011	#[atom("-moz-any")]
2012	_MozAny,
2013	#[atom("-moz-any-link")]
2014	_MozAnyLink,
2015	#[atom("-moz-block-inside-inline-wrapper")]
2016	_MozBlockInsideInlineWrapper,
2017	#[atom("-moz-block-ruby-content")]
2018	_MozBlockRubyContent,
2019	#[atom("-moz-broken")]
2020	_MozBroken,
2021	#[atom("-moz-button-content")]
2022	_MozButtonContent,
2023	#[atom("-moz-canvas")]
2024	_MozCanvas,
2025	#[atom("-moz-cell-content")]
2026	_MozCellContent,
2027	#[atom("-moz-color-swatch")]
2028	_MozColorSwatch,
2029	#[atom("-moz-column-content")]
2030	_MozColumnContent,
2031	#[atom("-moz-column-set")]
2032	_MozColumnSet,
2033	#[atom("-moz-column-span-wrapper")]
2034	_MozColumnSpanWrapper,
2035	#[atom("-moz-device-orientation")]
2036	_MozDeviceOrientation,
2037	#[atom("-moz-device-pixel-ratio")]
2038	_MozDevicePixelRatio,
2039	#[atom("-moz-document")]
2040	_MozDocument,
2041	#[atom("-moz-drag-over")]
2042	_MozDragOver,
2043	#[atom("-moz-dropdown-list")]
2044	_MozDropdownList,
2045	#[atom("-moz-fieldset-content")]
2046	_MozFieldsetContent,
2047	#[atom("-moz-first-letter-continuation")]
2048	_MozFirstLetterContinuation,
2049	#[atom("-moz-first-node")]
2050	_MozFirstNode,
2051	#[atom("-moz-focus-inner")]
2052	_MozFocusInner,
2053	#[atom("-moz-focus-outer")]
2054	_MozFocusOuter,
2055	#[atom("-moz-focusring")]
2056	_MozFocusring,
2057	#[atom("-moz-frameset-blank")]
2058	_MozFramesetBlank,
2059	#[atom("-moz-full-screen")]
2060	_MozFullScreen,
2061	#[atom("-moz-full-screen-ancestor")]
2062	_MozFullScreenAncestor,
2063	#[atom("-moz-handler-blocked")]
2064	_MozHandlerBlocked,
2065	#[atom("-moz-handler-crashed")]
2066	_MozHandlerCrashed,
2067	#[atom("-moz-handler-disabled")]
2068	_MozHandlerDisabled,
2069	#[atom("-moz-hframeset-border")]
2070	_MozHframesetBorder,
2071	#[atom("-moz-html-canvas-content")]
2072	_MozHtmlCanvasContent,
2073	#[atom("-moz-images-in-menus")]
2074	_MozImagesInMenus,
2075	#[atom("-moz-inline-table")]
2076	_MozInlineTable,
2077	#[atom("-moz-last-node")]
2078	_MozLastNode,
2079	#[atom("-moz-line-frame")]
2080	_MozLineFrame,
2081	#[atom("-moz-list-bullet")]
2082	_MozListBullet,
2083	#[atom("-moz-list-number")]
2084	_MozListNumber,
2085	#[atom("-moz-loading")]
2086	_MozLoading,
2087	#[atom("-moz-locale-dir")]
2088	_MozLocaleDir,
2089	#[atom("-moz-lwtheme")]
2090	_MozLwtheme,
2091	#[atom("-moz-lwtheme-brighttext")]
2092	_MozLwthemeBrighttext,
2093	#[atom("-moz-lwtheme-darktext")]
2094	_MozLwthemeDarktext,
2095	#[atom("-moz-mac-grapite-theme")]
2096	_MozMacGraphiteTheme,
2097	#[atom("-moz-maemo-classic-theme")]
2098	_MozMaemoClassicTheme,
2099	#[atom("-moz-mathml-anonymous-block")]
2100	_MozMathmlAnonymousBlock,
2101	#[atom("-moz-max-device-pixel-ratio")]
2102	_MozMaxDevicePixelRatio,
2103	#[atom("-moz-min-device-pixel-ratio")]
2104	_MozMinDevicePixelRatio,
2105	#[atom("-moz-native-anonymous")]
2106	_MozNativeAnonymous,
2107	#[atom("-moz-number-spin-box")]
2108	_MozNumberSpinBox,
2109	#[atom("-moz-number-spin-down")]
2110	_MozNumberSpinDown,
2111	#[atom("-moz-number-spin-up")]
2112	_MozNumberSpinUp,
2113	#[atom("-moz-only-whitespace")]
2114	_MozOnlyWhitespace,
2115	#[atom("-moz-oof-placeholder")]
2116	_MozOofPlaceholder,
2117	#[atom("-moz-os-version")]
2118	_MozOsVersion,
2119	#[atom("-moz-page")]
2120	_MozPage,
2121	#[atom("-moz-page-break")]
2122	_MozPageBreak,
2123	#[atom("-moz-page-content")]
2124	_MozPageContent,
2125	#[atom("-moz-page-sequence")]
2126	_MozPageSequence,
2127	#[atom("-moz-pagebreak")]
2128	_MozPagebreak,
2129	#[atom("-moz-pagecontent")]
2130	_MozPagecontent,
2131	#[atom("-moz-placeholder")]
2132	_MozPlaceholder,
2133	#[atom("-moz-placeholder-shown")]
2134	_MozPlaceholderShown,
2135	#[atom("-moz-printed-sheet")]
2136	_MozPrintedSheet,
2137	#[atom("-moz-progress-bar")]
2138	_MozProgressBar,
2139	#[atom("-moz-range-progress")]
2140	_MozRangeProgress,
2141	#[atom("-moz-range-thumb")]
2142	_MozRangeThumb,
2143	#[atom("-moz-range-track")]
2144	_MozRangeTrack,
2145	#[atom("-moz-read-only")]
2146	_MozReadOnly,
2147	#[atom("-moz-read-write")]
2148	_MozReadWrite,
2149	#[atom("-moz-reveal")]
2150	_MozReveal,
2151	#[atom("-moz-ruby")]
2152	_MozRuby,
2153	#[atom("-moz-ruby-base")]
2154	_MozRubyBase,
2155	#[atom("-moz-ruby-base-container")]
2156	_MozRubyBaseContainer,
2157	#[atom("-moz-ruby-text")]
2158	_MozRubyText,
2159	#[atom("-moz-ruby-text-container")]
2160	_MozRubyTextContainer,
2161	#[atom("-moz-scrolled-canvas")]
2162	_MozScrolledCanvas,
2163	#[atom("-moz-scrolled-content")]
2164	_MozScrolledContent,
2165	#[atom("-moz-scrolled-page-sequence")]
2166	_MozScrolledPageSequence,
2167	#[atom("-moz-search-clear-button")]
2168	_MozSearchClearButton,
2169	#[atom("-moz-selection")]
2170	_MozSelection,
2171	#[atom("-moz-submit-invalid")]
2172	_MozSubmitInvalid,
2173	#[atom("-moz-suppressed")]
2174	_MozSuppressed,
2175	#[atom("-moz-svg-foreign-content")]
2176	_MozSvgForeignContent,
2177	#[atom("-moz-svg-marker-anon-child")]
2178	_MozSvgMarkerAnonChild,
2179	#[atom("-moz-svg-marker-outer-svg-anon-child")]
2180	_MozSvgMarkerOuterSvgAnonChild,
2181	#[atom("-moz-svg-text")]
2182	_MozSvgText,
2183	#[atom("-moz-table")]
2184	_MozTable,
2185	#[atom("-moz-table-cell")]
2186	_MozTableCell,
2187	#[atom("-moz-table-column")]
2188	_MozTableColumn,
2189	#[atom("-moz-table-column-group")]
2190	_MozTableColumnGroup,
2191	#[atom("-moz-table-outer")]
2192	_MozTableOuter,
2193	#[atom("-moz-table-row")]
2194	_MozTableRow,
2195	#[atom("-moz-table-row-group")]
2196	_MozTableRowGroup,
2197	#[atom("-moz-table-wrapper")]
2198	_MozTableWrapper,
2199	#[atom("-moz-text-control-editing-root")]
2200	_MozTextControlEditingRoot,
2201	#[atom("-moz-text-control-preview")]
2202	_MozTextControlPreview,
2203	#[atom("-moz-touch-enabled")]
2204	_MozTouchEnabled,
2205	#[atom("-moz-tree-cell")]
2206	_MozTreeCell,
2207	#[atom("-moz-tree-cell-text")]
2208	_MozTreeCellText,
2209	#[atom("-moz-tree-checkbox")]
2210	_MozTreeCheckbox,
2211	#[atom("-moz-tree-column")]
2212	_MozTreeColumn,
2213	#[atom("-moz-tree-drop-feedback")]
2214	_MozTreeDropFeedback,
2215	#[atom("-moz-tree-image")]
2216	_MozTreeImage,
2217	#[atom("-moz-tree-indentation")]
2218	_MozTreeIndentation,
2219	#[atom("-moz-tree-line")]
2220	_MozTreeLine,
2221	#[atom("-moz-tree-row")]
2222	_MozTreeRow,
2223	#[atom("-moz-tree-separator")]
2224	_MozTreeSeparator,
2225	#[atom("-moz-tree-twisty")]
2226	_MozTreeTwisty,
2227	#[atom("-moz-ui-invalid")]
2228	_MozUiInvalid,
2229	#[atom("-moz-ui-valid")]
2230	_MozUiValid,
2231	#[atom("-moz-user-disabled")]
2232	_MozUserDisabled,
2233	#[atom("-moz-vframeset-border")]
2234	_MozVframesetBorder,
2235	#[atom("-moz-viewport")]
2236	_MozViewport,
2237	#[atom("-moz-viewport-scroll")]
2238	_MozViewportScroll,
2239	#[atom("-moz-window-inactive")]
2240	_MozWindowInactive,
2241
2242	#[atom("-ms-column-count")]
2243	_MsColumnCount,
2244	#[atom("-ms-device-pixel-ratio")]
2245	_MsDevicePixelRatio,
2246	#[atom("-ms-high-contrast")]
2247	_MsHighContrast,
2248	#[atom("-ms-ime-align")]
2249	_MsImeAlign,
2250	#[atom("-ms-max-column-count")]
2251	_MsMaxColumnCount,
2252	#[atom("-ms-max-device-pixel-ratio")]
2253	_MsMaxDevicepixelRatio,
2254	#[atom("-ms-min-column-count")]
2255	_MsMinColumnCount,
2256	#[atom("-ms-min-device-pixel-ratio")]
2257	_MsMinDevicePixelRatio,
2258	#[atom("-ms-view-state")]
2259	_MsViewState,
2260	#[atom("-ms-backdrop")]
2261	_MsBackdrop,
2262	#[atom("-ms-browse")]
2263	_MsBrowse,
2264	#[atom("-ms-check")]
2265	_MsCheck,
2266	#[atom("-ms-clear")]
2267	_MsClear,
2268	#[atom("-ms-expand")]
2269	_MsExpand,
2270	#[atom("-ms-fill")]
2271	_MsFill,
2272	#[atom("-ms-fill-lower")]
2273	_MsFillLower,
2274	#[atom("-ms-fill-upper")]
2275	_MsFillUpper,
2276	#[atom("-ms-fullscreen")]
2277	_MsFullscreen,
2278	#[atom("-ms-input-placeholder")]
2279	_MsInputPlaceholder,
2280	#[atom("-ms-placeholder")]
2281	_MsPlaceholder,
2282	#[atom("-ms-reveal")]
2283	_MsReveal,
2284	#[atom("-ms-selection")]
2285	_MsSelection,
2286	#[atom("-ms-thumb")]
2287	_MsThumb,
2288	#[atom("-ms-ticks-after")]
2289	_MsTicksAfter,
2290	#[atom("-ms-ticks-before")]
2291	_MsTicksBefore,
2292	#[atom("-ms-tooltip")]
2293	_MsTooltip,
2294	#[atom("-ms-track")]
2295	_MsTrack,
2296	#[atom("-ms-value")]
2297	_MsValue,
2298
2299	#[atom("-webkit-animation")]
2300	_WebkitAnimation,
2301	#[atom("-webkit-any")]
2302	_WebkitAny,
2303	#[atom("-webkit-backdrop-filter")]
2304	_WebkitBackdropFilter,
2305	#[atom("-webkit-box-reflect")]
2306	_WebkitBoxReflect,
2307	#[atom("-webkit-device-pixel-ratio")]
2308	_WebkitDevicePixelRatio,
2309	#[atom("-webkit-distributed")]
2310	_WebkitDistributed,
2311	#[atom("-webkit-keyframes")]
2312	_WebkitKeyframes,
2313	#[atom("-webkit-max-device-pixel-ratio")]
2314	_WebkitMaxDevicePixelRatio,
2315	#[atom("-webkit-min-device-pixel-ratio")]
2316	_WebkitMinDevicePixelRatio,
2317	#[atom("-webkit-transform-2d")]
2318	_WebkitTransform2d,
2319	#[atom("-webkit-transform-3d")]
2320	_WebkitTransform3d,
2321	#[atom("-webkit-transition")]
2322	_WebkitTransition,
2323	#[atom("-webkit-video-playable-inline")]
2324	_WebkitVideoPlayableInline,
2325	#[atom("-webkit-calendar-picker-indicator")]
2326	_WebkitCalendarPickerIndicator,
2327	#[atom("-webkit-caps-lock-indicator")]
2328	_WebkitCapsLockIndicator,
2329	#[atom("-webkit-color-swatch")]
2330	_WebkitColorSwatch,
2331	#[atom("-webkit-color-swatch-wrapper")]
2332	_WebkitColorSwatchWrapper,
2333	#[atom("-webkit-contacts-auto-fill-button")]
2334	_WebkitContactsAutoFillButton,
2335	#[atom("-webkit-credentials-auto-fill-button")]
2336	_WebkitCredentialsAutoFillButton,
2337	#[atom("-webkit-credit-card-auto-fill-button")]
2338	_WebkitCreditCardAutoFillButton,
2339	#[atom("-webkit-date-and-time-value")]
2340	_WebkitDateAndTimeValue,
2341	#[atom("-webkit-datetime-edit")]
2342	_WebkitDatetimeEdit,
2343	#[atom("-webkit-datetime-edit-day-field")]
2344	_WebkitDatetimeEditDayField,
2345	#[atom("-webkit-datetime-edit-fields-wrapper")]
2346	_WebkitDatetimeEditFieldsWrapper,
2347	#[atom("-webkit-datetime-edit-hour-field")]
2348	_WebkitDatetimeEditHourField,
2349	#[atom("-webkit-datetime-edit-meridiem-field")]
2350	_WebkitDatetimeEditMeridiemField,
2351	#[atom("-webkit-datetime-edit-millisecond-field")]
2352	_WebkitDatetimeEditMillisecondField,
2353	#[atom("-webkit-datetime-edit-minute")]
2354	_WebkitDatetimeEditMinute,
2355	#[atom("-webkit-datetime-edit-minute-field")]
2356	_WebkitDatetimeEditMinuteField,
2357	#[atom("-webkit-datetime-edit-month-field")]
2358	_WebkitDatetimeEditMonthField,
2359	#[atom("-webkit-datetime-edit-second-field")]
2360	_WebkitDatetimeEditSecondField,
2361	#[atom("-webkit-datetime-edit-text")]
2362	_WebkitDatetimeEditText,
2363	#[atom("-webkit-datetime-edit-year-field")]
2364	_WebkitDatetimeEditYearField,
2365	#[atom("-webkit-details-marker")]
2366	_WebkitDetailsMarker,
2367	#[atom("-webkit-file-upload-button")]
2368	_WebkitFileUploadButton,
2369	#[atom("-webkit-generic-cue-root")]
2370	_WebkitGenericCueRoot,
2371	#[atom("-webkit-input-placeholder")]
2372	_WebkitInputPlaceholder,
2373	#[atom("-webkit-inner-spin-button")]
2374	_WebkitInnerSpinButton,
2375	#[atom("-webkit-line-clamp")]
2376	WebkitLineClamp,
2377	#[atom("-webkit-list-button")]
2378	_WebkitListButton,
2379	#[atom("-webkit-mask")]
2380	_WebkitMask,
2381	#[atom("-webkit-mask-box-image")]
2382	_WebkitMaskBoxImage,
2383	#[atom("-webkit-media-text-track-container")]
2384	_WebkitMediaTextTrackContainer,
2385	#[atom("-webkit-media-text-track-display")]
2386	_WebkitMediaTextTrackDisplay,
2387	#[atom("-webkit-media-text-track-display-backdrop")]
2388	_WebkitMediaTextTrackDisplayBackdrop,
2389	#[atom("-webkit-media-text-track-region")]
2390	_WebkitMediaTextTrackRegion,
2391	#[atom("-webkit-media-text-track-region-container")]
2392	_WebkitMediaTextTrackRegionContainer,
2393	#[atom("-webkit-meter-bar")]
2394	_WebkitMeterBar,
2395	#[atom("-webkit-meter-even-less-good-value")]
2396	_WebkitMeterEvenLessGoodValue,
2397	#[atom("-webkit-meter-inner-element")]
2398	_WebkitMeterInnerElement,
2399	#[atom("-webkit-meter-optimum-value")]
2400	_WebkitMeterOptimumValue,
2401	#[atom("-webkit-meter-suboptimum-value")]
2402	_WebkitMeterSuboptimumValue,
2403	#[atom("-webkit-outer-spin-button")]
2404	_WebkitOuterSpinButton,
2405	#[atom("-webkit-overflow-scrolling")]
2406	_WebkitOverflowScrolling,
2407	#[atom("-webkit-perspective")]
2408	_WebkitPerspective,
2409	#[atom("-webkit-progress-bar")]
2410	_WebkitProgressBar,
2411	#[atom("-webkit-progress-inner-element")]
2412	_WebkitProgressInnerElement,
2413	#[atom("-webkit-progress-value")]
2414	_WebkitProgressValue,
2415	#[atom("-webkit-resizer")]
2416	_WebkitResizer,
2417	#[atom("-webkit-scrollbar")]
2418	_WebkitScrollbar,
2419	#[atom("-webkit-scrollbar-button")]
2420	_WebkitScrollbarButton,
2421	#[atom("-webkit-scrollbar-corner")]
2422	_WebkitScrollbarCorner,
2423	#[atom("-webkit-scrollbar-thumb")]
2424	_WebkitScrollbarThumb,
2425	#[atom("-webkit-scrollbar-track")]
2426	_WebkitScrollbarTrack,
2427	#[atom("-webkit-scrollbar-track-piece")]
2428	_WebkitScrollbarTrackPiece,
2429	#[atom("-webkit-search-cancel-button")]
2430	_WebkitSearchCancelButton,
2431	#[atom("-webkit-search-decoration")]
2432	_WebkitSearchDecoration,
2433	#[atom("-webkit-search-results-button")]
2434	_WebkitSearchResultsButton,
2435	#[atom("-webkit-slider-container")]
2436	_WebkitSliderContainer,
2437	#[atom("-webkit-slider-runnable-track")]
2438	_WebkitSliderRunnableTrack,
2439	#[atom("-webkit-slider-thumb")]
2440	_WebkitSliderThumb,
2441	#[atom("-webkit-password-auto-fill-button")]
2442	_WebkitPasswordAutoFillButton,
2443	#[atom("-webkit-textfield-decoration-container")]
2444	_WebkitTextfieldDecorationContainer,
2445	#[atom("-webkit-validation-bubble")]
2446	_WebkitValidationBubble,
2447	#[atom("-webkit-validation-bubble-arrow")]
2448	_WebkitValidationBubbleArrow,
2449	#[atom("-webkit-validation-bubble-arrow-clipper")]
2450	_WebkitValidationBubbleArrowClipper,
2451	#[atom("-webkit-validation-bubble-body")]
2452	_WebkitValidationBubbleBody,
2453	#[atom("-webkit-validation-bubble-heading")]
2454	_WebkitValidationBubbleHeading,
2455	#[atom("-webkit-validation-bubble-icon")]
2456	_WebkitValidationBubbleIcon,
2457	#[atom("-webkit-validation-bubble-message")]
2458	_WebkitValidationBubbleMessage,
2459	#[atom("-webkit-validation-bubble-text-block")]
2460	_WebkitValidationBubbleTextBlock,
2461	#[atom("-webkit-animating-full-screen-transition")]
2462	_WebkitAnimatingFullScreenTransition,
2463	#[atom("-webkit-any-link")]
2464	_WebkitAnyLink,
2465	#[atom("-webkit-autofill")]
2466	_WebkitAutofill,
2467	#[atom("-webkit-autofill-and-obscured")]
2468	_WebkitAutofillAndObscured,
2469	#[atom("-webkit-autofill-strong-password")]
2470	_WebkitAutofillStrongPassword,
2471	#[atom("-webkit-autofill-strong-password-viewable")]
2472	_WebkitAutofillStrongPasswordViewable,
2473	#[atom("-webkit-drag")]
2474	_WebkitDrag,
2475	#[atom("-webkit-full-page-media")]
2476	_WebkitFullPageMedia,
2477	#[atom("-webkit-full-screen")]
2478	_WebkitFullScreen,
2479	#[atom("-webkit-full-screen-ancestor")]
2480	_WebkitFullScreenAncestor,
2481	#[atom("-webkit-full-screen-controls-hidden")]
2482	_WebkitFullScreenControlsHidden,
2483	#[atom("-webkit-full-screen-document")]
2484	_WebkitFullScreenDocument,
2485
2486	#[atom("-o-device-pixel-ratio")]
2487	_ODevicePixelRatio,
2488	#[atom("-o-min-device-pixel-ratio")]
2489	_OMinDevicePixelRatio,
2490	#[atom("-o-max-device-pixel-ratio")]
2491	_OMaxDevicePixelRatio,
2492	#[atom("-o-inner-spin-button")]
2493	_OInnerSpinButton,
2494	#[atom("-o-outer-spin-button")]
2495	_OOuterSpinButton,
2496	#[atom("-o-placeholder")]
2497	_OPlaceholder,
2498	#[atom("-o-scrollbar")]
2499	_OScrollbar,
2500	#[atom("-o-scrollbar-thumb")]
2501	_OScrollbarThumb,
2502	#[atom("-o-scrollbar-track")]
2503	_OScrollbarTrack,
2504	#[atom("-o-scrollbar-track-piece")]
2505	_OScrollbarTrackPiece,
2506	#[atom("-o-selection")]
2507	_OSelection,
2508	#[atom("-o-prefocus")]
2509	_OPrefocus,
2510
2511	// Special cases:
2512	#[atom("n-")]
2513	_NDash, // Used in AnB syntax as an ident e.g. `n- 1` or `3n- 1`.
2514
2515	// Special cases:
2516	#[atom("-infinity")]
2517	_NegInfinity, // Negative Infinity is parsed as a whole ident.
2518}
2519
2520impl CssAtomSet {
2521	pub const ATOMS: CssAtomSet = CssAtomSet::_None;
2522}
2523
2524#[test]
2525fn test_css_atom_set() {
2526	assert_eq!(CssAtomSet::from_str("px"), CssAtomSet::Px);
2527	assert_eq!(CssAtomSet::from_str("PX"), CssAtomSet::Px);
2528	assert_eq!(CssAtomSet::from_str("pX"), CssAtomSet::Px);
2529	assert_eq!(CssAtomSet::from_str("em"), CssAtomSet::Em);
2530	assert_eq!(CssAtomSet::from_str("url"), CssAtomSet::Url);
2531	assert_eq!(CssAtomSet::from_str("uRl"), CssAtomSet::Url);
2532	assert_eq!(CssAtomSet::from_str("URL"), CssAtomSet::Url);
2533	assert_eq!(CssAtomSet::from_str("%"), CssAtomSet::Percentage);
2534	assert_eq!(CssAtomSet::from_str("q"), CssAtomSet::Q);
2535	assert_eq!(CssAtomSet::from_str("Q"), CssAtomSet::Q);
2536	assert_eq!(CssAtomSet::from_str("s"), CssAtomSet::S);
2537	assert_eq!(CssAtomSet::from_str("S"), CssAtomSet::S);
2538	assert_eq!(CssAtomSet::from_str("x"), CssAtomSet::X);
2539	assert_eq!(CssAtomSet::from_str("X"), CssAtomSet::X);
2540	assert_eq!(CssAtomSet::from_str("notfound"), CssAtomSet::_None);
2541
2542	assert_eq!(CssAtomSet::from_str("dpcm"), CssAtomSet::Dpcm);
2543	assert_eq!(CssAtomSet::from_str("dppx"), CssAtomSet::Dppx);
2544	assert_eq!(CssAtomSet::from_str("rcap"), CssAtomSet::Rcap);
2545
2546	assert_eq!(CssAtomSet::from_str("cqmax"), CssAtomSet::Cqmax);
2547	assert_eq!(CssAtomSet::from_str("CQMAX"), CssAtomSet::Cqmax);
2548	assert_eq!(CssAtomSet::from_str("dvmin"), CssAtomSet::Dvmin);
2549	assert_eq!(CssAtomSet::from_str("turn"), CssAtomSet::Turn);
2550	assert_eq!(CssAtomSet::from_str("grad"), CssAtomSet::Grad);
2551
2552	assert_eq!(CssAtomSet::_None.len(), 0);
2553	assert_eq!(CssAtomSet::Percentage.len(), 1);
2554	assert_eq!(CssAtomSet::Q.len(), 1);
2555	assert_eq!(CssAtomSet::S.len(), 1);
2556	assert_eq!(CssAtomSet::X.len(), 1);
2557	assert_eq!(CssAtomSet::Px.len(), 2);
2558	assert_eq!(CssAtomSet::Em.len(), 2);
2559	assert_eq!(CssAtomSet::Hz.len(), 2);
2560	assert_eq!(CssAtomSet::Url.len(), 3);
2561	assert_eq!(CssAtomSet::Cap.len(), 3);
2562	assert_eq!(CssAtomSet::Deg.len(), 3);
2563	assert_eq!(CssAtomSet::Turn.len(), 4);
2564	assert_eq!(CssAtomSet::Grad.len(), 4);
2565	assert_eq!(CssAtomSet::Cqmax.len(), 5);
2566	assert_eq!(CssAtomSet::Dvmin.len(), 5);
2567
2568	assert!(CssAtomSet::_None.is_empty());
2569	assert!(!CssAtomSet::Px.is_empty());
2570	assert!(!CssAtomSet::Url.is_empty());
2571
2572	let test_variants = [
2573		CssAtomSet::Px,
2574		CssAtomSet::Em,
2575		CssAtomSet::Rem,
2576		CssAtomSet::Percentage,
2577		CssAtomSet::Url,
2578		CssAtomSet::Turn,
2579		CssAtomSet::Grad,
2580		CssAtomSet::Cqmax,
2581		CssAtomSet::Q,
2582		CssAtomSet::S,
2583		CssAtomSet::X,
2584	];
2585
2586	for variant in test_variants {
2587		let bits = variant.as_bits();
2588		let restored = CssAtomSet::from_bits(bits);
2589		assert_eq!(variant, restored, "Round-trip failed for {variant:?} with bits {bits}");
2590	}
2591
2592	assert_eq!(CssAtomSet::from_bits(0), CssAtomSet::_None);
2593	assert_eq!(CssAtomSet::from_bits(9999), CssAtomSet::_None);
2594
2595	assert_eq!(CssAtomSet::Percentage.len(), 1);
2596
2597	assert_eq!(CssAtomSet::Px.to_str(), "px");
2598	assert_eq!(CssAtomSet::Em.to_str(), "em");
2599	assert_eq!(CssAtomSet::Percentage.to_str(), "%");
2600	assert_eq!(CssAtomSet::Url.to_str(), "url");
2601	assert_eq!(CssAtomSet::_None.to_str(), "");
2602	assert_eq!(CssAtomSet::Cqmax.to_str(), "cqmax");
2603	assert_eq!(CssAtomSet::Dvmin.to_str(), "dvmin");
2604	assert_eq!(CssAtomSet::Dpcm.to_str(), "dpcm");
2605	assert_eq!(CssAtomSet::Dppx.to_str(), "dppx");
2606
2607	let test_cases = ["px", "em", "%", "url", "cqmax", "dvmin", "turn", "grad"];
2608	for case in test_cases {
2609		let atom = CssAtomSet::from_str(case);
2610		assert_eq!(atom.to_str(), case, "Round-trip failed for '{case}'");
2611	}
2612
2613	assert_eq!(CssAtomSet::from_str("nonexistent").to_str(), "");
2614}