1pub mod syntax;
4
5
6#[derive(Debug, Clone, PartialEq, PartialOrd, Eq, Ord, Hash)]
7pub struct Rule {
8 property: Property,
9 value: Value,
10}
11
12#[derive(Debug, Clone, PartialEq, PartialOrd, Eq, Ord, Hash)]
13pub enum Property {
14 AlignContent,
15 AlignItems,
16 AlignSelf,
17 All,
18 Animation,
19 AnimationDelay,
20 AnimationDirection,
21 AnimationDuration,
22 AnimationFillMode,
23 AnimationIterationCount,
24 AnimationName,
25 AnimationPlayState,
26 AnimationTimingFunction,
27 Azimuth,
28 Background,
29 BackgroundAttachment,
30 BackgroundBlendMode,
31 BackgroundClip,
32 BackgroundColor,
33 BackgroundImage,
34 BackgroundOrigin,
35 BackgroundPosition,
36 BackgroundRepeat,
37 BackgroundSize,
38 Border,
39 BorderBottom,
40 BorderBottomColor,
41 BorderBottomLeftRadius,
42 BorderBottomRightRadius,
43 BorderBottomStyle,
44 BorderBottomWidth,
45 BorderCollapse,
46 BorderColor,
47 BorderImage,
48 BorderImageOutset,
49 BorderImageRepeat,
50 BorderImageSlice,
51 BorderImageSource,
52 BorderImageWidth,
53 BorderLeft,
54 BorderLeftColor,
55 BorderLeftStyle,
56 BorderLeftWidth,
57 BorderRadius,
58 BorderRight,
59 BorderRightColor,
60 BorderRightStyle,
61 BorderRightWidth,
62 BorderSpacing,
63 BorderStyle,
64 BorderTop,
65 BorderTopColor,
66 BorderTopLeftRadius,
67 BorderTopRightRadius,
68 BorderTopStyle,
69 BorderTopWidth,
70 BorderWidth,
71 Bottom,
72 BoxDecorationBreak,
73 BoxShadow,
74 BoxSizing,
75 BreakAfter,
76 BreakBefore,
77 BreakInside,
78 CaptionSide,
79 CaretColor,
80 Clear,
81 Clip,
82 ClipPath,
83 ClipRule,
84 Color,
85 ColorInterpolationFilters,
86 ColumnCount,
87 ColumnFill,
88 ColumnGap,
89 ColumnRule,
90 ColumnRuleColor,
91 ColumnRuleStyle,
92 ColumnRuleWidth,
93 Columns,
94 ColumnSpan,
95 ColumnWidth,
96 Contain,
97 Content,
98 CounterIncrement,
99 CounterReset,
100 Cue,
101 CueAfter,
102 CueBefore,
103 Cursor,
104 Direction,
105 Display,
106 Elevation,
107 EmptyCells,
108 Filter,
109 Flex,
110 FlexBasis,
111 FlexDirection,
112 FlexFlow,
113 FlexGrow,
114 FlexShrink,
115 FlexWrap,
116 Float,
117 FloodColor,
118 FloodOpacity,
119 Font,
120 FontFamily,
121 FontFeatureSettings,
122 FontKerning,
123 FontSize,
124 FontSizeAdjust,
125 FontStretch,
126 FontStyle,
127 FontSynthesis,
128 FontVariant,
129 FontVariantCaps,
130 FontVariantEastAsian,
131 FontVariantLigatures,
132 FontVariantNumeric,
133 FontVariantPosition,
134 FontWeight,
135 Gap,
136 Globalcompositeoperation,
137 GlyphOrientationVertical,
138 Grid,
139 GridArea,
140 GridAutoColumns,
141 GridAutoFlow,
142 GridAutoRows,
143 GridColumn,
144 GridColumnEnd,
145 GridColumnGap,
146 GridColumnStart,
147 GridGap,
148 GridRow,
149 GridRowEnd,
150 GridRowGap,
151 GridRowStart,
152 GridTemplate,
153 GridTemplateAreas,
154 GridTemplateColumns,
155 GridTemplateRows,
156 HangingPunctuation,
157 Height,
158 Hyphens,
159 ImageOrientation,
160 ImageRendering,
161 ImageResolution,
162 Isolation,
163 JustifyContent,
164 JustifyItems,
165 JustifySelf,
166 Left,
167 LetterSpacing,
168 LightingColor,
169 LineBreak,
170 LineHeight,
171 ListStyle,
172 ListStyleImage,
173 ListStylePosition,
174 ListStyleType,
175 Margin,
176 MarginBottom,
177 MarginLeft,
178 MarginRight,
179 MarginTop,
180 Mask,
181 MaskBorder,
182 MaskBorderMode,
183 MaskBorderOutset,
184 MaskBorderRepeat,
185 MaskBorderSlice,
186 MaskBorderSource,
187 MaskBorderWidth,
188 MaskClip,
189 MaskComposite,
190 MaskImage,
191 MaskMode,
192 MaskOrigin,
193 MaskPosition,
194 MaskRepeat,
195 MaskSize,
196 MaskType,
197 MaxHeight,
198 MaxWidth,
199 MinHeight,
200 MinWidth,
201 MixBlendMode,
202 ObjectFit,
203 ObjectPosition,
204 Opacity,
205 Order,
206 Orphans,
207 Outline,
208 OutlineColor,
209 OutlineOffset,
210 OutlineStyle,
211 OutlineWidth,
212 Overflow,
213 OverflowWrap,
214 Padding,
215 PaddingBottom,
216 PaddingLeft,
217 PaddingRight,
218 PaddingTop,
219 PageBreakAfter,
220 PageBreakBefore,
221 PageBreakInside,
222 Pause,
223 PauseAfter,
224 PauseBefore,
225 Pitch,
226 PitchRange,
227 PlaceContent,
228 PlaceItems,
229 PlaceSelf,
230 PlayDuring,
231 Position,
232 Quotes,
233 Resize,
234 Rest,
235 RestAfter,
236 RestBefore,
237 Richness,
238 Right,
239 RowGap,
240 ScrollMargin,
241 ScrollMarginBlock,
242 ScrollMarginBlockEnd,
243 ScrollMarginBlockStart,
244 ScrollMarginBottom,
245 ScrollMarginInline,
246 ScrollMarginInlineEnd,
247 ScrollMarginInlineStart,
248 ScrollMarginLeft,
249 ScrollMarginRight,
250 ScrollMarginTop,
251 ScrollPadding,
252 ScrollPaddingBlock,
253 ScrollPaddingBlockEnd,
254 ScrollPaddingBlockStart,
255 ScrollPaddingBottom,
256 ScrollPaddingInline,
257 ScrollPaddingInlineEnd,
258 ScrollPaddingInlineStart,
259 ScrollPaddingLeft,
260 ScrollPaddingRight,
261 ScrollPaddingTop,
262 ScrollSnapAlign,
263 ScrollSnapStop,
264 ScrollSnapType,
265 ShapeImageThreshold,
266 ShapeMargin,
267 ShapeOutside,
268 Speak,
269 SpeakAs,
270 SpeakHeader,
271 SpeakNumeral,
272 SpeakPunctuation,
273 SpeechRate,
274 Stress,
275 TableLayout,
276 TabSize,
277 TextAlign,
278 TextAlignAll,
279 TextAlignLast,
280 TextCombineUpright,
281 TextDecoration,
282 TextDecorationColor,
283 TextDecorationLine,
284 TextDecorationStyle,
285 TextEmphasis,
286 TextEmphasisColor,
287 TextEmphasisPosition,
288 TextEmphasisStyle,
289 TextIndent,
290 TextJustify,
291 TextOrientation,
292 TextOverflow,
293 TextShadow,
294 TextTransform,
295 TextUnderlinePosition,
296 Top,
297 Transform,
298 TransformBox,
299 TransformOrigin,
300 Transition,
301 TransitionDelay,
302 TransitionDuration,
303 TransitionProperty,
304 TransitionTimingFunction,
305 UnicodeBidi,
306 VerticalAlign,
307 Visibility,
308 VoiceBalance,
309 VoiceDuration,
310 VoiceFamily,
311 VoicePitch,
312 VoiceRange,
313 VoiceRate,
314 VoiceStress,
315 VoiceVolume,
316 Volume,
317 WhiteSpace,
318 Widows,
319 Width,
320 WillChange,
321 WordBreak,
322 WordSpacing,
323 WordWrap,
324 WritingMode,
325 ZIndex,
326}
327
328
329#[derive(Debug, Clone, PartialEq, PartialOrd, Eq, Ord, Hash)]
330pub enum Value {
331 Add,
332 Additive,
333 Alias,
334 All,
335 AllowEnd,
336 AllScroll,
337 Alpha,
338 Alphabetic,
339 Alternate,
340 AlternateReverse,
341 Always,
342 Anywhere,
343 ArabicIndic,
344 Arithmetic,
345 Armenian,
346 Atop,
347 Aural,
348 Auto,
349 AutoFill,
350 AutoFit,
351 Avoid,
352 AvoidColumn,
353 AvoidPage,
354 AvoidRegion,
355 Backgroundalpha,
356 Backgroundimage,
357 Backwards,
358 Balance,
359 BalanceAll,
360 Baseline,
361 Bengali,
362 BidiOverride,
363 Blink,
364 Block,
365 BorderBox,
366 Both,
367 Bottom,
368 Braille,
369 BreakAll,
370 BreakSpaces,
371 BreakWord,
372 Bullets,
373 Cambodian,
374 Capitalize,
375 Cell,
376 Center,
377 Ch,
378 Circle,
379 CjkDecimal,
380 CjkEarthlyBranch,
381 CjkHeavenlyStem,
382 CjkIdeographic,
383 Clip,
384 Clone,
385 CloseQuote,
386 ClosestCorner,
387 ClosestSide,
388 Cm,
389 Coarse,
390 Color,
391 ColorBurn,
392 ColorDodge,
393 ColResize,
394 Column,
395 ColumnReverse,
396 Contain,
397 Content,
398 ContentBox,
399 Contents,
400 ContextMenu,
401 Copy,
402 Cover,
403 CrispEdges,
404 Crosshair,
405 Currentcolor,
406 Cyclic,
407 Darken,
408 Dashed,
409 Decimal,
410 DecimalLeadingZero,
411 Default,
412 Deg,
413 Dense,
414 Devanagari,
415 Difference,
416 Disc,
417 DisclosureClosed,
418 DisclosureOpen,
419 Discrete,
420 Distribute,
421 Dot,
422 Dotted,
423 Double,
424 DoubleCircle,
425 Dpcm,
426 Dpi,
427 Dppx,
428 Duplicate,
429 EachLine,
430 Ease,
431 EaseIn,
432 EaseInOut,
433 EaseOut,
434 Ellipse,
435 Ellipsis,
436 Em,
437 Embed,
438 Embossed,
439 End,
440 EResize,
441 EthiopicNumeric,
442 Evenodd,
443 EwResize,
444 Ex,
445 Exclude,
446 Exclusion,
447 Extends,
448 FarthestCorner,
449 FarthestSide,
450 Fast,
451 Fill,
452 FillBox,
453 Filled,
454 Fillpaint,
455 Fine,
456 First,
457 FitContent,
458 Fixed,
459 Flex,
460 FlexEnd,
461 FlexStart,
462 FontFeatureSettings,
463 FontVariant,
464 ForceEnd,
465 Forwards,
466 Fr,
467 FromImage,
468 FullSizeKana,
469 FullWidth,
470 Gamma,
471 Georgian,
472 Grab,
473 Grabbing,
474 Grad,
475 Grid,
476 Groove,
477 Gujarati,
478 Gurmukhi,
479 Handheld,
480 Hanging,
481 HardLight,
482 Hebrew,
483 Help,
484 Hidden,
485 HighQuality,
486 Hiragana,
487 HiraganaIroha,
488 HorizontalTb,
489 Hover,
490 Hue,
491 Hz,
492 Identity,
493 InterCharacter,
494 Interlace,
495 Intersect,
496 InterWord,
497 Invert,
498 Isolate,
499 IsolateOverride,
500 JapaneseFormal,
501 JapaneseInformal,
502 JumpBoth,
503 JumpEnd,
504 JumpNone,
505 JumpStart,
506 Justify,
507 JustifyAll,
508 Kannada,
509 Katakana,
510 KatakanaIroha,
511 KeepAll,
512 Khmer,
513 Khz,
514 KoreanHangulFormal,
515 KoreanHanjaFormal,
516 KoreanHanjaInformal,
517 Landscape,
518 Lao,
519 Last,
520 Layout,
521 Left,
522 Legacy,
523 Lighten,
524 Linear,
525 Linearrgb,
526 LineThrough,
527 ListItem,
528 Local,
529 Loose,
530 LowerAlpha,
531 LowerArmenian,
532 Lowercase,
533 LowerGreek,
534 LowerLatin,
535 LowerRoman,
536 Ltr,
537 Luminance,
538 Luminosity,
539 Malayalam,
540 Mandatory,
541 Manual,
542 MarginBox,
543 MatchParent,
544 MatchSource,
545 MaxContent,
546 Medium,
547 MinContent,
548 Minmax,
549 Mixed,
550 Mm,
551 Mongolian,
552 Move,
553 Ms,
554 Multiply,
555 Myanmar,
556 NeResize,
557 NeswResize,
558 NoClip,
559 NoCloseQuote,
560 NoComposite,
561 NoDrop,
562 None,
563 Nonzero,
564 NoOpenQuote,
565 NoRepeat,
566 Normal,
567 Not,
568 NotAllowed,
569 Nowrap,
570 NResize,
571 NsResize,
572 Numbers,
573 Numeric,
574 NwResize,
575 NwseResize,
576 Objectboundingbox,
577 Only,
578 Open,
579 OpenQuote,
580 OptionalPaged,
581 Oriya,
582 Outset,
583 Over,
584 Overlay,
585 Overline,
586 P3,
587 PaddingBox,
588 Page,
589 Paged,
590 Paint,
591 Paused,
592 Pc,
593 Persian,
594 Pixelated,
595 Pixel,
596 Plaintext,
597 Pointer,
598 Portrait,
599 Pre,
600 PreLine,
601 PreWrap,
602 Print,
603 Progress,
604 Progressive,
605 Projection,
606 Proximity,
607 Pt,
608 Px,
609 Q,
610 Rad,
611 Rec2020,
612 Recto,
613 Region,
614 Rem,
615 Repeat,
616 RepeatX,
617 RepeatY,
618 Reverse,
619 Revert,
620 Ridge,
621 Right,
622 Rotate,
623 Round,
624 Row,
625 RowResize,
626 RowReverse,
627 Rtl,
628 Running,
629 S,
630 Safe,
631 Saturation,
632 Scale,
633 ScaleDown,
634 Scalex,
635 Scaley,
636 Screen,
637 Scroll,
638 ScrollPosition,
639 SelfEnd,
640 SelfStart,
641 SeResize,
642 Sesame,
643 Sideways,
644 SidewaysRight,
645 SimpChineseFormal,
646 SimpChineseInformal,
647 Size,
648 Skew,
649 Skewx,
650 Skewy,
651 Slice,
652 Slow,
653 Smooth,
654 SoftLight,
655 Solid,
656 Sourcealpha,
657 Sourcegraphic,
658 Space,
659 SpaceAround,
660 SpaceBetween,
661 SpaceEvenly,
662 Speech,
663 SpellOut,
664 Square,
665 SResize,
666 Srgb,
667 Start,
668 StepEnd,
669 StepStart,
670 Stretch,
671 Strict,
672 StrokeBox,
673 Strokepaint,
674 Style,
675 Subtract,
676 SwResize,
677 Symbolic,
678 Table,
679 TableCaption,
680 TableCell,
681 TableColumn,
682 TableColumnGroup,
683 TableFooterGroup,
684 TableHeaderGroup,
685 TableRow,
686 TableRowGroup,
687 Tamil,
688 Telugu,
689 Text,
690 Thai,
691 Thick,
692 Thin,
693 Tibetan,
694 Top,
695 TradChineseFormal,
696 TradChineseInformal,
697 Translate,
698 Translatex,
699 Translatey,
700 Triangle,
701 Tty,
702 Turn,
703 Tv,
704 Under,
705 Underline,
706 Unsafe,
707 Unset,
708 UpperAlpha,
709 UpperArmenian,
710 Uppercase,
711 UpperLatin,
712 UpperRoman,
713 Upright,
714 Userspaceonuse,
715 Verso,
716 VerticalLr,
717 VerticalRl,
718 VerticalText,
719 Vh,
720 ViewBox,
721 Vmax,
722 Vmin,
723 Vw,
724 Wait,
725 Words,
726 Wrap,
727 WrapReverse,
728 WResize,
729 X,
730 Xor,
731 Y,
732 ZoomIn,
733 ZoomOut,
734}
735
736
737
738
739