1use crate::style::Style;
4#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
6#[non_exhaustive]
7pub enum Property {
8 AccentColor,
10 AlignContent,
12 AlignItems,
14 AlignSelf,
16 AlignmentBaseline,
18 All,
20 AnchorName,
22 Animation,
24 AnimationComposition,
26 AnimationDelay,
28 AnimationDirection,
30 AnimationDuration,
32 AnimationFillMode,
34 AnimationIterationCount,
36 AnimationName,
38 AnimationPlayState,
40 AnimationTimingFunction,
42 AnimationTrigger,
44 Appearance,
46 AspectRatio,
48 BackdropFilter,
50 BackfaceVisibility,
52 Background,
54 BackgroundAttachment,
56 BackgroundBlendMode,
58 BackgroundClip,
60 BackgroundColor,
62 BackgroundImage,
64 BackgroundOrigin,
66 BackgroundPosition,
68 BackgroundPositionX,
70 BackgroundPositionY,
72 BackgroundRepeat,
74 BackgroundSize,
76 BaselineShift,
78 BaselineSource,
80 BlockSize,
82 Border,
84 BorderBlock,
86 BorderBlockColor,
88 BorderBlockEnd,
90 BorderBlockEndColor,
92 BorderBlockEndStyle,
94 BorderBlockEndWidth,
96 BorderBlockStart,
98 BorderBlockStartColor,
100 BorderBlockStartStyle,
102 BorderBlockStartWidth,
104 BorderBlockStyle,
106 BorderBlockWidth,
108 BorderBottom,
110 BorderBottomColor,
112 BorderBottomLeftRadius,
114 BorderBottomRightRadius,
116 BorderBottomStyle,
118 BorderBottomWidth,
120 BorderCollapse,
122 BorderColor,
124 BorderEndEndRadius,
126 BorderEndStartRadius,
128 BorderImage,
130 BorderImageOutset,
132 BorderImageRepeat,
134 BorderImageSlice,
136 BorderImageSource,
138 BorderImageWidth,
140 BorderInline,
142 BorderInlineColor,
144 BorderInlineEnd,
146 BorderInlineEndColor,
148 BorderInlineEndStyle,
150 BorderInlineEndWidth,
152 BorderInlineStart,
154 BorderInlineStartColor,
156 BorderInlineStartStyle,
158 BorderInlineStartWidth,
160 BorderInlineStyle,
162 BorderInlineWidth,
164 BorderLeft,
166 BorderLeftColor,
168 BorderLeftStyle,
170 BorderLeftWidth,
172 BorderRadius,
174 BorderRight,
176 BorderRightColor,
178 BorderRightStyle,
180 BorderRightWidth,
182 BorderShape,
184 BorderSpacing,
186 BorderStartEndRadius,
188 BorderStartStartRadius,
190 BorderStyle,
192 BorderTop,
194 BorderTopColor,
196 BorderTopLeftRadius,
198 BorderTopRightRadius,
200 BorderTopStyle,
202 BorderTopWidth,
204 BorderWidth,
206 Bottom,
208 BoxDecorationBreak,
210 BoxShadow,
212 BoxSizing,
214 BreakAfter,
216 BreakBefore,
218 BreakInside,
220 CaptionSide,
222 Caret,
224 CaretAnimation,
226 CaretColor,
228 CaretShape,
230 Clear,
232 ClipPath,
234 ClipRule,
236 Color,
238 ColorInterpolationFilters,
240 ColorScheme,
242 ColumnCount,
244 ColumnFill,
246 ColumnGap,
248 ColumnHeight,
250 ColumnRule,
252 ColumnRuleColor,
254 ColumnRuleStyle,
256 ColumnRuleWidth,
258 ColumnSpan,
260 ColumnWidth,
262 ColumnWrap,
264 Columns,
266 Contain,
268 ContainIntrinsicBlockSize,
270 ContainIntrinsicHeight,
272 ContainIntrinsicInlineSize,
274 ContainIntrinsicSize,
276 ContainIntrinsicWidth,
278 Container,
280 ContainerName,
282 ContainerType,
284 Content,
286 ContentVisibility,
288 CornerBlockEndShape,
290 CornerBlockStartShape,
292 CornerBottomLeftShape,
294 CornerBottomRightShape,
296 CornerBottomShape,
298 CornerEndEndShape,
300 CornerEndStartShape,
302 CornerInlineEndShape,
304 CornerInlineStartShape,
306 CornerLeftShape,
308 CornerRightShape,
310 CornerShape,
312 CornerStartEndShape,
314 CornerStartStartShape,
316 CornerTopLeftShape,
318 CornerTopRightShape,
320 CornerTopShape,
322 CounterIncrement,
324 CounterReset,
326 CounterSet,
328 Cursor,
330 Cx,
332 Cy,
334 D,
336 Direction,
338 Display,
340 DominantBaseline,
342 DynamicRangeLimit,
344 EmptyCells,
346 Fill,
348 FillOpacity,
350 FillRule,
352 Filter,
354 Flex,
356 FlexBasis,
358 FlexDirection,
360 FlexFlow,
362 FlexGrow,
364 FlexLineCount,
366 FlexShrink,
368 FlexWrap,
370 Float,
372 FloodColor,
374 FloodOpacity,
376 Font,
378 FontFamily,
380 FontFeatureSettings,
382 FontKerning,
384 FontLanguageOverride,
386 FontOpticalSizing,
388 FontPalette,
390 FontSize,
392 FontSizeAdjust,
394 FontStyle,
396 FontSynthesis,
398 FontSynthesisSmallCaps,
400 FontSynthesisStyle,
402 FontSynthesisWeight,
404 FontVariant,
406 FontVariantAlternates,
408 FontVariantCaps,
410 FontVariantEastAsian,
412 FontVariantEmoji,
414 FontVariantLigatures,
416 FontVariantNumeric,
418 FontVariantPosition,
420 FontVariationSettings,
422 FontWeight,
424 ForcedColorAdjust,
426 FrameSizing,
428 Gap,
430 Grid,
432 GridArea,
434 GridAutoColumns,
436 GridAutoFlow,
438 GridAutoRows,
440 GridColumn,
442 GridColumnEnd,
444 GridColumnStart,
446 GridRow,
448 GridRowEnd,
450 GridRowStart,
452 GridTemplate,
454 GridTemplateAreas,
456 GridTemplateColumns,
458 GridTemplateRows,
460 HangingPunctuation,
462 Height,
464 HyphenateCharacter,
466 HyphenateLimitChars,
468 Hyphens,
470 ImageOrientation,
472 ImageRendering,
474 InitialLetter,
476 InlineSize,
478 Inset,
480 InsetBlock,
482 InsetBlockEnd,
484 InsetBlockStart,
486 InsetInline,
488 InsetInlineEnd,
490 InsetInlineStart,
492 Interactivity,
494 InterestDelay,
496 InterestDelayEnd,
498 InterestDelayStart,
500 Isolation,
502 JustifyContent,
504 JustifyItems,
506 JustifySelf,
508 Left,
510 LetterSpacing,
512 LightingColor,
514 LineBreak,
516 LineClamp,
518 LineHeight,
520 ListStyle,
522 ListStyleImage,
524 ListStylePosition,
526 ListStyleType,
528 Margin,
530 MarginBlock,
532 MarginBlockEnd,
534 MarginBlockStart,
536 MarginBottom,
538 MarginInline,
540 MarginInlineEnd,
542 MarginInlineStart,
544 MarginLeft,
546 MarginRight,
548 MarginTop,
550 Marker,
552 MarkerEnd,
554 MarkerMid,
556 MarkerStart,
558 Mask,
560 MaskBorder,
562 MaskBorderMode,
564 MaskBorderOutset,
566 MaskBorderRepeat,
568 MaskBorderSlice,
570 MaskBorderSource,
572 MaskBorderWidth,
574 MaskClip,
576 MaskComposite,
578 MaskImage,
580 MaskMode,
582 MaskOrigin,
584 MaskPosition,
586 MaskRepeat,
588 MaskSize,
590 MaskType,
592 MathDepth,
594 MathStyle,
596 MaxBlockSize,
598 MaxHeight,
600 MaxInlineSize,
602 MaxWidth,
604 MinBlockSize,
606 MinHeight,
608 MinInlineSize,
610 MinWidth,
612 MixBlendMode,
614 ObjectFit,
616 ObjectPosition,
618 Offset,
620 OffsetAnchor,
622 OffsetDistance,
624 OffsetPath,
626 OffsetPosition,
628 OffsetRotate,
630 Opacity,
632 Order,
634 Orphans,
636 Outline,
638 OutlineColor,
640 OutlineOffset,
642 OutlineStyle,
644 OutlineWidth,
646 Overflow,
648 OverflowAnchor,
650 OverflowBlock,
652 OverflowClipMargin,
654 OverflowInline,
656 OverflowWrap,
658 OverflowX,
660 OverflowY,
662 OverscrollBehavior,
664 OverscrollBehaviorBlock,
666 OverscrollBehaviorInline,
668 OverscrollBehaviorX,
670 OverscrollBehaviorY,
672 Padding,
674 PaddingBlock,
676 PaddingBlockEnd,
678 PaddingBlockStart,
680 PaddingBottom,
682 PaddingInline,
684 PaddingInlineEnd,
686 PaddingInlineStart,
688 PaddingLeft,
690 PaddingRight,
692 PaddingTop,
694 Page,
696 PaintOrder,
698 PathLength,
700 Perspective,
702 PerspectiveOrigin,
704 PlaceContent,
706 PlaceItems,
708 PlaceSelf,
710 PointerEvents,
712 Position,
714 PositionAnchor,
716 PositionArea,
718 PositionTryFallbacks,
720 PrintColorAdjust,
722 Quotes,
724 R,
726 ReadingFlow,
728 ReadingOrder,
730 Resize,
732 Right,
734 Rotate,
736 RowGap,
738 RubyAlign,
740 RubyOverhang,
742 RubyPosition,
744 Rx,
746 Ry,
748 Scale,
750 ScrollAxisLock,
752 ScrollBehavior,
754 ScrollMargin,
756 ScrollMarginBlock,
758 ScrollMarginBlockEnd,
760 ScrollMarginBlockStart,
762 ScrollMarginBottom,
764 ScrollMarginInline,
766 ScrollMarginInlineEnd,
768 ScrollMarginInlineStart,
770 ScrollMarginLeft,
772 ScrollMarginRight,
774 ScrollMarginTop,
776 ScrollMarkerGroup,
778 ScrollPadding,
780 ScrollPaddingBlock,
782 ScrollPaddingBlockEnd,
784 ScrollPaddingBlockStart,
786 ScrollPaddingBottom,
788 ScrollPaddingInline,
790 ScrollPaddingInlineEnd,
792 ScrollPaddingInlineStart,
794 ScrollPaddingLeft,
796 ScrollPaddingRight,
798 ScrollPaddingTop,
800 ScrollSnapAlign,
802 ScrollSnapStop,
804 ScrollSnapType,
806 ScrollTargetGroup,
808 ScrollbarColor,
810 ScrollbarGutter,
812 ScrollbarWidth,
814 ShapeImageThreshold,
816 ShapeMargin,
818 ShapeOutside,
820 ShapeRendering,
822 StopColor,
824 StopOpacity,
826 Stroke,
828 StrokeDasharray,
830 StrokeDashoffset,
832 StrokeLinecap,
834 StrokeLinejoin,
836 StrokeMiterlimit,
838 StrokeOpacity,
840 StrokeWidth,
842 TabSize,
844 TableLayout,
846 TextAlign,
848 TextAlignLast,
850 TextAnchor,
852 TextAutospace,
854 TextBox,
856 TextBoxEdge,
858 TextBoxTrim,
860 TextCombineUpright,
862 TextDecoration,
864 TextDecorationColor,
866 TextDecorationInset,
868 TextDecorationLine,
870 TextDecorationSkipInk,
872 TextDecorationStyle,
874 TextDecorationThickness,
876 TextEmphasis,
878 TextEmphasisColor,
880 TextEmphasisPosition,
882 TextEmphasisStyle,
884 TextFit,
886 TextIndent,
888 TextJustify,
890 TextOrientation,
892 TextOverflow,
894 TextRendering,
896 TextShadow,
898 TextTransform,
900 TextUnderlineOffset,
902 TextUnderlinePosition,
904 TextWrap,
906 TextWrapMode,
908 TextWrapStyle,
910 TimelineTrigger,
912 TimelineTriggerActivationRange,
914 TimelineTriggerActivationRangeEnd,
916 TimelineTriggerActivationRangeStart,
918 TimelineTriggerActiveRange,
920 TimelineTriggerActiveRangeEnd,
922 TimelineTriggerActiveRangeStart,
924 TimelineTriggerName,
926 TimelineTriggerSource,
928 Top,
930 TouchAction,
932 Transform,
934 TransformBox,
936 TransformOrigin,
938 TransformStyle,
940 Transition,
942 TransitionBehavior,
944 TransitionDelay,
946 TransitionDuration,
948 TransitionProperty,
950 TransitionTimingFunction,
952 Translate,
954 TriggerScope,
956 UnicodeBidi,
958 UserSelect,
960 VectorEffect,
962 VerticalAlign,
964 ViewTransitionClass,
966 ViewTransitionName,
968 ViewTransitionScope,
970 Visibility,
972 WhiteSpace,
974 WhiteSpaceCollapse,
976 Widows,
978 Width,
980 WillChange,
982 WindowDrag,
984 WordBreak,
986 WordSpacing,
988 WordWrap,
990 WritingMode,
992 X,
994 Y,
996 ZIndex,
998 Zoom,
1000}
1001
1002impl Property {
1003 #[must_use]
1005 #[expect(clippy::too_many_lines, reason = "one arm per property")]
1006 pub fn name(self) -> &'static str {
1007 match self {
1008 Self::AccentColor => "accent-color",
1009 Self::AlignContent => "align-content",
1010 Self::AlignItems => "align-items",
1011 Self::AlignSelf => "align-self",
1012 Self::AlignmentBaseline => "alignment-baseline",
1013 Self::All => "all",
1014 Self::AnchorName => "anchor-name",
1015 Self::Animation => "animation",
1016 Self::AnimationComposition => "animation-composition",
1017 Self::AnimationDelay => "animation-delay",
1018 Self::AnimationDirection => "animation-direction",
1019 Self::AnimationDuration => "animation-duration",
1020 Self::AnimationFillMode => "animation-fill-mode",
1021 Self::AnimationIterationCount => "animation-iteration-count",
1022 Self::AnimationName => "animation-name",
1023 Self::AnimationPlayState => "animation-play-state",
1024 Self::AnimationTimingFunction => "animation-timing-function",
1025 Self::AnimationTrigger => "animation-trigger",
1026 Self::Appearance => "appearance",
1027 Self::AspectRatio => "aspect-ratio",
1028 Self::BackdropFilter => "backdrop-filter",
1029 Self::BackfaceVisibility => "backface-visibility",
1030 Self::Background => "background",
1031 Self::BackgroundAttachment => "background-attachment",
1032 Self::BackgroundBlendMode => "background-blend-mode",
1033 Self::BackgroundClip => "background-clip",
1034 Self::BackgroundColor => "background-color",
1035 Self::BackgroundImage => "background-image",
1036 Self::BackgroundOrigin => "background-origin",
1037 Self::BackgroundPosition => "background-position",
1038 Self::BackgroundPositionX => "background-position-x",
1039 Self::BackgroundPositionY => "background-position-y",
1040 Self::BackgroundRepeat => "background-repeat",
1041 Self::BackgroundSize => "background-size",
1042 Self::BaselineShift => "baseline-shift",
1043 Self::BaselineSource => "baseline-source",
1044 Self::BlockSize => "block-size",
1045 Self::Border => "border",
1046 Self::BorderBlock => "border-block",
1047 Self::BorderBlockColor => "border-block-color",
1048 Self::BorderBlockEnd => "border-block-end",
1049 Self::BorderBlockEndColor => "border-block-end-color",
1050 Self::BorderBlockEndStyle => "border-block-end-style",
1051 Self::BorderBlockEndWidth => "border-block-end-width",
1052 Self::BorderBlockStart => "border-block-start",
1053 Self::BorderBlockStartColor => "border-block-start-color",
1054 Self::BorderBlockStartStyle => "border-block-start-style",
1055 Self::BorderBlockStartWidth => "border-block-start-width",
1056 Self::BorderBlockStyle => "border-block-style",
1057 Self::BorderBlockWidth => "border-block-width",
1058 Self::BorderBottom => "border-bottom",
1059 Self::BorderBottomColor => "border-bottom-color",
1060 Self::BorderBottomLeftRadius => "border-bottom-left-radius",
1061 Self::BorderBottomRightRadius => "border-bottom-right-radius",
1062 Self::BorderBottomStyle => "border-bottom-style",
1063 Self::BorderBottomWidth => "border-bottom-width",
1064 Self::BorderCollapse => "border-collapse",
1065 Self::BorderColor => "border-color",
1066 Self::BorderEndEndRadius => "border-end-end-radius",
1067 Self::BorderEndStartRadius => "border-end-start-radius",
1068 Self::BorderImage => "border-image",
1069 Self::BorderImageOutset => "border-image-outset",
1070 Self::BorderImageRepeat => "border-image-repeat",
1071 Self::BorderImageSlice => "border-image-slice",
1072 Self::BorderImageSource => "border-image-source",
1073 Self::BorderImageWidth => "border-image-width",
1074 Self::BorderInline => "border-inline",
1075 Self::BorderInlineColor => "border-inline-color",
1076 Self::BorderInlineEnd => "border-inline-end",
1077 Self::BorderInlineEndColor => "border-inline-end-color",
1078 Self::BorderInlineEndStyle => "border-inline-end-style",
1079 Self::BorderInlineEndWidth => "border-inline-end-width",
1080 Self::BorderInlineStart => "border-inline-start",
1081 Self::BorderInlineStartColor => "border-inline-start-color",
1082 Self::BorderInlineStartStyle => "border-inline-start-style",
1083 Self::BorderInlineStartWidth => "border-inline-start-width",
1084 Self::BorderInlineStyle => "border-inline-style",
1085 Self::BorderInlineWidth => "border-inline-width",
1086 Self::BorderLeft => "border-left",
1087 Self::BorderLeftColor => "border-left-color",
1088 Self::BorderLeftStyle => "border-left-style",
1089 Self::BorderLeftWidth => "border-left-width",
1090 Self::BorderRadius => "border-radius",
1091 Self::BorderRight => "border-right",
1092 Self::BorderRightColor => "border-right-color",
1093 Self::BorderRightStyle => "border-right-style",
1094 Self::BorderRightWidth => "border-right-width",
1095 Self::BorderShape => "border-shape",
1096 Self::BorderSpacing => "border-spacing",
1097 Self::BorderStartEndRadius => "border-start-end-radius",
1098 Self::BorderStartStartRadius => "border-start-start-radius",
1099 Self::BorderStyle => "border-style",
1100 Self::BorderTop => "border-top",
1101 Self::BorderTopColor => "border-top-color",
1102 Self::BorderTopLeftRadius => "border-top-left-radius",
1103 Self::BorderTopRightRadius => "border-top-right-radius",
1104 Self::BorderTopStyle => "border-top-style",
1105 Self::BorderTopWidth => "border-top-width",
1106 Self::BorderWidth => "border-width",
1107 Self::Bottom => "bottom",
1108 Self::BoxDecorationBreak => "box-decoration-break",
1109 Self::BoxShadow => "box-shadow",
1110 Self::BoxSizing => "box-sizing",
1111 Self::BreakAfter => "break-after",
1112 Self::BreakBefore => "break-before",
1113 Self::BreakInside => "break-inside",
1114 Self::CaptionSide => "caption-side",
1115 Self::Caret => "caret",
1116 Self::CaretAnimation => "caret-animation",
1117 Self::CaretColor => "caret-color",
1118 Self::CaretShape => "caret-shape",
1119 Self::Clear => "clear",
1120 Self::ClipPath => "clip-path",
1121 Self::ClipRule => "clip-rule",
1122 Self::Color => "color",
1123 Self::ColorInterpolationFilters => "color-interpolation-filters",
1124 Self::ColorScheme => "color-scheme",
1125 Self::ColumnCount => "column-count",
1126 Self::ColumnFill => "column-fill",
1127 Self::ColumnGap => "column-gap",
1128 Self::ColumnHeight => "column-height",
1129 Self::ColumnRule => "column-rule",
1130 Self::ColumnRuleColor => "column-rule-color",
1131 Self::ColumnRuleStyle => "column-rule-style",
1132 Self::ColumnRuleWidth => "column-rule-width",
1133 Self::ColumnSpan => "column-span",
1134 Self::ColumnWidth => "column-width",
1135 Self::ColumnWrap => "column-wrap",
1136 Self::Columns => "columns",
1137 Self::Contain => "contain",
1138 Self::ContainIntrinsicBlockSize => "contain-intrinsic-block-size",
1139 Self::ContainIntrinsicHeight => "contain-intrinsic-height",
1140 Self::ContainIntrinsicInlineSize => "contain-intrinsic-inline-size",
1141 Self::ContainIntrinsicSize => "contain-intrinsic-size",
1142 Self::ContainIntrinsicWidth => "contain-intrinsic-width",
1143 Self::Container => "container",
1144 Self::ContainerName => "container-name",
1145 Self::ContainerType => "container-type",
1146 Self::Content => "content",
1147 Self::ContentVisibility => "content-visibility",
1148 Self::CornerBlockEndShape => "corner-block-end-shape",
1149 Self::CornerBlockStartShape => "corner-block-start-shape",
1150 Self::CornerBottomLeftShape => "corner-bottom-left-shape",
1151 Self::CornerBottomRightShape => "corner-bottom-right-shape",
1152 Self::CornerBottomShape => "corner-bottom-shape",
1153 Self::CornerEndEndShape => "corner-end-end-shape",
1154 Self::CornerEndStartShape => "corner-end-start-shape",
1155 Self::CornerInlineEndShape => "corner-inline-end-shape",
1156 Self::CornerInlineStartShape => "corner-inline-start-shape",
1157 Self::CornerLeftShape => "corner-left-shape",
1158 Self::CornerRightShape => "corner-right-shape",
1159 Self::CornerShape => "corner-shape",
1160 Self::CornerStartEndShape => "corner-start-end-shape",
1161 Self::CornerStartStartShape => "corner-start-start-shape",
1162 Self::CornerTopLeftShape => "corner-top-left-shape",
1163 Self::CornerTopRightShape => "corner-top-right-shape",
1164 Self::CornerTopShape => "corner-top-shape",
1165 Self::CounterIncrement => "counter-increment",
1166 Self::CounterReset => "counter-reset",
1167 Self::CounterSet => "counter-set",
1168 Self::Cursor => "cursor",
1169 Self::Cx => "cx",
1170 Self::Cy => "cy",
1171 Self::D => "d",
1172 Self::Direction => "direction",
1173 Self::Display => "display",
1174 Self::DominantBaseline => "dominant-baseline",
1175 Self::DynamicRangeLimit => "dynamic-range-limit",
1176 Self::EmptyCells => "empty-cells",
1177 Self::Fill => "fill",
1178 Self::FillOpacity => "fill-opacity",
1179 Self::FillRule => "fill-rule",
1180 Self::Filter => "filter",
1181 Self::Flex => "flex",
1182 Self::FlexBasis => "flex-basis",
1183 Self::FlexDirection => "flex-direction",
1184 Self::FlexFlow => "flex-flow",
1185 Self::FlexGrow => "flex-grow",
1186 Self::FlexLineCount => "flex-line-count",
1187 Self::FlexShrink => "flex-shrink",
1188 Self::FlexWrap => "flex-wrap",
1189 Self::Float => "float",
1190 Self::FloodColor => "flood-color",
1191 Self::FloodOpacity => "flood-opacity",
1192 Self::Font => "font",
1193 Self::FontFamily => "font-family",
1194 Self::FontFeatureSettings => "font-feature-settings",
1195 Self::FontKerning => "font-kerning",
1196 Self::FontLanguageOverride => "font-language-override",
1197 Self::FontOpticalSizing => "font-optical-sizing",
1198 Self::FontPalette => "font-palette",
1199 Self::FontSize => "font-size",
1200 Self::FontSizeAdjust => "font-size-adjust",
1201 Self::FontStyle => "font-style",
1202 Self::FontSynthesis => "font-synthesis",
1203 Self::FontSynthesisSmallCaps => "font-synthesis-small-caps",
1204 Self::FontSynthesisStyle => "font-synthesis-style",
1205 Self::FontSynthesisWeight => "font-synthesis-weight",
1206 Self::FontVariant => "font-variant",
1207 Self::FontVariantAlternates => "font-variant-alternates",
1208 Self::FontVariantCaps => "font-variant-caps",
1209 Self::FontVariantEastAsian => "font-variant-east-asian",
1210 Self::FontVariantEmoji => "font-variant-emoji",
1211 Self::FontVariantLigatures => "font-variant-ligatures",
1212 Self::FontVariantNumeric => "font-variant-numeric",
1213 Self::FontVariantPosition => "font-variant-position",
1214 Self::FontVariationSettings => "font-variation-settings",
1215 Self::FontWeight => "font-weight",
1216 Self::ForcedColorAdjust => "forced-color-adjust",
1217 Self::FrameSizing => "frame-sizing",
1218 Self::Gap => "gap",
1219 Self::Grid => "grid",
1220 Self::GridArea => "grid-area",
1221 Self::GridAutoColumns => "grid-auto-columns",
1222 Self::GridAutoFlow => "grid-auto-flow",
1223 Self::GridAutoRows => "grid-auto-rows",
1224 Self::GridColumn => "grid-column",
1225 Self::GridColumnEnd => "grid-column-end",
1226 Self::GridColumnStart => "grid-column-start",
1227 Self::GridRow => "grid-row",
1228 Self::GridRowEnd => "grid-row-end",
1229 Self::GridRowStart => "grid-row-start",
1230 Self::GridTemplate => "grid-template",
1231 Self::GridTemplateAreas => "grid-template-areas",
1232 Self::GridTemplateColumns => "grid-template-columns",
1233 Self::GridTemplateRows => "grid-template-rows",
1234 Self::HangingPunctuation => "hanging-punctuation",
1235 Self::Height => "height",
1236 Self::HyphenateCharacter => "hyphenate-character",
1237 Self::HyphenateLimitChars => "hyphenate-limit-chars",
1238 Self::Hyphens => "hyphens",
1239 Self::ImageOrientation => "image-orientation",
1240 Self::ImageRendering => "image-rendering",
1241 Self::InitialLetter => "initial-letter",
1242 Self::InlineSize => "inline-size",
1243 Self::Inset => "inset",
1244 Self::InsetBlock => "inset-block",
1245 Self::InsetBlockEnd => "inset-block-end",
1246 Self::InsetBlockStart => "inset-block-start",
1247 Self::InsetInline => "inset-inline",
1248 Self::InsetInlineEnd => "inset-inline-end",
1249 Self::InsetInlineStart => "inset-inline-start",
1250 Self::Interactivity => "interactivity",
1251 Self::InterestDelay => "interest-delay",
1252 Self::InterestDelayEnd => "interest-delay-end",
1253 Self::InterestDelayStart => "interest-delay-start",
1254 Self::Isolation => "isolation",
1255 Self::JustifyContent => "justify-content",
1256 Self::JustifyItems => "justify-items",
1257 Self::JustifySelf => "justify-self",
1258 Self::Left => "left",
1259 Self::LetterSpacing => "letter-spacing",
1260 Self::LightingColor => "lighting-color",
1261 Self::LineBreak => "line-break",
1262 Self::LineClamp => "line-clamp",
1263 Self::LineHeight => "line-height",
1264 Self::ListStyle => "list-style",
1265 Self::ListStyleImage => "list-style-image",
1266 Self::ListStylePosition => "list-style-position",
1267 Self::ListStyleType => "list-style-type",
1268 Self::Margin => "margin",
1269 Self::MarginBlock => "margin-block",
1270 Self::MarginBlockEnd => "margin-block-end",
1271 Self::MarginBlockStart => "margin-block-start",
1272 Self::MarginBottom => "margin-bottom",
1273 Self::MarginInline => "margin-inline",
1274 Self::MarginInlineEnd => "margin-inline-end",
1275 Self::MarginInlineStart => "margin-inline-start",
1276 Self::MarginLeft => "margin-left",
1277 Self::MarginRight => "margin-right",
1278 Self::MarginTop => "margin-top",
1279 Self::Marker => "marker",
1280 Self::MarkerEnd => "marker-end",
1281 Self::MarkerMid => "marker-mid",
1282 Self::MarkerStart => "marker-start",
1283 Self::Mask => "mask",
1284 Self::MaskBorder => "mask-border",
1285 Self::MaskBorderMode => "mask-border-mode",
1286 Self::MaskBorderOutset => "mask-border-outset",
1287 Self::MaskBorderRepeat => "mask-border-repeat",
1288 Self::MaskBorderSlice => "mask-border-slice",
1289 Self::MaskBorderSource => "mask-border-source",
1290 Self::MaskBorderWidth => "mask-border-width",
1291 Self::MaskClip => "mask-clip",
1292 Self::MaskComposite => "mask-composite",
1293 Self::MaskImage => "mask-image",
1294 Self::MaskMode => "mask-mode",
1295 Self::MaskOrigin => "mask-origin",
1296 Self::MaskPosition => "mask-position",
1297 Self::MaskRepeat => "mask-repeat",
1298 Self::MaskSize => "mask-size",
1299 Self::MaskType => "mask-type",
1300 Self::MathDepth => "math-depth",
1301 Self::MathStyle => "math-style",
1302 Self::MaxBlockSize => "max-block-size",
1303 Self::MaxHeight => "max-height",
1304 Self::MaxInlineSize => "max-inline-size",
1305 Self::MaxWidth => "max-width",
1306 Self::MinBlockSize => "min-block-size",
1307 Self::MinHeight => "min-height",
1308 Self::MinInlineSize => "min-inline-size",
1309 Self::MinWidth => "min-width",
1310 Self::MixBlendMode => "mix-blend-mode",
1311 Self::ObjectFit => "object-fit",
1312 Self::ObjectPosition => "object-position",
1313 Self::Offset => "offset",
1314 Self::OffsetAnchor => "offset-anchor",
1315 Self::OffsetDistance => "offset-distance",
1316 Self::OffsetPath => "offset-path",
1317 Self::OffsetPosition => "offset-position",
1318 Self::OffsetRotate => "offset-rotate",
1319 Self::Opacity => "opacity",
1320 Self::Order => "order",
1321 Self::Orphans => "orphans",
1322 Self::Outline => "outline",
1323 Self::OutlineColor => "outline-color",
1324 Self::OutlineOffset => "outline-offset",
1325 Self::OutlineStyle => "outline-style",
1326 Self::OutlineWidth => "outline-width",
1327 Self::Overflow => "overflow",
1328 Self::OverflowAnchor => "overflow-anchor",
1329 Self::OverflowBlock => "overflow-block",
1330 Self::OverflowClipMargin => "overflow-clip-margin",
1331 Self::OverflowInline => "overflow-inline",
1332 Self::OverflowWrap => "overflow-wrap",
1333 Self::OverflowX => "overflow-x",
1334 Self::OverflowY => "overflow-y",
1335 Self::OverscrollBehavior => "overscroll-behavior",
1336 Self::OverscrollBehaviorBlock => "overscroll-behavior-block",
1337 Self::OverscrollBehaviorInline => "overscroll-behavior-inline",
1338 Self::OverscrollBehaviorX => "overscroll-behavior-x",
1339 Self::OverscrollBehaviorY => "overscroll-behavior-y",
1340 Self::Padding => "padding",
1341 Self::PaddingBlock => "padding-block",
1342 Self::PaddingBlockEnd => "padding-block-end",
1343 Self::PaddingBlockStart => "padding-block-start",
1344 Self::PaddingBottom => "padding-bottom",
1345 Self::PaddingInline => "padding-inline",
1346 Self::PaddingInlineEnd => "padding-inline-end",
1347 Self::PaddingInlineStart => "padding-inline-start",
1348 Self::PaddingLeft => "padding-left",
1349 Self::PaddingRight => "padding-right",
1350 Self::PaddingTop => "padding-top",
1351 Self::Page => "page",
1352 Self::PaintOrder => "paint-order",
1353 Self::PathLength => "path-length",
1354 Self::Perspective => "perspective",
1355 Self::PerspectiveOrigin => "perspective-origin",
1356 Self::PlaceContent => "place-content",
1357 Self::PlaceItems => "place-items",
1358 Self::PlaceSelf => "place-self",
1359 Self::PointerEvents => "pointer-events",
1360 Self::Position => "position",
1361 Self::PositionAnchor => "position-anchor",
1362 Self::PositionArea => "position-area",
1363 Self::PositionTryFallbacks => "position-try-fallbacks",
1364 Self::PrintColorAdjust => "print-color-adjust",
1365 Self::Quotes => "quotes",
1366 Self::R => "r",
1367 Self::ReadingFlow => "reading-flow",
1368 Self::ReadingOrder => "reading-order",
1369 Self::Resize => "resize",
1370 Self::Right => "right",
1371 Self::Rotate => "rotate",
1372 Self::RowGap => "row-gap",
1373 Self::RubyAlign => "ruby-align",
1374 Self::RubyOverhang => "ruby-overhang",
1375 Self::RubyPosition => "ruby-position",
1376 Self::Rx => "rx",
1377 Self::Ry => "ry",
1378 Self::Scale => "scale",
1379 Self::ScrollAxisLock => "scroll-axis-lock",
1380 Self::ScrollBehavior => "scroll-behavior",
1381 Self::ScrollMargin => "scroll-margin",
1382 Self::ScrollMarginBlock => "scroll-margin-block",
1383 Self::ScrollMarginBlockEnd => "scroll-margin-block-end",
1384 Self::ScrollMarginBlockStart => "scroll-margin-block-start",
1385 Self::ScrollMarginBottom => "scroll-margin-bottom",
1386 Self::ScrollMarginInline => "scroll-margin-inline",
1387 Self::ScrollMarginInlineEnd => "scroll-margin-inline-end",
1388 Self::ScrollMarginInlineStart => "scroll-margin-inline-start",
1389 Self::ScrollMarginLeft => "scroll-margin-left",
1390 Self::ScrollMarginRight => "scroll-margin-right",
1391 Self::ScrollMarginTop => "scroll-margin-top",
1392 Self::ScrollMarkerGroup => "scroll-marker-group",
1393 Self::ScrollPadding => "scroll-padding",
1394 Self::ScrollPaddingBlock => "scroll-padding-block",
1395 Self::ScrollPaddingBlockEnd => "scroll-padding-block-end",
1396 Self::ScrollPaddingBlockStart => "scroll-padding-block-start",
1397 Self::ScrollPaddingBottom => "scroll-padding-bottom",
1398 Self::ScrollPaddingInline => "scroll-padding-inline",
1399 Self::ScrollPaddingInlineEnd => "scroll-padding-inline-end",
1400 Self::ScrollPaddingInlineStart => "scroll-padding-inline-start",
1401 Self::ScrollPaddingLeft => "scroll-padding-left",
1402 Self::ScrollPaddingRight => "scroll-padding-right",
1403 Self::ScrollPaddingTop => "scroll-padding-top",
1404 Self::ScrollSnapAlign => "scroll-snap-align",
1405 Self::ScrollSnapStop => "scroll-snap-stop",
1406 Self::ScrollSnapType => "scroll-snap-type",
1407 Self::ScrollTargetGroup => "scroll-target-group",
1408 Self::ScrollbarColor => "scrollbar-color",
1409 Self::ScrollbarGutter => "scrollbar-gutter",
1410 Self::ScrollbarWidth => "scrollbar-width",
1411 Self::ShapeImageThreshold => "shape-image-threshold",
1412 Self::ShapeMargin => "shape-margin",
1413 Self::ShapeOutside => "shape-outside",
1414 Self::ShapeRendering => "shape-rendering",
1415 Self::StopColor => "stop-color",
1416 Self::StopOpacity => "stop-opacity",
1417 Self::Stroke => "stroke",
1418 Self::StrokeDasharray => "stroke-dasharray",
1419 Self::StrokeDashoffset => "stroke-dashoffset",
1420 Self::StrokeLinecap => "stroke-linecap",
1421 Self::StrokeLinejoin => "stroke-linejoin",
1422 Self::StrokeMiterlimit => "stroke-miterlimit",
1423 Self::StrokeOpacity => "stroke-opacity",
1424 Self::StrokeWidth => "stroke-width",
1425 Self::TabSize => "tab-size",
1426 Self::TableLayout => "table-layout",
1427 Self::TextAlign => "text-align",
1428 Self::TextAlignLast => "text-align-last",
1429 Self::TextAnchor => "text-anchor",
1430 Self::TextAutospace => "text-autospace",
1431 Self::TextBox => "text-box",
1432 Self::TextBoxEdge => "text-box-edge",
1433 Self::TextBoxTrim => "text-box-trim",
1434 Self::TextCombineUpright => "text-combine-upright",
1435 Self::TextDecoration => "text-decoration",
1436 Self::TextDecorationColor => "text-decoration-color",
1437 Self::TextDecorationInset => "text-decoration-inset",
1438 Self::TextDecorationLine => "text-decoration-line",
1439 Self::TextDecorationSkipInk => "text-decoration-skip-ink",
1440 Self::TextDecorationStyle => "text-decoration-style",
1441 Self::TextDecorationThickness => "text-decoration-thickness",
1442 Self::TextEmphasis => "text-emphasis",
1443 Self::TextEmphasisColor => "text-emphasis-color",
1444 Self::TextEmphasisPosition => "text-emphasis-position",
1445 Self::TextEmphasisStyle => "text-emphasis-style",
1446 Self::TextFit => "text-fit",
1447 Self::TextIndent => "text-indent",
1448 Self::TextJustify => "text-justify",
1449 Self::TextOrientation => "text-orientation",
1450 Self::TextOverflow => "text-overflow",
1451 Self::TextRendering => "text-rendering",
1452 Self::TextShadow => "text-shadow",
1453 Self::TextTransform => "text-transform",
1454 Self::TextUnderlineOffset => "text-underline-offset",
1455 Self::TextUnderlinePosition => "text-underline-position",
1456 Self::TextWrap => "text-wrap",
1457 Self::TextWrapMode => "text-wrap-mode",
1458 Self::TextWrapStyle => "text-wrap-style",
1459 Self::TimelineTrigger => "timeline-trigger",
1460 Self::TimelineTriggerActivationRange => "timeline-trigger-activation-range",
1461 Self::TimelineTriggerActivationRangeEnd => "timeline-trigger-activation-range-end",
1462 Self::TimelineTriggerActivationRangeStart => "timeline-trigger-activation-range-start",
1463 Self::TimelineTriggerActiveRange => "timeline-trigger-active-range",
1464 Self::TimelineTriggerActiveRangeEnd => "timeline-trigger-active-range-end",
1465 Self::TimelineTriggerActiveRangeStart => "timeline-trigger-active-range-start",
1466 Self::TimelineTriggerName => "timeline-trigger-name",
1467 Self::TimelineTriggerSource => "timeline-trigger-source",
1468 Self::Top => "top",
1469 Self::TouchAction => "touch-action",
1470 Self::Transform => "transform",
1471 Self::TransformBox => "transform-box",
1472 Self::TransformOrigin => "transform-origin",
1473 Self::TransformStyle => "transform-style",
1474 Self::Transition => "transition",
1475 Self::TransitionBehavior => "transition-behavior",
1476 Self::TransitionDelay => "transition-delay",
1477 Self::TransitionDuration => "transition-duration",
1478 Self::TransitionProperty => "transition-property",
1479 Self::TransitionTimingFunction => "transition-timing-function",
1480 Self::Translate => "translate",
1481 Self::TriggerScope => "trigger-scope",
1482 Self::UnicodeBidi => "unicode-bidi",
1483 Self::UserSelect => "user-select",
1484 Self::VectorEffect => "vector-effect",
1485 Self::VerticalAlign => "vertical-align",
1486 Self::ViewTransitionClass => "view-transition-class",
1487 Self::ViewTransitionName => "view-transition-name",
1488 Self::ViewTransitionScope => "view-transition-scope",
1489 Self::Visibility => "visibility",
1490 Self::WhiteSpace => "white-space",
1491 Self::WhiteSpaceCollapse => "white-space-collapse",
1492 Self::Widows => "widows",
1493 Self::Width => "width",
1494 Self::WillChange => "will-change",
1495 Self::WindowDrag => "window-drag",
1496 Self::WordBreak => "word-break",
1497 Self::WordSpacing => "word-spacing",
1498 Self::WordWrap => "word-wrap",
1499 Self::WritingMode => "writing-mode",
1500 Self::X => "x",
1501 Self::Y => "y",
1502 Self::ZIndex => "z-index",
1503 Self::Zoom => "zoom",
1504 }
1505 }
1506
1507 #[expect(clippy::too_many_lines, reason = "one arm per longhand")]
1510 pub(crate) fn rank(self) -> u32 {
1511 match self {
1512 Self::AccentColor
1513 | Self::AlignmentBaseline
1514 | Self::All
1515 | Self::AnchorName
1516 | Self::Animation
1517 | Self::AnimationComposition
1518 | Self::AnimationTrigger
1519 | Self::Appearance
1520 | Self::AspectRatio
1521 | Self::BackdropFilter
1522 | Self::BackfaceVisibility
1523 | Self::Background
1524 | Self::BackgroundBlendMode
1525 | Self::BaselineShift
1526 | Self::BaselineSource
1527 | Self::BlockSize
1528 | Self::Border
1529 | Self::BorderBlock
1530 | Self::BorderBlockEnd
1531 | Self::BorderBlockStart
1532 | Self::BorderBottom
1533 | Self::BorderCollapse
1534 | Self::BorderEndEndRadius
1535 | Self::BorderEndStartRadius
1536 | Self::BorderImage
1537 | Self::BorderInline
1538 | Self::BorderInlineEnd
1539 | Self::BorderInlineStart
1540 | Self::BorderLeft
1541 | Self::BorderRadius
1542 | Self::BorderRight
1543 | Self::BorderShape
1544 | Self::BorderSpacing
1545 | Self::BorderStartEndRadius
1546 | Self::BorderStartStartRadius
1547 | Self::BorderTop
1548 | Self::BoxDecorationBreak
1549 | Self::BoxShadow
1550 | Self::BoxSizing
1551 | Self::BreakAfter
1552 | Self::BreakBefore
1553 | Self::BreakInside
1554 | Self::CaptionSide
1555 | Self::Caret
1556 | Self::Clear
1557 | Self::ClipPath
1558 | Self::ClipRule
1559 | Self::Color
1560 | Self::ColorInterpolationFilters
1561 | Self::ColorScheme
1562 | Self::ColumnFill
1563 | Self::ColumnRule
1564 | Self::ColumnSpan
1565 | Self::ColumnWrap
1566 | Self::Columns
1567 | Self::Contain
1568 | Self::ContainIntrinsicBlockSize
1569 | Self::ContainIntrinsicInlineSize
1570 | Self::ContainIntrinsicSize
1571 | Self::Container
1572 | Self::Content
1573 | Self::ContentVisibility
1574 | Self::CornerBlockEndShape
1575 | Self::CornerBlockStartShape
1576 | Self::CornerBottomShape
1577 | Self::CornerInlineEndShape
1578 | Self::CornerInlineStartShape
1579 | Self::CornerLeftShape
1580 | Self::CornerRightShape
1581 | Self::CornerShape
1582 | Self::CornerTopShape
1583 | Self::CounterIncrement
1584 | Self::CounterReset
1585 | Self::CounterSet
1586 | Self::Cursor
1587 | Self::Cx
1588 | Self::Cy
1589 | Self::D
1590 | Self::Direction
1591 | Self::Display
1592 | Self::DominantBaseline
1593 | Self::DynamicRangeLimit
1594 | Self::EmptyCells
1595 | Self::Fill
1596 | Self::FillOpacity
1597 | Self::FillRule
1598 | Self::Filter
1599 | Self::Flex
1600 | Self::FlexFlow
1601 | Self::FlexLineCount
1602 | Self::Float
1603 | Self::FloodColor
1604 | Self::FloodOpacity
1605 | Self::Font
1606 | Self::FontFeatureSettings
1607 | Self::FontKerning
1608 | Self::FontLanguageOverride
1609 | Self::FontOpticalSizing
1610 | Self::FontPalette
1611 | Self::FontSizeAdjust
1612 | Self::FontSynthesis
1613 | Self::FontSynthesisSmallCaps
1614 | Self::FontSynthesisStyle
1615 | Self::FontSynthesisWeight
1616 | Self::FontVariantAlternates
1617 | Self::FontVariantCaps
1618 | Self::FontVariantEastAsian
1619 | Self::FontVariantEmoji
1620 | Self::FontVariantLigatures
1621 | Self::FontVariantNumeric
1622 | Self::FontVariantPosition
1623 | Self::FontVariationSettings
1624 | Self::ForcedColorAdjust
1625 | Self::FrameSizing
1626 | Self::Gap
1627 | Self::Grid
1628 | Self::GridArea
1629 | Self::GridColumn
1630 | Self::GridRow
1631 | Self::GridTemplate
1632 | Self::HangingPunctuation
1633 | Self::Height
1634 | Self::HyphenateCharacter
1635 | Self::HyphenateLimitChars
1636 | Self::Hyphens
1637 | Self::ImageOrientation
1638 | Self::ImageRendering
1639 | Self::InitialLetter
1640 | Self::InlineSize
1641 | Self::Inset
1642 | Self::InsetBlock
1643 | Self::InsetInline
1644 | Self::Interactivity
1645 | Self::InterestDelay
1646 | Self::Isolation
1647 | Self::LetterSpacing
1648 | Self::LightingColor
1649 | Self::LineBreak
1650 | Self::LineClamp
1651 | Self::ListStyle
1652 | Self::Margin
1653 | Self::MarginBlock
1654 | Self::MarginInline
1655 | Self::Marker
1656 | Self::MarkerEnd
1657 | Self::MarkerMid
1658 | Self::MarkerStart
1659 | Self::Mask
1660 | Self::MaskBorder
1661 | Self::MaskType
1662 | Self::MathDepth
1663 | Self::MathStyle
1664 | Self::MaxBlockSize
1665 | Self::MaxHeight
1666 | Self::MaxInlineSize
1667 | Self::MaxWidth
1668 | Self::MinBlockSize
1669 | Self::MinHeight
1670 | Self::MinInlineSize
1671 | Self::MinWidth
1672 | Self::MixBlendMode
1673 | Self::ObjectFit
1674 | Self::ObjectPosition
1675 | Self::Offset
1676 | Self::Opacity
1677 | Self::Order
1678 | Self::Orphans
1679 | Self::Outline
1680 | Self::OutlineOffset
1681 | Self::Overflow
1682 | Self::OverflowAnchor
1683 | Self::OverflowBlock
1684 | Self::OverflowClipMargin
1685 | Self::OverflowInline
1686 | Self::OverflowWrap
1687 | Self::OverscrollBehavior
1688 | Self::OverscrollBehaviorBlock
1689 | Self::OverscrollBehaviorInline
1690 | Self::Padding
1691 | Self::PaddingBlock
1692 | Self::PaddingInline
1693 | Self::Page
1694 | Self::PaintOrder
1695 | Self::PathLength
1696 | Self::Perspective
1697 | Self::PerspectiveOrigin
1698 | Self::PlaceContent
1699 | Self::PlaceItems
1700 | Self::PlaceSelf
1701 | Self::PointerEvents
1702 | Self::Position
1703 | Self::PositionAnchor
1704 | Self::PositionArea
1705 | Self::PositionTryFallbacks
1706 | Self::PrintColorAdjust
1707 | Self::Quotes
1708 | Self::R
1709 | Self::ReadingFlow
1710 | Self::ReadingOrder
1711 | Self::Resize
1712 | Self::Rotate
1713 | Self::RubyAlign
1714 | Self::RubyOverhang
1715 | Self::RubyPosition
1716 | Self::Rx
1717 | Self::Ry
1718 | Self::Scale
1719 | Self::ScrollAxisLock
1720 | Self::ScrollBehavior
1721 | Self::ScrollMargin
1722 | Self::ScrollMarginBlock
1723 | Self::ScrollMarginInline
1724 | Self::ScrollMarkerGroup
1725 | Self::ScrollPadding
1726 | Self::ScrollPaddingBlock
1727 | Self::ScrollPaddingInline
1728 | Self::ScrollSnapAlign
1729 | Self::ScrollSnapStop
1730 | Self::ScrollSnapType
1731 | Self::ScrollTargetGroup
1732 | Self::ScrollbarColor
1733 | Self::ScrollbarGutter
1734 | Self::ScrollbarWidth
1735 | Self::ShapeImageThreshold
1736 | Self::ShapeMargin
1737 | Self::ShapeOutside
1738 | Self::ShapeRendering
1739 | Self::StopColor
1740 | Self::StopOpacity
1741 | Self::Stroke
1742 | Self::StrokeDasharray
1743 | Self::StrokeDashoffset
1744 | Self::StrokeLinecap
1745 | Self::StrokeLinejoin
1746 | Self::StrokeMiterlimit
1747 | Self::StrokeOpacity
1748 | Self::StrokeWidth
1749 | Self::TabSize
1750 | Self::TableLayout
1751 | Self::TextAlign
1752 | Self::TextAlignLast
1753 | Self::TextAnchor
1754 | Self::TextAutospace
1755 | Self::TextBox
1756 | Self::TextBoxEdge
1757 | Self::TextBoxTrim
1758 | Self::TextCombineUpright
1759 | Self::TextDecoration
1760 | Self::TextDecorationInset
1761 | Self::TextDecorationSkipInk
1762 | Self::TextEmphasis
1763 | Self::TextEmphasisPosition
1764 | Self::TextFit
1765 | Self::TextIndent
1766 | Self::TextJustify
1767 | Self::TextOrientation
1768 | Self::TextOverflow
1769 | Self::TextRendering
1770 | Self::TextShadow
1771 | Self::TextTransform
1772 | Self::TextUnderlineOffset
1773 | Self::TextUnderlinePosition
1774 | Self::TextWrap
1775 | Self::TimelineTrigger
1776 | Self::TouchAction
1777 | Self::Transform
1778 | Self::TransformBox
1779 | Self::TransformOrigin
1780 | Self::TransformStyle
1781 | Self::Transition
1782 | Self::Translate
1783 | Self::TriggerScope
1784 | Self::UnicodeBidi
1785 | Self::UserSelect
1786 | Self::VectorEffect
1787 | Self::VerticalAlign
1788 | Self::ViewTransitionClass
1789 | Self::ViewTransitionName
1790 | Self::ViewTransitionScope
1791 | Self::Visibility
1792 | Self::WhiteSpace
1793 | Self::WhiteSpaceCollapse
1794 | Self::Widows
1795 | Self::Width
1796 | Self::WillChange
1797 | Self::WindowDrag
1798 | Self::WordBreak
1799 | Self::WordSpacing
1800 | Self::WordWrap
1801 | Self::WritingMode
1802 | Self::X
1803 | Self::Y
1804 | Self::ZIndex
1805 | Self::Zoom => 0,
1806 Self::AlignContent
1807 | Self::AlignItems
1808 | Self::AlignSelf
1809 | Self::AnimationDelay
1810 | Self::AnimationDirection
1811 | Self::AnimationDuration
1812 | Self::AnimationFillMode
1813 | Self::AnimationIterationCount
1814 | Self::AnimationName
1815 | Self::AnimationPlayState
1816 | Self::AnimationTimingFunction
1817 | Self::BackgroundAttachment
1818 | Self::BackgroundClip
1819 | Self::BackgroundColor
1820 | Self::BackgroundImage
1821 | Self::BackgroundOrigin
1822 | Self::BackgroundPosition
1823 | Self::BackgroundRepeat
1824 | Self::BackgroundSize
1825 | Self::BorderBlockColor
1826 | Self::BorderBlockStyle
1827 | Self::BorderBlockWidth
1828 | Self::BorderBottomLeftRadius
1829 | Self::BorderBottomRightRadius
1830 | Self::BorderColor
1831 | Self::BorderImageOutset
1832 | Self::BorderImageRepeat
1833 | Self::BorderImageSlice
1834 | Self::BorderImageSource
1835 | Self::BorderImageWidth
1836 | Self::BorderInlineColor
1837 | Self::BorderInlineStyle
1838 | Self::BorderInlineWidth
1839 | Self::BorderStyle
1840 | Self::BorderTopLeftRadius
1841 | Self::BorderTopRightRadius
1842 | Self::BorderWidth
1843 | Self::Bottom
1844 | Self::CaretAnimation
1845 | Self::CaretColor
1846 | Self::CaretShape
1847 | Self::ColumnCount
1848 | Self::ColumnGap
1849 | Self::ColumnHeight
1850 | Self::ColumnRuleColor
1851 | Self::ColumnRuleStyle
1852 | Self::ColumnRuleWidth
1853 | Self::ColumnWidth
1854 | Self::ContainIntrinsicHeight
1855 | Self::ContainIntrinsicWidth
1856 | Self::ContainerName
1857 | Self::ContainerType
1858 | Self::CornerBottomLeftShape
1859 | Self::CornerBottomRightShape
1860 | Self::CornerEndEndShape
1861 | Self::CornerEndStartShape
1862 | Self::CornerStartEndShape
1863 | Self::CornerStartStartShape
1864 | Self::CornerTopLeftShape
1865 | Self::CornerTopRightShape
1866 | Self::FlexBasis
1867 | Self::FlexDirection
1868 | Self::FlexGrow
1869 | Self::FlexShrink
1870 | Self::FlexWrap
1871 | Self::FontFamily
1872 | Self::FontSize
1873 | Self::FontStyle
1874 | Self::FontVariant
1875 | Self::FontWeight
1876 | Self::GridAutoColumns
1877 | Self::GridAutoFlow
1878 | Self::GridAutoRows
1879 | Self::GridColumnEnd
1880 | Self::GridColumnStart
1881 | Self::GridRowEnd
1882 | Self::GridRowStart
1883 | Self::GridTemplateAreas
1884 | Self::GridTemplateColumns
1885 | Self::GridTemplateRows
1886 | Self::InsetBlockEnd
1887 | Self::InsetBlockStart
1888 | Self::InsetInlineEnd
1889 | Self::InsetInlineStart
1890 | Self::InterestDelayEnd
1891 | Self::InterestDelayStart
1892 | Self::JustifyContent
1893 | Self::JustifyItems
1894 | Self::JustifySelf
1895 | Self::Left
1896 | Self::LineHeight
1897 | Self::ListStyleImage
1898 | Self::ListStylePosition
1899 | Self::ListStyleType
1900 | Self::MarginBlockEnd
1901 | Self::MarginBlockStart
1902 | Self::MarginBottom
1903 | Self::MarginInlineEnd
1904 | Self::MarginInlineStart
1905 | Self::MarginLeft
1906 | Self::MarginRight
1907 | Self::MarginTop
1908 | Self::MaskBorderMode
1909 | Self::MaskBorderOutset
1910 | Self::MaskBorderRepeat
1911 | Self::MaskBorderSlice
1912 | Self::MaskBorderSource
1913 | Self::MaskBorderWidth
1914 | Self::MaskClip
1915 | Self::MaskComposite
1916 | Self::MaskImage
1917 | Self::MaskMode
1918 | Self::MaskOrigin
1919 | Self::MaskPosition
1920 | Self::MaskRepeat
1921 | Self::MaskSize
1922 | Self::OffsetAnchor
1923 | Self::OffsetDistance
1924 | Self::OffsetPath
1925 | Self::OffsetPosition
1926 | Self::OffsetRotate
1927 | Self::OutlineColor
1928 | Self::OutlineStyle
1929 | Self::OutlineWidth
1930 | Self::OverflowX
1931 | Self::OverflowY
1932 | Self::OverscrollBehaviorX
1933 | Self::OverscrollBehaviorY
1934 | Self::PaddingBlockEnd
1935 | Self::PaddingBlockStart
1936 | Self::PaddingBottom
1937 | Self::PaddingInlineEnd
1938 | Self::PaddingInlineStart
1939 | Self::PaddingLeft
1940 | Self::PaddingRight
1941 | Self::PaddingTop
1942 | Self::Right
1943 | Self::RowGap
1944 | Self::ScrollMarginBlockEnd
1945 | Self::ScrollMarginBlockStart
1946 | Self::ScrollMarginBottom
1947 | Self::ScrollMarginInlineEnd
1948 | Self::ScrollMarginInlineStart
1949 | Self::ScrollMarginLeft
1950 | Self::ScrollMarginRight
1951 | Self::ScrollMarginTop
1952 | Self::ScrollPaddingBlockEnd
1953 | Self::ScrollPaddingBlockStart
1954 | Self::ScrollPaddingBottom
1955 | Self::ScrollPaddingInlineEnd
1956 | Self::ScrollPaddingInlineStart
1957 | Self::ScrollPaddingLeft
1958 | Self::ScrollPaddingRight
1959 | Self::ScrollPaddingTop
1960 | Self::TextDecorationColor
1961 | Self::TextDecorationLine
1962 | Self::TextDecorationStyle
1963 | Self::TextDecorationThickness
1964 | Self::TextEmphasisColor
1965 | Self::TextEmphasisStyle
1966 | Self::TextWrapMode
1967 | Self::TextWrapStyle
1968 | Self::TimelineTriggerActivationRange
1969 | Self::TimelineTriggerActiveRange
1970 | Self::TimelineTriggerName
1971 | Self::TimelineTriggerSource
1972 | Self::Top
1973 | Self::TransitionBehavior
1974 | Self::TransitionDelay
1975 | Self::TransitionDuration
1976 | Self::TransitionProperty
1977 | Self::TransitionTimingFunction => 1,
1978 _ => 2,
1979 }
1980 }
1981}
1982
1983use crate::value::{Color, Length};
1984
1985impl Style {
1986 #[must_use]
1988 pub fn accent_color(self, value: impl Into<crate::value::AccentColor>) -> Self {
1989 self.with(Property::AccentColor, value.into().to_string())
1990 }
1991
1992 #[must_use]
1996 pub fn align_content(self, value: impl Into<crate::value::AlignContent>) -> Self {
1997 self.with(Property::AlignContent, value.into().to_string())
1998 }
1999
2000 #[must_use]
2004 pub fn align_items(self, value: impl Into<crate::value::AlignItems>) -> Self {
2005 self.with(Property::AlignItems, value.into().to_string())
2006 }
2007
2008 #[must_use]
2012 pub fn align_self(self, value: impl Into<crate::value::AlignSelf>) -> Self {
2013 self.with(Property::AlignSelf, value.into().to_string())
2014 }
2015
2016 #[must_use]
2018 pub fn alignment_baseline(self, value: impl Into<crate::value::AlignmentBaseline>) -> Self {
2019 self.with(Property::AlignmentBaseline, value.into().to_string())
2020 }
2021
2022 #[must_use]
2024 pub fn all(self, value: impl Into<crate::value::All>) -> Self {
2025 self.with(Property::All, value.into().to_string())
2026 }
2027
2028 #[must_use]
2032 pub fn anchor_name(self, value: impl Into<crate::value::AnchorName>) -> Self {
2033 self.with(Property::AnchorName, value.into().to_string())
2034 }
2035
2036 #[must_use]
2040 pub fn animation(self, value: impl Into<crate::value::Animation>) -> Self {
2041 self.with(Property::Animation, value.into().to_string())
2042 }
2043
2044 #[must_use]
2048 pub fn animation_composition(self, value: impl Into<crate::value::AnimationComposition>) -> Self {
2049 self.with(Property::AnimationComposition, value.into().to_string())
2050 }
2051
2052 #[must_use]
2056 pub fn animation_delay(self, value: impl Into<crate::value::AnimationDelay>) -> Self {
2057 self.with(Property::AnimationDelay, value.into().to_string())
2058 }
2059
2060 #[must_use]
2064 pub fn animation_direction(self, value: impl Into<crate::value::AnimationDirection>) -> Self {
2065 self.with(Property::AnimationDirection, value.into().to_string())
2066 }
2067
2068 #[must_use]
2072 pub fn animation_duration(self, value: impl Into<crate::value::AnimationDuration>) -> Self {
2073 self.with(Property::AnimationDuration, value.into().to_string())
2074 }
2075
2076 #[must_use]
2080 pub fn animation_fill_mode(self, value: impl Into<crate::value::AnimationFillMode>) -> Self {
2081 self.with(Property::AnimationFillMode, value.into().to_string())
2082 }
2083
2084 #[must_use]
2088 pub fn animation_iteration_count(self, value: impl Into<crate::value::AnimationIterationCount>) -> Self {
2089 self.with(Property::AnimationIterationCount, value.into().to_string())
2090 }
2091
2092 #[must_use]
2096 pub fn animation_name(self, value: impl Into<crate::value::AnimationName>) -> Self {
2097 self.with(Property::AnimationName, value.into().to_string())
2098 }
2099
2100 #[must_use]
2104 pub fn animation_play_state(self, value: impl Into<crate::value::AnimationPlayState>) -> Self {
2105 self.with(Property::AnimationPlayState, value.into().to_string())
2106 }
2107
2108 #[must_use]
2112 pub fn animation_timing_function(self, value: impl Into<crate::value::AnimationTimingFunction>) -> Self {
2113 self.with(Property::AnimationTimingFunction, value.into().to_string())
2114 }
2115
2116 #[must_use]
2120 pub fn animation_trigger(self, value: impl Into<crate::value::AnimationTrigger>) -> Self {
2121 self.with(Property::AnimationTrigger, value.into().to_string())
2122 }
2123
2124 #[must_use]
2126 pub fn appearance(self, value: impl Into<crate::value::Appearance>) -> Self {
2127 self.with(Property::Appearance, value.into().to_string())
2128 }
2129
2130 #[must_use]
2134 pub fn aspect_ratio(self, value: impl Into<crate::value::AspectRatio>) -> Self {
2135 self.with(Property::AspectRatio, value.into().to_string())
2136 }
2137
2138 #[must_use]
2142 pub fn backdrop_filter(self, value: impl Into<crate::value::BackdropFilter>) -> Self {
2143 self.with(Property::BackdropFilter, value.into().to_string())
2144 }
2145
2146 #[must_use]
2148 pub fn backface_visibility(self, value: impl Into<crate::value::BackfaceVisibility>) -> Self {
2149 self.with(Property::BackfaceVisibility, value.into().to_string())
2150 }
2151
2152 #[must_use]
2156 pub fn background(self, value: impl Into<crate::value::Background>) -> Self {
2157 self.with(Property::Background, value.into().to_string())
2158 }
2159
2160 #[must_use]
2164 pub fn background_attachment(self, value: impl Into<crate::value::BackgroundAttachment>) -> Self {
2165 self.with(Property::BackgroundAttachment, value.into().to_string())
2166 }
2167
2168 #[must_use]
2172 pub fn background_blend_mode(self, value: impl Into<crate::value::BackgroundBlendMode>) -> Self {
2173 self.with(Property::BackgroundBlendMode, value.into().to_string())
2174 }
2175
2176 #[must_use]
2180 pub fn background_clip(self, value: impl Into<crate::value::BackgroundClip>) -> Self {
2181 self.with(Property::BackgroundClip, value.into().to_string())
2182 }
2183
2184 #[must_use]
2186 pub fn background_color(self, value: impl Into<Color>) -> Self {
2187 self.with(Property::BackgroundColor, value.into().to_string())
2188 }
2189
2190 #[must_use]
2194 pub fn background_image(self, value: impl Into<crate::value::BackgroundImage>) -> Self {
2195 self.with(Property::BackgroundImage, value.into().to_string())
2196 }
2197
2198 #[must_use]
2202 pub fn background_origin(self, value: impl Into<crate::value::BackgroundOrigin>) -> Self {
2203 self.with(Property::BackgroundOrigin, value.into().to_string())
2204 }
2205
2206 #[must_use]
2210 pub fn background_position(self, value: impl Into<crate::value::BackgroundPosition>) -> Self {
2211 self.with(Property::BackgroundPosition, value.into().to_string())
2212 }
2213
2214 #[must_use]
2218 pub fn background_position_x(self, value: impl Into<crate::value::BackgroundPositionX>) -> Self {
2219 self.with(Property::BackgroundPositionX, value.into().to_string())
2220 }
2221
2222 #[must_use]
2226 pub fn background_position_y(self, value: impl Into<crate::value::BackgroundPositionY>) -> Self {
2227 self.with(Property::BackgroundPositionY, value.into().to_string())
2228 }
2229
2230 #[must_use]
2234 pub fn background_repeat(self, value: impl Into<crate::value::BackgroundRepeat>) -> Self {
2235 self.with(Property::BackgroundRepeat, value.into().to_string())
2236 }
2237
2238 #[must_use]
2242 pub fn background_size(self, value: impl Into<crate::value::BackgroundSize>) -> Self {
2243 self.with(Property::BackgroundSize, value.into().to_string())
2244 }
2245
2246 #[must_use]
2248 pub fn baseline_shift(self, value: impl Into<crate::value::BaselineShift>) -> Self {
2249 self.with(Property::BaselineShift, value.into().to_string())
2250 }
2251
2252 #[must_use]
2254 pub fn baseline_source(self, value: impl Into<crate::value::BaselineSource>) -> Self {
2255 self.with(Property::BaselineSource, value.into().to_string())
2256 }
2257
2258 #[must_use]
2262 pub fn block_size(self, value: impl Into<crate::value::BlockSize>) -> Self {
2263 self.with(Property::BlockSize, value.into().to_string())
2264 }
2265
2266 #[must_use]
2270 pub fn border(self, value: impl Into<crate::value::Border>) -> Self {
2271 self.with(Property::Border, value.into().to_string())
2272 }
2273
2274 #[must_use]
2278 pub fn border_block(self, value: impl Into<crate::value::BorderBlock>) -> Self {
2279 self.with(Property::BorderBlock, value.into().to_string())
2280 }
2281
2282 #[must_use]
2286 pub fn border_block_color(self, value: impl Into<crate::value::BorderBlockColor>) -> Self {
2287 self.with(Property::BorderBlockColor, value.into().to_string())
2288 }
2289
2290 #[must_use]
2294 pub fn border_block_end(self, value: impl Into<crate::value::BorderBlockEnd>) -> Self {
2295 self.with(Property::BorderBlockEnd, value.into().to_string())
2296 }
2297
2298 #[must_use]
2300 pub fn border_block_end_color(self, value: impl Into<Color>) -> Self {
2301 self.with(Property::BorderBlockEndColor, value.into().to_string())
2302 }
2303
2304 #[must_use]
2306 pub fn border_block_end_style(self, value: impl Into<crate::value::BorderBlockEndStyle>) -> Self {
2307 self.with(Property::BorderBlockEndStyle, value.into().to_string())
2308 }
2309
2310 #[must_use]
2312 pub fn border_block_end_width(self, value: impl Into<crate::value::BorderBlockEndWidth>) -> Self {
2313 self.with(Property::BorderBlockEndWidth, value.into().to_string())
2314 }
2315
2316 #[must_use]
2320 pub fn border_block_start(self, value: impl Into<crate::value::BorderBlockStart>) -> Self {
2321 self.with(Property::BorderBlockStart, value.into().to_string())
2322 }
2323
2324 #[must_use]
2326 pub fn border_block_start_color(self, value: impl Into<Color>) -> Self {
2327 self.with(Property::BorderBlockStartColor, value.into().to_string())
2328 }
2329
2330 #[must_use]
2332 pub fn border_block_start_style(self, value: impl Into<crate::value::BorderBlockStartStyle>) -> Self {
2333 self.with(Property::BorderBlockStartStyle, value.into().to_string())
2334 }
2335
2336 #[must_use]
2338 pub fn border_block_start_width(self, value: impl Into<crate::value::BorderBlockStartWidth>) -> Self {
2339 self.with(Property::BorderBlockStartWidth, value.into().to_string())
2340 }
2341
2342 #[must_use]
2346 pub fn border_block_style(self, value: impl Into<crate::value::BorderBlockStyle>) -> Self {
2347 self.with(Property::BorderBlockStyle, value.into().to_string())
2348 }
2349
2350 #[must_use]
2354 pub fn border_block_width(self, value: impl Into<crate::value::BorderBlockWidth>) -> Self {
2355 self.with(Property::BorderBlockWidth, value.into().to_string())
2356 }
2357
2358 #[must_use]
2362 pub fn border_bottom(self, value: impl Into<crate::value::BorderBottom>) -> Self {
2363 self.with(Property::BorderBottom, value.into().to_string())
2364 }
2365
2366 #[must_use]
2368 pub fn border_bottom_color(self, value: impl Into<Color>) -> Self {
2369 self.with(Property::BorderBottomColor, value.into().to_string())
2370 }
2371
2372 #[must_use]
2376 pub fn border_bottom_left_radius(self, value: impl Into<crate::value::BorderBottomLeftRadius>) -> Self {
2377 self.with(Property::BorderBottomLeftRadius, value.into().to_string())
2378 }
2379
2380 #[must_use]
2384 pub fn border_bottom_right_radius(self, value: impl Into<crate::value::BorderBottomRightRadius>) -> Self {
2385 self.with(Property::BorderBottomRightRadius, value.into().to_string())
2386 }
2387
2388 #[must_use]
2390 pub fn border_bottom_style(self, value: impl Into<crate::value::BorderBottomStyle>) -> Self {
2391 self.with(Property::BorderBottomStyle, value.into().to_string())
2392 }
2393
2394 #[must_use]
2396 pub fn border_bottom_width(self, value: impl Into<crate::value::BorderBottomWidth>) -> Self {
2397 self.with(Property::BorderBottomWidth, value.into().to_string())
2398 }
2399
2400 #[must_use]
2402 pub fn border_collapse(self, value: impl Into<crate::value::BorderCollapse>) -> Self {
2403 self.with(Property::BorderCollapse, value.into().to_string())
2404 }
2405
2406 #[must_use]
2410 pub fn border_color(self, value: impl Into<crate::value::BorderColor>) -> Self {
2411 self.with(Property::BorderColor, value.into().to_string())
2412 }
2413
2414 #[must_use]
2418 pub fn border_end_end_radius(self, value: impl Into<crate::value::BorderEndEndRadius>) -> Self {
2419 self.with(Property::BorderEndEndRadius, value.into().to_string())
2420 }
2421
2422 #[must_use]
2426 pub fn border_end_start_radius(self, value: impl Into<crate::value::BorderEndStartRadius>) -> Self {
2427 self.with(Property::BorderEndStartRadius, value.into().to_string())
2428 }
2429
2430 #[must_use]
2434 pub fn border_image(self, value: impl Into<crate::value::BorderImage>) -> Self {
2435 self.with(Property::BorderImage, value.into().to_string())
2436 }
2437
2438 #[must_use]
2442 pub fn border_image_outset(self, value: impl Into<crate::value::BorderImageOutset>) -> Self {
2443 self.with(Property::BorderImageOutset, value.into().to_string())
2444 }
2445
2446 #[must_use]
2450 pub fn border_image_repeat(self, value: impl Into<crate::value::BorderImageRepeat>) -> Self {
2451 self.with(Property::BorderImageRepeat, value.into().to_string())
2452 }
2453
2454 #[must_use]
2458 pub fn border_image_slice(self, value: impl Into<crate::value::BorderImageSlice>) -> Self {
2459 self.with(Property::BorderImageSlice, value.into().to_string())
2460 }
2461
2462 #[must_use]
2466 pub fn border_image_source(self, value: impl Into<crate::value::BorderImageSource>) -> Self {
2467 self.with(Property::BorderImageSource, value.into().to_string())
2468 }
2469
2470 #[must_use]
2474 pub fn border_image_width(self, value: impl Into<crate::value::BorderImageWidth>) -> Self {
2475 self.with(Property::BorderImageWidth, value.into().to_string())
2476 }
2477
2478 #[must_use]
2482 pub fn border_inline(self, value: impl Into<crate::value::BorderInline>) -> Self {
2483 self.with(Property::BorderInline, value.into().to_string())
2484 }
2485
2486 #[must_use]
2490 pub fn border_inline_color(self, value: impl Into<crate::value::BorderInlineColor>) -> Self {
2491 self.with(Property::BorderInlineColor, value.into().to_string())
2492 }
2493
2494 #[must_use]
2498 pub fn border_inline_end(self, value: impl Into<crate::value::BorderInlineEnd>) -> Self {
2499 self.with(Property::BorderInlineEnd, value.into().to_string())
2500 }
2501
2502 #[must_use]
2504 pub fn border_inline_end_color(self, value: impl Into<Color>) -> Self {
2505 self.with(Property::BorderInlineEndColor, value.into().to_string())
2506 }
2507
2508 #[must_use]
2510 pub fn border_inline_end_style(self, value: impl Into<crate::value::BorderInlineEndStyle>) -> Self {
2511 self.with(Property::BorderInlineEndStyle, value.into().to_string())
2512 }
2513
2514 #[must_use]
2516 pub fn border_inline_end_width(self, value: impl Into<crate::value::BorderInlineEndWidth>) -> Self {
2517 self.with(Property::BorderInlineEndWidth, value.into().to_string())
2518 }
2519
2520 #[must_use]
2524 pub fn border_inline_start(self, value: impl Into<crate::value::BorderInlineStart>) -> Self {
2525 self.with(Property::BorderInlineStart, value.into().to_string())
2526 }
2527
2528 #[must_use]
2530 pub fn border_inline_start_color(self, value: impl Into<Color>) -> Self {
2531 self.with(Property::BorderInlineStartColor, value.into().to_string())
2532 }
2533
2534 #[must_use]
2536 pub fn border_inline_start_style(self, value: impl Into<crate::value::BorderInlineStartStyle>) -> Self {
2537 self.with(Property::BorderInlineStartStyle, value.into().to_string())
2538 }
2539
2540 #[must_use]
2542 pub fn border_inline_start_width(self, value: impl Into<crate::value::BorderInlineStartWidth>) -> Self {
2543 self.with(Property::BorderInlineStartWidth, value.into().to_string())
2544 }
2545
2546 #[must_use]
2550 pub fn border_inline_style(self, value: impl Into<crate::value::BorderInlineStyle>) -> Self {
2551 self.with(Property::BorderInlineStyle, value.into().to_string())
2552 }
2553
2554 #[must_use]
2558 pub fn border_inline_width(self, value: impl Into<crate::value::BorderInlineWidth>) -> Self {
2559 self.with(Property::BorderInlineWidth, value.into().to_string())
2560 }
2561
2562 #[must_use]
2566 pub fn border_left(self, value: impl Into<crate::value::BorderLeft>) -> Self {
2567 self.with(Property::BorderLeft, value.into().to_string())
2568 }
2569
2570 #[must_use]
2572 pub fn border_left_color(self, value: impl Into<Color>) -> Self {
2573 self.with(Property::BorderLeftColor, value.into().to_string())
2574 }
2575
2576 #[must_use]
2578 pub fn border_left_style(self, value: impl Into<crate::value::BorderLeftStyle>) -> Self {
2579 self.with(Property::BorderLeftStyle, value.into().to_string())
2580 }
2581
2582 #[must_use]
2584 pub fn border_left_width(self, value: impl Into<crate::value::BorderLeftWidth>) -> Self {
2585 self.with(Property::BorderLeftWidth, value.into().to_string())
2586 }
2587
2588 #[must_use]
2592 pub fn border_radius(self, value: impl Into<crate::value::BorderRadius>) -> Self {
2593 self.with(Property::BorderRadius, value.into().to_string())
2594 }
2595
2596 #[must_use]
2600 pub fn border_right(self, value: impl Into<crate::value::BorderRight>) -> Self {
2601 self.with(Property::BorderRight, value.into().to_string())
2602 }
2603
2604 #[must_use]
2606 pub fn border_right_color(self, value: impl Into<Color>) -> Self {
2607 self.with(Property::BorderRightColor, value.into().to_string())
2608 }
2609
2610 #[must_use]
2612 pub fn border_right_style(self, value: impl Into<crate::value::BorderRightStyle>) -> Self {
2613 self.with(Property::BorderRightStyle, value.into().to_string())
2614 }
2615
2616 #[must_use]
2618 pub fn border_right_width(self, value: impl Into<crate::value::BorderRightWidth>) -> Self {
2619 self.with(Property::BorderRightWidth, value.into().to_string())
2620 }
2621
2622 #[must_use]
2626 pub fn border_shape(self, value: impl Into<crate::value::BorderShape>) -> Self {
2627 self.with(Property::BorderShape, value.into().to_string())
2628 }
2629
2630 #[must_use]
2634 pub fn border_spacing(self, value: impl Into<crate::value::BorderSpacing>) -> Self {
2635 self.with(Property::BorderSpacing, value.into().to_string())
2636 }
2637
2638 #[must_use]
2642 pub fn border_start_end_radius(self, value: impl Into<crate::value::BorderStartEndRadius>) -> Self {
2643 self.with(Property::BorderStartEndRadius, value.into().to_string())
2644 }
2645
2646 #[must_use]
2650 pub fn border_start_start_radius(self, value: impl Into<crate::value::BorderStartStartRadius>) -> Self {
2651 self.with(Property::BorderStartStartRadius, value.into().to_string())
2652 }
2653
2654 #[must_use]
2658 pub fn border_style(self, value: impl Into<crate::value::BorderStyle>) -> Self {
2659 self.with(Property::BorderStyle, value.into().to_string())
2660 }
2661
2662 #[must_use]
2666 pub fn border_top(self, value: impl Into<crate::value::BorderTop>) -> Self {
2667 self.with(Property::BorderTop, value.into().to_string())
2668 }
2669
2670 #[must_use]
2672 pub fn border_top_color(self, value: impl Into<Color>) -> Self {
2673 self.with(Property::BorderTopColor, value.into().to_string())
2674 }
2675
2676 #[must_use]
2680 pub fn border_top_left_radius(self, value: impl Into<crate::value::BorderTopLeftRadius>) -> Self {
2681 self.with(Property::BorderTopLeftRadius, value.into().to_string())
2682 }
2683
2684 #[must_use]
2688 pub fn border_top_right_radius(self, value: impl Into<crate::value::BorderTopRightRadius>) -> Self {
2689 self.with(Property::BorderTopRightRadius, value.into().to_string())
2690 }
2691
2692 #[must_use]
2694 pub fn border_top_style(self, value: impl Into<crate::value::BorderTopStyle>) -> Self {
2695 self.with(Property::BorderTopStyle, value.into().to_string())
2696 }
2697
2698 #[must_use]
2700 pub fn border_top_width(self, value: impl Into<crate::value::BorderTopWidth>) -> Self {
2701 self.with(Property::BorderTopWidth, value.into().to_string())
2702 }
2703
2704 #[must_use]
2708 pub fn border_width(self, value: impl Into<crate::value::BorderWidth>) -> Self {
2709 self.with(Property::BorderWidth, value.into().to_string())
2710 }
2711
2712 #[must_use]
2716 pub fn bottom(self, value: impl Into<crate::value::Bottom>) -> Self {
2717 self.with(Property::Bottom, value.into().to_string())
2718 }
2719
2720 #[must_use]
2722 pub fn box_decoration_break(self, value: impl Into<crate::value::BoxDecorationBreak>) -> Self {
2723 self.with(Property::BoxDecorationBreak, value.into().to_string())
2724 }
2725
2726 #[must_use]
2730 pub fn box_shadow(self, value: impl Into<crate::value::BoxShadow>) -> Self {
2731 self.with(Property::BoxShadow, value.into().to_string())
2732 }
2733
2734 #[must_use]
2736 pub fn box_sizing(self, value: impl Into<crate::value::BoxSizing>) -> Self {
2737 self.with(Property::BoxSizing, value.into().to_string())
2738 }
2739
2740 #[must_use]
2742 pub fn break_after(self, value: impl Into<crate::value::BreakAfter>) -> Self {
2743 self.with(Property::BreakAfter, value.into().to_string())
2744 }
2745
2746 #[must_use]
2748 pub fn break_before(self, value: impl Into<crate::value::BreakBefore>) -> Self {
2749 self.with(Property::BreakBefore, value.into().to_string())
2750 }
2751
2752 #[must_use]
2754 pub fn break_inside(self, value: impl Into<crate::value::BreakInside>) -> Self {
2755 self.with(Property::BreakInside, value.into().to_string())
2756 }
2757
2758 #[must_use]
2760 pub fn caption_side(self, value: impl Into<crate::value::CaptionSide>) -> Self {
2761 self.with(Property::CaptionSide, value.into().to_string())
2762 }
2763
2764 #[must_use]
2768 pub fn caret(self, value: impl Into<crate::value::Caret>) -> Self {
2769 self.with(Property::Caret, value.into().to_string())
2770 }
2771
2772 #[must_use]
2774 pub fn caret_animation(self, value: impl Into<crate::value::CaretAnimation>) -> Self {
2775 self.with(Property::CaretAnimation, value.into().to_string())
2776 }
2777
2778 #[must_use]
2780 pub fn caret_color(self, value: impl Into<crate::value::CaretColor>) -> Self {
2781 self.with(Property::CaretColor, value.into().to_string())
2782 }
2783
2784 #[must_use]
2786 pub fn caret_shape(self, value: impl Into<crate::value::CaretShape>) -> Self {
2787 self.with(Property::CaretShape, value.into().to_string())
2788 }
2789
2790 #[must_use]
2792 pub fn clear(self, value: impl Into<crate::value::Clear>) -> Self {
2793 self.with(Property::Clear, value.into().to_string())
2794 }
2795
2796 #[must_use]
2800 pub fn clip_path(self, value: impl Into<crate::value::ClipPath>) -> Self {
2801 self.with(Property::ClipPath, value.into().to_string())
2802 }
2803
2804 #[must_use]
2806 pub fn clip_rule(self, value: impl Into<crate::value::ClipRule>) -> Self {
2807 self.with(Property::ClipRule, value.into().to_string())
2808 }
2809
2810 #[must_use]
2812 pub fn color(self, value: impl Into<Color>) -> Self {
2813 self.with(Property::Color, value.into().to_string())
2814 }
2815
2816 #[must_use]
2818 pub fn color_interpolation_filters(self, value: impl Into<crate::value::ColorInterpolationFilters>) -> Self {
2819 self.with(Property::ColorInterpolationFilters, value.into().to_string())
2820 }
2821
2822 #[must_use]
2826 pub fn color_scheme(self, value: impl Into<crate::value::ColorScheme>) -> Self {
2827 self.with(Property::ColorScheme, value.into().to_string())
2828 }
2829
2830 #[must_use]
2832 pub fn column_count(self, value: impl Into<crate::value::ColumnCount>) -> Self {
2833 self.with(Property::ColumnCount, value.into().to_string())
2834 }
2835
2836 #[must_use]
2838 pub fn column_fill(self, value: impl Into<crate::value::ColumnFill>) -> Self {
2839 self.with(Property::ColumnFill, value.into().to_string())
2840 }
2841
2842 #[must_use]
2844 pub fn column_gap(self, value: impl Into<crate::value::ColumnGap>) -> Self {
2845 self.with(Property::ColumnGap, value.into().to_string())
2846 }
2847
2848 #[must_use]
2850 pub fn column_height(self, value: impl Into<crate::value::ColumnHeight>) -> Self {
2851 self.with(Property::ColumnHeight, value.into().to_string())
2852 }
2853
2854 #[must_use]
2858 pub fn column_rule(self, value: impl Into<crate::value::ColumnRule>) -> Self {
2859 self.with(Property::ColumnRule, value.into().to_string())
2860 }
2861
2862 #[must_use]
2864 pub fn column_rule_color(self, value: impl Into<Color>) -> Self {
2865 self.with(Property::ColumnRuleColor, value.into().to_string())
2866 }
2867
2868 #[must_use]
2870 pub fn column_rule_style(self, value: impl Into<crate::value::ColumnRuleStyle>) -> Self {
2871 self.with(Property::ColumnRuleStyle, value.into().to_string())
2872 }
2873
2874 #[must_use]
2876 pub fn column_rule_width(self, value: impl Into<crate::value::ColumnRuleWidth>) -> Self {
2877 self.with(Property::ColumnRuleWidth, value.into().to_string())
2878 }
2879
2880 #[must_use]
2882 pub fn column_span(self, value: impl Into<crate::value::ColumnSpan>) -> Self {
2883 self.with(Property::ColumnSpan, value.into().to_string())
2884 }
2885
2886 #[must_use]
2888 pub fn column_width(self, value: impl Into<crate::value::ColumnWidth>) -> Self {
2889 self.with(Property::ColumnWidth, value.into().to_string())
2890 }
2891
2892 #[must_use]
2894 pub fn column_wrap(self, value: impl Into<crate::value::ColumnWrap>) -> Self {
2895 self.with(Property::ColumnWrap, value.into().to_string())
2896 }
2897
2898 #[must_use]
2902 pub fn columns(self, value: impl Into<crate::value::Columns>) -> Self {
2903 self.with(Property::Columns, value.into().to_string())
2904 }
2905
2906 #[must_use]
2910 pub fn contain(self, value: impl Into<crate::value::Contain>) -> Self {
2911 self.with(Property::Contain, value.into().to_string())
2912 }
2913
2914 #[must_use]
2918 pub fn contain_intrinsic_block_size(self, value: impl Into<crate::value::ContainIntrinsicBlockSize>) -> Self {
2919 self.with(Property::ContainIntrinsicBlockSize, value.into().to_string())
2920 }
2921
2922 #[must_use]
2926 pub fn contain_intrinsic_height(self, value: impl Into<crate::value::ContainIntrinsicHeight>) -> Self {
2927 self.with(Property::ContainIntrinsicHeight, value.into().to_string())
2928 }
2929
2930 #[must_use]
2934 pub fn contain_intrinsic_inline_size(self, value: impl Into<crate::value::ContainIntrinsicInlineSize>) -> Self {
2935 self.with(Property::ContainIntrinsicInlineSize, value.into().to_string())
2936 }
2937
2938 #[must_use]
2942 pub fn contain_intrinsic_size(self, value: impl Into<crate::value::ContainIntrinsicSize>) -> Self {
2943 self.with(Property::ContainIntrinsicSize, value.into().to_string())
2944 }
2945
2946 #[must_use]
2950 pub fn contain_intrinsic_width(self, value: impl Into<crate::value::ContainIntrinsicWidth>) -> Self {
2951 self.with(Property::ContainIntrinsicWidth, value.into().to_string())
2952 }
2953
2954 #[must_use]
2958 pub fn container(self, value: impl Into<crate::value::Container>) -> Self {
2959 self.with(Property::Container, value.into().to_string())
2960 }
2961
2962 #[must_use]
2966 pub fn container_name(self, value: impl Into<crate::value::ContainerName>) -> Self {
2967 self.with(Property::ContainerName, value.into().to_string())
2968 }
2969
2970 #[must_use]
2974 pub fn container_type(self, value: impl Into<crate::value::ContainerType>) -> Self {
2975 self.with(Property::ContainerType, value.into().to_string())
2976 }
2977
2978 #[must_use]
2982 pub fn content(self, value: impl Into<crate::value::Content>) -> Self {
2983 self.with(Property::Content, value.into().to_string())
2984 }
2985
2986 #[must_use]
2988 pub fn content_visibility(self, value: impl Into<crate::value::ContentVisibility>) -> Self {
2989 self.with(Property::ContentVisibility, value.into().to_string())
2990 }
2991
2992 #[must_use]
2996 pub fn corner_block_end_shape(self, value: impl Into<crate::value::CornerBlockEndShape>) -> Self {
2997 self.with(Property::CornerBlockEndShape, value.into().to_string())
2998 }
2999
3000 #[must_use]
3004 pub fn corner_block_start_shape(self, value: impl Into<crate::value::CornerBlockStartShape>) -> Self {
3005 self.with(Property::CornerBlockStartShape, value.into().to_string())
3006 }
3007
3008 #[must_use]
3012 pub fn corner_bottom_left_shape(self, value: impl Into<crate::value::CornerBottomLeftShape>) -> Self {
3013 self.with(Property::CornerBottomLeftShape, value.into().to_string())
3014 }
3015
3016 #[must_use]
3020 pub fn corner_bottom_right_shape(self, value: impl Into<crate::value::CornerBottomRightShape>) -> Self {
3021 self.with(Property::CornerBottomRightShape, value.into().to_string())
3022 }
3023
3024 #[must_use]
3028 pub fn corner_bottom_shape(self, value: impl Into<crate::value::CornerBottomShape>) -> Self {
3029 self.with(Property::CornerBottomShape, value.into().to_string())
3030 }
3031
3032 #[must_use]
3036 pub fn corner_end_end_shape(self, value: impl Into<crate::value::CornerEndEndShape>) -> Self {
3037 self.with(Property::CornerEndEndShape, value.into().to_string())
3038 }
3039
3040 #[must_use]
3044 pub fn corner_end_start_shape(self, value: impl Into<crate::value::CornerEndStartShape>) -> Self {
3045 self.with(Property::CornerEndStartShape, value.into().to_string())
3046 }
3047
3048 #[must_use]
3052 pub fn corner_inline_end_shape(self, value: impl Into<crate::value::CornerInlineEndShape>) -> Self {
3053 self.with(Property::CornerInlineEndShape, value.into().to_string())
3054 }
3055
3056 #[must_use]
3060 pub fn corner_inline_start_shape(self, value: impl Into<crate::value::CornerInlineStartShape>) -> Self {
3061 self.with(Property::CornerInlineStartShape, value.into().to_string())
3062 }
3063
3064 #[must_use]
3068 pub fn corner_left_shape(self, value: impl Into<crate::value::CornerLeftShape>) -> Self {
3069 self.with(Property::CornerLeftShape, value.into().to_string())
3070 }
3071
3072 #[must_use]
3076 pub fn corner_right_shape(self, value: impl Into<crate::value::CornerRightShape>) -> Self {
3077 self.with(Property::CornerRightShape, value.into().to_string())
3078 }
3079
3080 #[must_use]
3084 pub fn corner_shape(self, value: impl Into<crate::value::CornerShape>) -> Self {
3085 self.with(Property::CornerShape, value.into().to_string())
3086 }
3087
3088 #[must_use]
3092 pub fn corner_start_end_shape(self, value: impl Into<crate::value::CornerStartEndShape>) -> Self {
3093 self.with(Property::CornerStartEndShape, value.into().to_string())
3094 }
3095
3096 #[must_use]
3100 pub fn corner_start_start_shape(self, value: impl Into<crate::value::CornerStartStartShape>) -> Self {
3101 self.with(Property::CornerStartStartShape, value.into().to_string())
3102 }
3103
3104 #[must_use]
3108 pub fn corner_top_left_shape(self, value: impl Into<crate::value::CornerTopLeftShape>) -> Self {
3109 self.with(Property::CornerTopLeftShape, value.into().to_string())
3110 }
3111
3112 #[must_use]
3116 pub fn corner_top_right_shape(self, value: impl Into<crate::value::CornerTopRightShape>) -> Self {
3117 self.with(Property::CornerTopRightShape, value.into().to_string())
3118 }
3119
3120 #[must_use]
3124 pub fn corner_top_shape(self, value: impl Into<crate::value::CornerTopShape>) -> Self {
3125 self.with(Property::CornerTopShape, value.into().to_string())
3126 }
3127
3128 #[must_use]
3132 pub fn counter_increment(self, value: impl Into<crate::value::CounterIncrement>) -> Self {
3133 self.with(Property::CounterIncrement, value.into().to_string())
3134 }
3135
3136 #[must_use]
3140 pub fn counter_reset(self, value: impl Into<crate::value::CounterReset>) -> Self {
3141 self.with(Property::CounterReset, value.into().to_string())
3142 }
3143
3144 #[must_use]
3148 pub fn counter_set(self, value: impl Into<crate::value::CounterSet>) -> Self {
3149 self.with(Property::CounterSet, value.into().to_string())
3150 }
3151
3152 #[must_use]
3156 pub fn cursor(self, value: impl Into<crate::value::Cursor>) -> Self {
3157 self.with(Property::Cursor, value.into().to_string())
3158 }
3159
3160 #[must_use]
3162 pub fn cx(self, value: impl Into<crate::value::Cx>) -> Self {
3163 self.with(Property::Cx, value.into().to_string())
3164 }
3165
3166 #[must_use]
3168 pub fn cy(self, value: impl Into<crate::value::Cy>) -> Self {
3169 self.with(Property::Cy, value.into().to_string())
3170 }
3171
3172 #[must_use]
3176 pub fn d(self, value: impl Into<crate::value::D>) -> Self {
3177 self.with(Property::D, value.into().to_string())
3178 }
3179
3180 #[must_use]
3182 pub fn direction(self, value: impl Into<crate::value::Direction>) -> Self {
3183 self.with(Property::Direction, value.into().to_string())
3184 }
3185
3186 #[must_use]
3190 pub fn display(self, value: impl Into<crate::value::Display>) -> Self {
3191 self.with(Property::Display, value.into().to_string())
3192 }
3193
3194 #[must_use]
3196 pub fn dominant_baseline(self, value: impl Into<crate::value::DominantBaseline>) -> Self {
3197 self.with(Property::DominantBaseline, value.into().to_string())
3198 }
3199
3200 #[must_use]
3204 pub fn dynamic_range_limit(self, value: impl Into<crate::value::DynamicRangeLimit>) -> Self {
3205 self.with(Property::DynamicRangeLimit, value.into().to_string())
3206 }
3207
3208 #[must_use]
3210 pub fn empty_cells(self, value: impl Into<crate::value::EmptyCells>) -> Self {
3211 self.with(Property::EmptyCells, value.into().to_string())
3212 }
3213
3214 #[must_use]
3218 pub fn fill(self, value: impl Into<crate::value::Fill>) -> Self {
3219 self.with(Property::Fill, value.into().to_string())
3220 }
3221
3222 #[must_use]
3224 pub fn fill_opacity(self, value: impl Into<crate::value::FillOpacity>) -> Self {
3225 self.with(Property::FillOpacity, value.into().to_string())
3226 }
3227
3228 #[must_use]
3230 pub fn fill_rule(self, value: impl Into<crate::value::FillRule>) -> Self {
3231 self.with(Property::FillRule, value.into().to_string())
3232 }
3233
3234 #[must_use]
3238 pub fn filter(self, value: impl Into<crate::value::Filter>) -> Self {
3239 self.with(Property::Filter, value.into().to_string())
3240 }
3241
3242 #[must_use]
3246 pub fn flex(self, value: impl Into<crate::value::Flex>) -> Self {
3247 self.with(Property::Flex, value.into().to_string())
3248 }
3249
3250 #[must_use]
3254 pub fn flex_basis(self, value: impl Into<crate::value::FlexBasis>) -> Self {
3255 self.with(Property::FlexBasis, value.into().to_string())
3256 }
3257
3258 #[must_use]
3260 pub fn flex_direction(self, value: impl Into<crate::value::FlexDirection>) -> Self {
3261 self.with(Property::FlexDirection, value.into().to_string())
3262 }
3263
3264 #[must_use]
3268 pub fn flex_flow(self, value: impl Into<crate::value::FlexFlow>) -> Self {
3269 self.with(Property::FlexFlow, value.into().to_string())
3270 }
3271
3272 #[must_use]
3274 pub fn flex_grow(self, value: impl Into<f64>) -> Self {
3275 self.with(Property::FlexGrow, value.into().to_string())
3276 }
3277
3278 #[must_use]
3280 pub fn flex_line_count(self, value: impl Into<i32>) -> Self {
3281 self.with(Property::FlexLineCount, value.into().to_string())
3282 }
3283
3284 #[must_use]
3286 pub fn flex_shrink(self, value: impl Into<f64>) -> Self {
3287 self.with(Property::FlexShrink, value.into().to_string())
3288 }
3289
3290 #[must_use]
3294 pub fn flex_wrap(self, value: impl Into<crate::value::FlexWrap>) -> Self {
3295 self.with(Property::FlexWrap, value.into().to_string())
3296 }
3297
3298 #[must_use]
3300 pub fn float(self, value: impl Into<crate::value::Float>) -> Self {
3301 self.with(Property::Float, value.into().to_string())
3302 }
3303
3304 #[must_use]
3306 pub fn flood_color(self, value: impl Into<Color>) -> Self {
3307 self.with(Property::FloodColor, value.into().to_string())
3308 }
3309
3310 #[must_use]
3312 pub fn flood_opacity(self, value: impl Into<crate::value::FloodOpacity>) -> Self {
3313 self.with(Property::FloodOpacity, value.into().to_string())
3314 }
3315
3316 #[must_use]
3320 pub fn font(self, value: impl Into<crate::value::Font>) -> Self {
3321 self.with(Property::Font, value.into().to_string())
3322 }
3323
3324 #[must_use]
3328 pub fn font_family(self, value: impl Into<crate::value::FontFamily>) -> Self {
3329 self.with(Property::FontFamily, value.into().to_string())
3330 }
3331
3332 #[must_use]
3336 pub fn font_feature_settings(self, value: impl Into<crate::value::FontFeatureSettings>) -> Self {
3337 self.with(Property::FontFeatureSettings, value.into().to_string())
3338 }
3339
3340 #[must_use]
3342 pub fn font_kerning(self, value: impl Into<crate::value::FontKerning>) -> Self {
3343 self.with(Property::FontKerning, value.into().to_string())
3344 }
3345
3346 #[must_use]
3348 pub fn font_language_override(self, value: impl Into<crate::value::FontLanguageOverride>) -> Self {
3349 self.with(Property::FontLanguageOverride, value.into().to_string())
3350 }
3351
3352 #[must_use]
3354 pub fn font_optical_sizing(self, value: impl Into<crate::value::FontOpticalSizing>) -> Self {
3355 self.with(Property::FontOpticalSizing, value.into().to_string())
3356 }
3357
3358 #[must_use]
3362 pub fn font_palette(self, value: impl Into<crate::value::FontPalette>) -> Self {
3363 self.with(Property::FontPalette, value.into().to_string())
3364 }
3365
3366 #[must_use]
3368 pub fn font_size(self, value: impl Into<crate::value::FontSize>) -> Self {
3369 self.with(Property::FontSize, value.into().to_string())
3370 }
3371
3372 #[must_use]
3376 pub fn font_size_adjust(self, value: impl Into<crate::value::FontSizeAdjust>) -> Self {
3377 self.with(Property::FontSizeAdjust, value.into().to_string())
3378 }
3379
3380 #[must_use]
3384 pub fn font_style(self, value: impl Into<crate::value::FontStyle>) -> Self {
3385 self.with(Property::FontStyle, value.into().to_string())
3386 }
3387
3388 #[must_use]
3392 pub fn font_synthesis(self, value: impl Into<crate::value::FontSynthesis>) -> Self {
3393 self.with(Property::FontSynthesis, value.into().to_string())
3394 }
3395
3396 #[must_use]
3398 pub fn font_synthesis_small_caps(self, value: impl Into<crate::value::FontSynthesisSmallCaps>) -> Self {
3399 self.with(Property::FontSynthesisSmallCaps, value.into().to_string())
3400 }
3401
3402 #[must_use]
3404 pub fn font_synthesis_style(self, value: impl Into<crate::value::FontSynthesisStyle>) -> Self {
3405 self.with(Property::FontSynthesisStyle, value.into().to_string())
3406 }
3407
3408 #[must_use]
3410 pub fn font_synthesis_weight(self, value: impl Into<crate::value::FontSynthesisWeight>) -> Self {
3411 self.with(Property::FontSynthesisWeight, value.into().to_string())
3412 }
3413
3414 #[must_use]
3418 pub fn font_variant(self, value: impl Into<crate::value::FontVariant>) -> Self {
3419 self.with(Property::FontVariant, value.into().to_string())
3420 }
3421
3422 #[must_use]
3426 pub fn font_variant_alternates(self, value: impl Into<crate::value::FontVariantAlternates>) -> Self {
3427 self.with(Property::FontVariantAlternates, value.into().to_string())
3428 }
3429
3430 #[must_use]
3432 pub fn font_variant_caps(self, value: impl Into<crate::value::FontVariantCaps>) -> Self {
3433 self.with(Property::FontVariantCaps, value.into().to_string())
3434 }
3435
3436 #[must_use]
3440 pub fn font_variant_east_asian(self, value: impl Into<crate::value::FontVariantEastAsian>) -> Self {
3441 self.with(Property::FontVariantEastAsian, value.into().to_string())
3442 }
3443
3444 #[must_use]
3446 pub fn font_variant_emoji(self, value: impl Into<crate::value::FontVariantEmoji>) -> Self {
3447 self.with(Property::FontVariantEmoji, value.into().to_string())
3448 }
3449
3450 #[must_use]
3454 pub fn font_variant_ligatures(self, value: impl Into<crate::value::FontVariantLigatures>) -> Self {
3455 self.with(Property::FontVariantLigatures, value.into().to_string())
3456 }
3457
3458 #[must_use]
3462 pub fn font_variant_numeric(self, value: impl Into<crate::value::FontVariantNumeric>) -> Self {
3463 self.with(Property::FontVariantNumeric, value.into().to_string())
3464 }
3465
3466 #[must_use]
3468 pub fn font_variant_position(self, value: impl Into<crate::value::FontVariantPosition>) -> Self {
3469 self.with(Property::FontVariantPosition, value.into().to_string())
3470 }
3471
3472 #[must_use]
3476 pub fn font_variation_settings(self, value: impl Into<crate::value::FontVariationSettings>) -> Self {
3477 self.with(Property::FontVariationSettings, value.into().to_string())
3478 }
3479
3480 #[must_use]
3482 pub fn font_weight(self, value: impl Into<crate::value::FontWeight>) -> Self {
3483 self.with(Property::FontWeight, value.into().to_string())
3484 }
3485
3486 #[must_use]
3488 pub fn forced_color_adjust(self, value: impl Into<crate::value::ForcedColorAdjust>) -> Self {
3489 self.with(Property::ForcedColorAdjust, value.into().to_string())
3490 }
3491
3492 #[must_use]
3494 pub fn frame_sizing(self, value: impl Into<crate::value::FrameSizing>) -> Self {
3495 self.with(Property::FrameSizing, value.into().to_string())
3496 }
3497
3498 #[must_use]
3502 pub fn gap(self, value: impl Into<crate::value::Gap>) -> Self {
3503 self.with(Property::Gap, value.into().to_string())
3504 }
3505
3506 #[must_use]
3510 pub fn grid(self, value: impl Into<crate::value::Grid>) -> Self {
3511 self.with(Property::Grid, value.into().to_string())
3512 }
3513
3514 #[must_use]
3518 pub fn grid_area(self, value: impl Into<crate::value::GridArea>) -> Self {
3519 self.with(Property::GridArea, value.into().to_string())
3520 }
3521
3522 #[must_use]
3526 pub fn grid_auto_columns(self, value: impl Into<crate::value::GridAutoColumns>) -> Self {
3527 self.with(Property::GridAutoColumns, value.into().to_string())
3528 }
3529
3530 #[must_use]
3534 pub fn grid_auto_flow(self, value: impl Into<crate::value::GridAutoFlow>) -> Self {
3535 self.with(Property::GridAutoFlow, value.into().to_string())
3536 }
3537
3538 #[must_use]
3542 pub fn grid_auto_rows(self, value: impl Into<crate::value::GridAutoRows>) -> Self {
3543 self.with(Property::GridAutoRows, value.into().to_string())
3544 }
3545
3546 #[must_use]
3550 pub fn grid_column(self, value: impl Into<crate::value::GridColumn>) -> Self {
3551 self.with(Property::GridColumn, value.into().to_string())
3552 }
3553
3554 #[must_use]
3558 pub fn grid_column_end(self, value: impl Into<crate::value::GridColumnEnd>) -> Self {
3559 self.with(Property::GridColumnEnd, value.into().to_string())
3560 }
3561
3562 #[must_use]
3566 pub fn grid_column_start(self, value: impl Into<crate::value::GridColumnStart>) -> Self {
3567 self.with(Property::GridColumnStart, value.into().to_string())
3568 }
3569
3570 #[must_use]
3574 pub fn grid_row(self, value: impl Into<crate::value::GridRow>) -> Self {
3575 self.with(Property::GridRow, value.into().to_string())
3576 }
3577
3578 #[must_use]
3582 pub fn grid_row_end(self, value: impl Into<crate::value::GridRowEnd>) -> Self {
3583 self.with(Property::GridRowEnd, value.into().to_string())
3584 }
3585
3586 #[must_use]
3590 pub fn grid_row_start(self, value: impl Into<crate::value::GridRowStart>) -> Self {
3591 self.with(Property::GridRowStart, value.into().to_string())
3592 }
3593
3594 #[must_use]
3598 pub fn grid_template(self, value: impl Into<crate::value::GridTemplate>) -> Self {
3599 self.with(Property::GridTemplate, value.into().to_string())
3600 }
3601
3602 #[must_use]
3606 pub fn grid_template_areas(self, value: impl Into<crate::value::GridTemplateAreas>) -> Self {
3607 self.with(Property::GridTemplateAreas, value.into().to_string())
3608 }
3609
3610 #[must_use]
3614 pub fn grid_template_columns(self, value: impl Into<crate::value::GridTemplateColumns>) -> Self {
3615 self.with(Property::GridTemplateColumns, value.into().to_string())
3616 }
3617
3618 #[must_use]
3622 pub fn grid_template_rows(self, value: impl Into<crate::value::GridTemplateRows>) -> Self {
3623 self.with(Property::GridTemplateRows, value.into().to_string())
3624 }
3625
3626 #[must_use]
3630 pub fn hanging_punctuation(self, value: impl Into<crate::value::HangingPunctuation>) -> Self {
3631 self.with(Property::HangingPunctuation, value.into().to_string())
3632 }
3633
3634 #[must_use]
3638 pub fn height(self, value: impl Into<crate::value::Height>) -> Self {
3639 self.with(Property::Height, value.into().to_string())
3640 }
3641
3642 #[must_use]
3644 pub fn hyphenate_character(self, value: impl Into<crate::value::HyphenateCharacter>) -> Self {
3645 self.with(Property::HyphenateCharacter, value.into().to_string())
3646 }
3647
3648 #[must_use]
3652 pub fn hyphenate_limit_chars(self, value: impl Into<crate::value::HyphenateLimitChars>) -> Self {
3653 self.with(Property::HyphenateLimitChars, value.into().to_string())
3654 }
3655
3656 #[must_use]
3658 pub fn hyphens(self, value: impl Into<crate::value::Hyphens>) -> Self {
3659 self.with(Property::Hyphens, value.into().to_string())
3660 }
3661
3662 #[must_use]
3666 pub fn image_orientation(self, value: impl Into<crate::value::ImageOrientation>) -> Self {
3667 self.with(Property::ImageOrientation, value.into().to_string())
3668 }
3669
3670 #[must_use]
3672 pub fn image_rendering(self, value: impl Into<crate::value::ImageRendering>) -> Self {
3673 self.with(Property::ImageRendering, value.into().to_string())
3674 }
3675
3676 #[must_use]
3680 pub fn initial_letter(self, value: impl Into<crate::value::InitialLetter>) -> Self {
3681 self.with(Property::InitialLetter, value.into().to_string())
3682 }
3683
3684 #[must_use]
3688 pub fn inline_size(self, value: impl Into<crate::value::InlineSize>) -> Self {
3689 self.with(Property::InlineSize, value.into().to_string())
3690 }
3691
3692 #[must_use]
3696 pub fn inset(self, value: impl Into<crate::value::Inset>) -> Self {
3697 self.with(Property::Inset, value.into().to_string())
3698 }
3699
3700 #[must_use]
3704 pub fn inset_block(self, value: impl Into<crate::value::InsetBlock>) -> Self {
3705 self.with(Property::InsetBlock, value.into().to_string())
3706 }
3707
3708 #[must_use]
3712 pub fn inset_block_end(self, value: impl Into<crate::value::InsetBlockEnd>) -> Self {
3713 self.with(Property::InsetBlockEnd, value.into().to_string())
3714 }
3715
3716 #[must_use]
3720 pub fn inset_block_start(self, value: impl Into<crate::value::InsetBlockStart>) -> Self {
3721 self.with(Property::InsetBlockStart, value.into().to_string())
3722 }
3723
3724 #[must_use]
3728 pub fn inset_inline(self, value: impl Into<crate::value::InsetInline>) -> Self {
3729 self.with(Property::InsetInline, value.into().to_string())
3730 }
3731
3732 #[must_use]
3736 pub fn inset_inline_end(self, value: impl Into<crate::value::InsetInlineEnd>) -> Self {
3737 self.with(Property::InsetInlineEnd, value.into().to_string())
3738 }
3739
3740 #[must_use]
3744 pub fn inset_inline_start(self, value: impl Into<crate::value::InsetInlineStart>) -> Self {
3745 self.with(Property::InsetInlineStart, value.into().to_string())
3746 }
3747
3748 #[must_use]
3750 pub fn interactivity(self, value: impl Into<crate::value::Interactivity>) -> Self {
3751 self.with(Property::Interactivity, value.into().to_string())
3752 }
3753
3754 #[must_use]
3758 pub fn interest_delay(self, value: impl Into<crate::value::InterestDelay>) -> Self {
3759 self.with(Property::InterestDelay, value.into().to_string())
3760 }
3761
3762 #[must_use]
3764 pub fn interest_delay_end(self, value: impl Into<crate::value::InterestDelayEnd>) -> Self {
3765 self.with(Property::InterestDelayEnd, value.into().to_string())
3766 }
3767
3768 #[must_use]
3770 pub fn interest_delay_start(self, value: impl Into<crate::value::InterestDelayStart>) -> Self {
3771 self.with(Property::InterestDelayStart, value.into().to_string())
3772 }
3773
3774 #[must_use]
3776 pub fn isolation(self, value: impl Into<crate::value::Isolation>) -> Self {
3777 self.with(Property::Isolation, value.into().to_string())
3778 }
3779
3780 #[must_use]
3784 pub fn justify_content(self, value: impl Into<crate::value::JustifyContent>) -> Self {
3785 self.with(Property::JustifyContent, value.into().to_string())
3786 }
3787
3788 #[must_use]
3792 pub fn justify_items(self, value: impl Into<crate::value::JustifyItems>) -> Self {
3793 self.with(Property::JustifyItems, value.into().to_string())
3794 }
3795
3796 #[must_use]
3800 pub fn justify_self(self, value: impl Into<crate::value::JustifySelf>) -> Self {
3801 self.with(Property::JustifySelf, value.into().to_string())
3802 }
3803
3804 #[must_use]
3808 pub fn left(self, value: impl Into<crate::value::Left>) -> Self {
3809 self.with(Property::Left, value.into().to_string())
3810 }
3811
3812 #[must_use]
3814 pub fn letter_spacing(self, value: impl Into<crate::value::LetterSpacing>) -> Self {
3815 self.with(Property::LetterSpacing, value.into().to_string())
3816 }
3817
3818 #[must_use]
3820 pub fn lighting_color(self, value: impl Into<Color>) -> Self {
3821 self.with(Property::LightingColor, value.into().to_string())
3822 }
3823
3824 #[must_use]
3826 pub fn line_break(self, value: impl Into<crate::value::LineBreak>) -> Self {
3827 self.with(Property::LineBreak, value.into().to_string())
3828 }
3829
3830 #[must_use]
3832 pub fn line_clamp(self, value: impl Into<crate::value::LineClamp>) -> Self {
3833 self.with(Property::LineClamp, value.into().to_string())
3834 }
3835
3836 #[must_use]
3838 pub fn line_height(self, value: impl Into<crate::value::LineHeight>) -> Self {
3839 self.with(Property::LineHeight, value.into().to_string())
3840 }
3841
3842 #[must_use]
3846 pub fn list_style(self, value: impl Into<crate::value::ListStyle>) -> Self {
3847 self.with(Property::ListStyle, value.into().to_string())
3848 }
3849
3850 #[must_use]
3854 pub fn list_style_image(self, value: impl Into<crate::value::ListStyleImage>) -> Self {
3855 self.with(Property::ListStyleImage, value.into().to_string())
3856 }
3857
3858 #[must_use]
3860 pub fn list_style_position(self, value: impl Into<crate::value::ListStylePosition>) -> Self {
3861 self.with(Property::ListStylePosition, value.into().to_string())
3862 }
3863
3864 #[must_use]
3868 pub fn list_style_type(self, value: impl Into<crate::value::ListStyleType>) -> Self {
3869 self.with(Property::ListStyleType, value.into().to_string())
3870 }
3871
3872 #[must_use]
3876 pub fn margin(self, value: impl Into<crate::value::Margin>) -> Self {
3877 self.with(Property::Margin, value.into().to_string())
3878 }
3879
3880 #[must_use]
3884 pub fn margin_block(self, value: impl Into<crate::value::MarginBlock>) -> Self {
3885 self.with(Property::MarginBlock, value.into().to_string())
3886 }
3887
3888 #[must_use]
3892 pub fn margin_block_end(self, value: impl Into<crate::value::MarginBlockEnd>) -> Self {
3893 self.with(Property::MarginBlockEnd, value.into().to_string())
3894 }
3895
3896 #[must_use]
3900 pub fn margin_block_start(self, value: impl Into<crate::value::MarginBlockStart>) -> Self {
3901 self.with(Property::MarginBlockStart, value.into().to_string())
3902 }
3903
3904 #[must_use]
3908 pub fn margin_bottom(self, value: impl Into<crate::value::MarginBottom>) -> Self {
3909 self.with(Property::MarginBottom, value.into().to_string())
3910 }
3911
3912 #[must_use]
3916 pub fn margin_inline(self, value: impl Into<crate::value::MarginInline>) -> Self {
3917 self.with(Property::MarginInline, value.into().to_string())
3918 }
3919
3920 #[must_use]
3924 pub fn margin_inline_end(self, value: impl Into<crate::value::MarginInlineEnd>) -> Self {
3925 self.with(Property::MarginInlineEnd, value.into().to_string())
3926 }
3927
3928 #[must_use]
3932 pub fn margin_inline_start(self, value: impl Into<crate::value::MarginInlineStart>) -> Self {
3933 self.with(Property::MarginInlineStart, value.into().to_string())
3934 }
3935
3936 #[must_use]
3940 pub fn margin_left(self, value: impl Into<crate::value::MarginLeft>) -> Self {
3941 self.with(Property::MarginLeft, value.into().to_string())
3942 }
3943
3944 #[must_use]
3948 pub fn margin_right(self, value: impl Into<crate::value::MarginRight>) -> Self {
3949 self.with(Property::MarginRight, value.into().to_string())
3950 }
3951
3952 #[must_use]
3956 pub fn margin_top(self, value: impl Into<crate::value::MarginTop>) -> Self {
3957 self.with(Property::MarginTop, value.into().to_string())
3958 }
3959
3960 #[must_use]
3962 pub fn marker(self, value: impl Into<crate::value::Marker>) -> Self {
3963 self.with(Property::Marker, value.into().to_string())
3964 }
3965
3966 #[must_use]
3968 pub fn marker_end(self, value: impl Into<crate::value::MarkerEnd>) -> Self {
3969 self.with(Property::MarkerEnd, value.into().to_string())
3970 }
3971
3972 #[must_use]
3974 pub fn marker_mid(self, value: impl Into<crate::value::MarkerMid>) -> Self {
3975 self.with(Property::MarkerMid, value.into().to_string())
3976 }
3977
3978 #[must_use]
3980 pub fn marker_start(self, value: impl Into<crate::value::MarkerStart>) -> Self {
3981 self.with(Property::MarkerStart, value.into().to_string())
3982 }
3983
3984 #[must_use]
3988 pub fn mask(self, value: impl Into<crate::value::Mask>) -> Self {
3989 self.with(Property::Mask, value.into().to_string())
3990 }
3991
3992 #[must_use]
3996 pub fn mask_border(self, value: impl Into<crate::value::MaskBorder>) -> Self {
3997 self.with(Property::MaskBorder, value.into().to_string())
3998 }
3999
4000 #[must_use]
4002 pub fn mask_border_mode(self, value: impl Into<crate::value::MaskBorderMode>) -> Self {
4003 self.with(Property::MaskBorderMode, value.into().to_string())
4004 }
4005
4006 #[must_use]
4010 pub fn mask_border_outset(self, value: impl Into<crate::value::MaskBorderOutset>) -> Self {
4011 self.with(Property::MaskBorderOutset, value.into().to_string())
4012 }
4013
4014 #[must_use]
4018 pub fn mask_border_repeat(self, value: impl Into<crate::value::MaskBorderRepeat>) -> Self {
4019 self.with(Property::MaskBorderRepeat, value.into().to_string())
4020 }
4021
4022 #[must_use]
4026 pub fn mask_border_slice(self, value: impl Into<crate::value::MaskBorderSlice>) -> Self {
4027 self.with(Property::MaskBorderSlice, value.into().to_string())
4028 }
4029
4030 #[must_use]
4034 pub fn mask_border_source(self, value: impl Into<crate::value::MaskBorderSource>) -> Self {
4035 self.with(Property::MaskBorderSource, value.into().to_string())
4036 }
4037
4038 #[must_use]
4042 pub fn mask_border_width(self, value: impl Into<crate::value::MaskBorderWidth>) -> Self {
4043 self.with(Property::MaskBorderWidth, value.into().to_string())
4044 }
4045
4046 #[must_use]
4050 pub fn mask_clip(self, value: impl Into<crate::value::MaskClip>) -> Self {
4051 self.with(Property::MaskClip, value.into().to_string())
4052 }
4053
4054 #[must_use]
4058 pub fn mask_composite(self, value: impl Into<crate::value::MaskComposite>) -> Self {
4059 self.with(Property::MaskComposite, value.into().to_string())
4060 }
4061
4062 #[must_use]
4066 pub fn mask_image(self, value: impl Into<crate::value::MaskImage>) -> Self {
4067 self.with(Property::MaskImage, value.into().to_string())
4068 }
4069
4070 #[must_use]
4074 pub fn mask_mode(self, value: impl Into<crate::value::MaskMode>) -> Self {
4075 self.with(Property::MaskMode, value.into().to_string())
4076 }
4077
4078 #[must_use]
4082 pub fn mask_origin(self, value: impl Into<crate::value::MaskOrigin>) -> Self {
4083 self.with(Property::MaskOrigin, value.into().to_string())
4084 }
4085
4086 #[must_use]
4090 pub fn mask_position(self, value: impl Into<crate::value::MaskPosition>) -> Self {
4091 self.with(Property::MaskPosition, value.into().to_string())
4092 }
4093
4094 #[must_use]
4098 pub fn mask_repeat(self, value: impl Into<crate::value::MaskRepeat>) -> Self {
4099 self.with(Property::MaskRepeat, value.into().to_string())
4100 }
4101
4102 #[must_use]
4106 pub fn mask_size(self, value: impl Into<crate::value::MaskSize>) -> Self {
4107 self.with(Property::MaskSize, value.into().to_string())
4108 }
4109
4110 #[must_use]
4112 pub fn mask_type(self, value: impl Into<crate::value::MaskType>) -> Self {
4113 self.with(Property::MaskType, value.into().to_string())
4114 }
4115
4116 #[must_use]
4120 pub fn math_depth(self, value: impl Into<crate::value::MathDepth>) -> Self {
4121 self.with(Property::MathDepth, value.into().to_string())
4122 }
4123
4124 #[must_use]
4126 pub fn math_style(self, value: impl Into<crate::value::MathStyle>) -> Self {
4127 self.with(Property::MathStyle, value.into().to_string())
4128 }
4129
4130 #[must_use]
4134 pub fn max_block_size(self, value: impl Into<crate::value::MaxBlockSize>) -> Self {
4135 self.with(Property::MaxBlockSize, value.into().to_string())
4136 }
4137
4138 #[must_use]
4142 pub fn max_height(self, value: impl Into<crate::value::MaxHeight>) -> Self {
4143 self.with(Property::MaxHeight, value.into().to_string())
4144 }
4145
4146 #[must_use]
4150 pub fn max_inline_size(self, value: impl Into<crate::value::MaxInlineSize>) -> Self {
4151 self.with(Property::MaxInlineSize, value.into().to_string())
4152 }
4153
4154 #[must_use]
4158 pub fn max_width(self, value: impl Into<crate::value::MaxWidth>) -> Self {
4159 self.with(Property::MaxWidth, value.into().to_string())
4160 }
4161
4162 #[must_use]
4166 pub fn min_block_size(self, value: impl Into<crate::value::MinBlockSize>) -> Self {
4167 self.with(Property::MinBlockSize, value.into().to_string())
4168 }
4169
4170 #[must_use]
4174 pub fn min_height(self, value: impl Into<crate::value::MinHeight>) -> Self {
4175 self.with(Property::MinHeight, value.into().to_string())
4176 }
4177
4178 #[must_use]
4182 pub fn min_inline_size(self, value: impl Into<crate::value::MinInlineSize>) -> Self {
4183 self.with(Property::MinInlineSize, value.into().to_string())
4184 }
4185
4186 #[must_use]
4190 pub fn min_width(self, value: impl Into<crate::value::MinWidth>) -> Self {
4191 self.with(Property::MinWidth, value.into().to_string())
4192 }
4193
4194 #[must_use]
4196 pub fn mix_blend_mode(self, value: impl Into<crate::value::MixBlendMode>) -> Self {
4197 self.with(Property::MixBlendMode, value.into().to_string())
4198 }
4199
4200 #[must_use]
4202 pub fn object_fit(self, value: impl Into<crate::value::ObjectFit>) -> Self {
4203 self.with(Property::ObjectFit, value.into().to_string())
4204 }
4205
4206 #[must_use]
4210 pub fn object_position(self, value: impl Into<crate::value::ObjectPosition>) -> Self {
4211 self.with(Property::ObjectPosition, value.into().to_string())
4212 }
4213
4214 #[must_use]
4218 pub fn offset(self, value: impl Into<crate::value::Offset>) -> Self {
4219 self.with(Property::Offset, value.into().to_string())
4220 }
4221
4222 #[must_use]
4226 pub fn offset_anchor(self, value: impl Into<crate::value::OffsetAnchor>) -> Self {
4227 self.with(Property::OffsetAnchor, value.into().to_string())
4228 }
4229
4230 #[must_use]
4232 pub fn offset_distance(self, value: impl Into<crate::value::OffsetDistance>) -> Self {
4233 self.with(Property::OffsetDistance, value.into().to_string())
4234 }
4235
4236 #[must_use]
4240 pub fn offset_path(self, value: impl Into<crate::value::OffsetPath>) -> Self {
4241 self.with(Property::OffsetPath, value.into().to_string())
4242 }
4243
4244 #[must_use]
4248 pub fn offset_position(self, value: impl Into<crate::value::OffsetPosition>) -> Self {
4249 self.with(Property::OffsetPosition, value.into().to_string())
4250 }
4251
4252 #[must_use]
4256 pub fn offset_rotate(self, value: impl Into<crate::value::OffsetRotate>) -> Self {
4257 self.with(Property::OffsetRotate, value.into().to_string())
4258 }
4259
4260 #[must_use]
4262 pub fn opacity(self, value: impl Into<crate::value::Opacity>) -> Self {
4263 self.with(Property::Opacity, value.into().to_string())
4264 }
4265
4266 #[must_use]
4268 pub fn order(self, value: impl Into<i32>) -> Self {
4269 self.with(Property::Order, value.into().to_string())
4270 }
4271
4272 #[must_use]
4274 pub fn orphans(self, value: impl Into<i32>) -> Self {
4275 self.with(Property::Orphans, value.into().to_string())
4276 }
4277
4278 #[must_use]
4282 pub fn outline(self, value: impl Into<crate::value::Outline>) -> Self {
4283 self.with(Property::Outline, value.into().to_string())
4284 }
4285
4286 #[must_use]
4288 pub fn outline_color(self, value: impl Into<crate::value::OutlineColor>) -> Self {
4289 self.with(Property::OutlineColor, value.into().to_string())
4290 }
4291
4292 #[must_use]
4294 pub fn outline_offset(self, value: impl Into<Length>) -> Self {
4295 self.with(Property::OutlineOffset, value.into().to_string())
4296 }
4297
4298 #[must_use]
4300 pub fn outline_style(self, value: impl Into<crate::value::OutlineStyle>) -> Self {
4301 self.with(Property::OutlineStyle, value.into().to_string())
4302 }
4303
4304 #[must_use]
4306 pub fn outline_width(self, value: impl Into<crate::value::OutlineWidth>) -> Self {
4307 self.with(Property::OutlineWidth, value.into().to_string())
4308 }
4309
4310 #[must_use]
4314 pub fn overflow(self, value: impl Into<crate::value::Overflow>) -> Self {
4315 self.with(Property::Overflow, value.into().to_string())
4316 }
4317
4318 #[must_use]
4320 pub fn overflow_anchor(self, value: impl Into<crate::value::OverflowAnchor>) -> Self {
4321 self.with(Property::OverflowAnchor, value.into().to_string())
4322 }
4323
4324 #[must_use]
4326 pub fn overflow_block(self, value: impl Into<crate::value::OverflowBlock>) -> Self {
4327 self.with(Property::OverflowBlock, value.into().to_string())
4328 }
4329
4330 #[must_use]
4334 pub fn overflow_clip_margin(self, value: impl Into<crate::value::OverflowClipMargin>) -> Self {
4335 self.with(Property::OverflowClipMargin, value.into().to_string())
4336 }
4337
4338 #[must_use]
4340 pub fn overflow_inline(self, value: impl Into<crate::value::OverflowInline>) -> Self {
4341 self.with(Property::OverflowInline, value.into().to_string())
4342 }
4343
4344 #[must_use]
4346 pub fn overflow_wrap(self, value: impl Into<crate::value::OverflowWrap>) -> Self {
4347 self.with(Property::OverflowWrap, value.into().to_string())
4348 }
4349
4350 #[must_use]
4352 pub fn overflow_x(self, value: impl Into<crate::value::OverflowX>) -> Self {
4353 self.with(Property::OverflowX, value.into().to_string())
4354 }
4355
4356 #[must_use]
4358 pub fn overflow_y(self, value: impl Into<crate::value::OverflowY>) -> Self {
4359 self.with(Property::OverflowY, value.into().to_string())
4360 }
4361
4362 #[must_use]
4366 pub fn overscroll_behavior(self, value: impl Into<crate::value::OverscrollBehavior>) -> Self {
4367 self.with(Property::OverscrollBehavior, value.into().to_string())
4368 }
4369
4370 #[must_use]
4372 pub fn overscroll_behavior_block(self, value: impl Into<crate::value::OverscrollBehaviorBlock>) -> Self {
4373 self.with(Property::OverscrollBehaviorBlock, value.into().to_string())
4374 }
4375
4376 #[must_use]
4378 pub fn overscroll_behavior_inline(self, value: impl Into<crate::value::OverscrollBehaviorInline>) -> Self {
4379 self.with(Property::OverscrollBehaviorInline, value.into().to_string())
4380 }
4381
4382 #[must_use]
4384 pub fn overscroll_behavior_x(self, value: impl Into<crate::value::OverscrollBehaviorX>) -> Self {
4385 self.with(Property::OverscrollBehaviorX, value.into().to_string())
4386 }
4387
4388 #[must_use]
4390 pub fn overscroll_behavior_y(self, value: impl Into<crate::value::OverscrollBehaviorY>) -> Self {
4391 self.with(Property::OverscrollBehaviorY, value.into().to_string())
4392 }
4393
4394 #[must_use]
4398 pub fn padding(self, value: impl Into<crate::value::Padding>) -> Self {
4399 self.with(Property::Padding, value.into().to_string())
4400 }
4401
4402 #[must_use]
4406 pub fn padding_block(self, value: impl Into<crate::value::PaddingBlock>) -> Self {
4407 self.with(Property::PaddingBlock, value.into().to_string())
4408 }
4409
4410 #[must_use]
4412 pub fn padding_block_end(self, value: impl Into<crate::value::PaddingBlockEnd>) -> Self {
4413 self.with(Property::PaddingBlockEnd, value.into().to_string())
4414 }
4415
4416 #[must_use]
4418 pub fn padding_block_start(self, value: impl Into<crate::value::PaddingBlockStart>) -> Self {
4419 self.with(Property::PaddingBlockStart, value.into().to_string())
4420 }
4421
4422 #[must_use]
4424 pub fn padding_bottom(self, value: impl Into<crate::value::PaddingBottom>) -> Self {
4425 self.with(Property::PaddingBottom, value.into().to_string())
4426 }
4427
4428 #[must_use]
4432 pub fn padding_inline(self, value: impl Into<crate::value::PaddingInline>) -> Self {
4433 self.with(Property::PaddingInline, value.into().to_string())
4434 }
4435
4436 #[must_use]
4438 pub fn padding_inline_end(self, value: impl Into<crate::value::PaddingInlineEnd>) -> Self {
4439 self.with(Property::PaddingInlineEnd, value.into().to_string())
4440 }
4441
4442 #[must_use]
4444 pub fn padding_inline_start(self, value: impl Into<crate::value::PaddingInlineStart>) -> Self {
4445 self.with(Property::PaddingInlineStart, value.into().to_string())
4446 }
4447
4448 #[must_use]
4450 pub fn padding_left(self, value: impl Into<crate::value::PaddingLeft>) -> Self {
4451 self.with(Property::PaddingLeft, value.into().to_string())
4452 }
4453
4454 #[must_use]
4456 pub fn padding_right(self, value: impl Into<crate::value::PaddingRight>) -> Self {
4457 self.with(Property::PaddingRight, value.into().to_string())
4458 }
4459
4460 #[must_use]
4462 pub fn padding_top(self, value: impl Into<crate::value::PaddingTop>) -> Self {
4463 self.with(Property::PaddingTop, value.into().to_string())
4464 }
4465
4466 #[must_use]
4470 pub fn page(self, value: impl Into<crate::value::Page>) -> Self {
4471 self.with(Property::Page, value.into().to_string())
4472 }
4473
4474 #[must_use]
4478 pub fn paint_order(self, value: impl Into<crate::value::PaintOrder>) -> Self {
4479 self.with(Property::PaintOrder, value.into().to_string())
4480 }
4481
4482 #[must_use]
4486 pub fn path_length(self, value: impl Into<crate::value::PathLength>) -> Self {
4487 self.with(Property::PathLength, value.into().to_string())
4488 }
4489
4490 #[must_use]
4492 pub fn perspective(self, value: impl Into<crate::value::Perspective>) -> Self {
4493 self.with(Property::Perspective, value.into().to_string())
4494 }
4495
4496 #[must_use]
4500 pub fn perspective_origin(self, value: impl Into<crate::value::PerspectiveOrigin>) -> Self {
4501 self.with(Property::PerspectiveOrigin, value.into().to_string())
4502 }
4503
4504 #[must_use]
4508 pub fn place_content(self, value: impl Into<crate::value::PlaceContent>) -> Self {
4509 self.with(Property::PlaceContent, value.into().to_string())
4510 }
4511
4512 #[must_use]
4516 pub fn place_items(self, value: impl Into<crate::value::PlaceItems>) -> Self {
4517 self.with(Property::PlaceItems, value.into().to_string())
4518 }
4519
4520 #[must_use]
4524 pub fn place_self(self, value: impl Into<crate::value::PlaceSelf>) -> Self {
4525 self.with(Property::PlaceSelf, value.into().to_string())
4526 }
4527
4528 #[must_use]
4530 pub fn pointer_events(self, value: impl Into<crate::value::PointerEvents>) -> Self {
4531 self.with(Property::PointerEvents, value.into().to_string())
4532 }
4533
4534 #[must_use]
4536 pub fn position(self, value: impl Into<crate::value::Position>) -> Self {
4537 self.with(Property::Position, value.into().to_string())
4538 }
4539
4540 #[must_use]
4544 pub fn position_anchor(self, value: impl Into<crate::value::PositionAnchor>) -> Self {
4545 self.with(Property::PositionAnchor, value.into().to_string())
4546 }
4547
4548 #[must_use]
4552 pub fn position_area(self, value: impl Into<crate::value::PositionArea>) -> Self {
4553 self.with(Property::PositionArea, value.into().to_string())
4554 }
4555
4556 #[must_use]
4560 pub fn position_try_fallbacks(self, value: impl Into<crate::value::PositionTryFallbacks>) -> Self {
4561 self.with(Property::PositionTryFallbacks, value.into().to_string())
4562 }
4563
4564 #[must_use]
4566 pub fn print_color_adjust(self, value: impl Into<crate::value::PrintColorAdjust>) -> Self {
4567 self.with(Property::PrintColorAdjust, value.into().to_string())
4568 }
4569
4570 #[must_use]
4574 pub fn quotes(self, value: impl Into<crate::value::Quotes>) -> Self {
4575 self.with(Property::Quotes, value.into().to_string())
4576 }
4577
4578 #[must_use]
4580 pub fn r(self, value: impl Into<crate::value::R>) -> Self {
4581 self.with(Property::R, value.into().to_string())
4582 }
4583
4584 #[must_use]
4586 pub fn reading_flow(self, value: impl Into<crate::value::ReadingFlow>) -> Self {
4587 self.with(Property::ReadingFlow, value.into().to_string())
4588 }
4589
4590 #[must_use]
4592 pub fn reading_order(self, value: impl Into<i32>) -> Self {
4593 self.with(Property::ReadingOrder, value.into().to_string())
4594 }
4595
4596 #[must_use]
4598 pub fn resize(self, value: impl Into<crate::value::Resize>) -> Self {
4599 self.with(Property::Resize, value.into().to_string())
4600 }
4601
4602 #[must_use]
4606 pub fn right(self, value: impl Into<crate::value::Right>) -> Self {
4607 self.with(Property::Right, value.into().to_string())
4608 }
4609
4610 #[must_use]
4614 pub fn rotate(self, value: impl Into<crate::value::Rotate>) -> Self {
4615 self.with(Property::Rotate, value.into().to_string())
4616 }
4617
4618 #[must_use]
4620 pub fn row_gap(self, value: impl Into<crate::value::RowGap>) -> Self {
4621 self.with(Property::RowGap, value.into().to_string())
4622 }
4623
4624 #[must_use]
4626 pub fn ruby_align(self, value: impl Into<crate::value::RubyAlign>) -> Self {
4627 self.with(Property::RubyAlign, value.into().to_string())
4628 }
4629
4630 #[must_use]
4632 pub fn ruby_overhang(self, value: impl Into<crate::value::RubyOverhang>) -> Self {
4633 self.with(Property::RubyOverhang, value.into().to_string())
4634 }
4635
4636 #[must_use]
4640 pub fn ruby_position(self, value: impl Into<crate::value::RubyPosition>) -> Self {
4641 self.with(Property::RubyPosition, value.into().to_string())
4642 }
4643
4644 #[must_use]
4646 pub fn rx(self, value: impl Into<crate::value::Rx>) -> Self {
4647 self.with(Property::Rx, value.into().to_string())
4648 }
4649
4650 #[must_use]
4652 pub fn ry(self, value: impl Into<crate::value::Ry>) -> Self {
4653 self.with(Property::Ry, value.into().to_string())
4654 }
4655
4656 #[must_use]
4660 pub fn scale(self, value: impl Into<crate::value::Scale>) -> Self {
4661 self.with(Property::Scale, value.into().to_string())
4662 }
4663
4664 #[must_use]
4666 pub fn scroll_axis_lock(self, value: impl Into<crate::value::ScrollAxisLock>) -> Self {
4667 self.with(Property::ScrollAxisLock, value.into().to_string())
4668 }
4669
4670 #[must_use]
4672 pub fn scroll_behavior(self, value: impl Into<crate::value::ScrollBehavior>) -> Self {
4673 self.with(Property::ScrollBehavior, value.into().to_string())
4674 }
4675
4676 #[must_use]
4680 pub fn scroll_margin(self, value: impl Into<crate::value::ScrollMargin>) -> Self {
4681 self.with(Property::ScrollMargin, value.into().to_string())
4682 }
4683
4684 #[must_use]
4688 pub fn scroll_margin_block(self, value: impl Into<crate::value::ScrollMarginBlock>) -> Self {
4689 self.with(Property::ScrollMarginBlock, value.into().to_string())
4690 }
4691
4692 #[must_use]
4694 pub fn scroll_margin_block_end(self, value: impl Into<Length>) -> Self {
4695 self.with(Property::ScrollMarginBlockEnd, value.into().to_string())
4696 }
4697
4698 #[must_use]
4700 pub fn scroll_margin_block_start(self, value: impl Into<Length>) -> Self {
4701 self.with(Property::ScrollMarginBlockStart, value.into().to_string())
4702 }
4703
4704 #[must_use]
4706 pub fn scroll_margin_bottom(self, value: impl Into<Length>) -> Self {
4707 self.with(Property::ScrollMarginBottom, value.into().to_string())
4708 }
4709
4710 #[must_use]
4714 pub fn scroll_margin_inline(self, value: impl Into<crate::value::ScrollMarginInline>) -> Self {
4715 self.with(Property::ScrollMarginInline, value.into().to_string())
4716 }
4717
4718 #[must_use]
4720 pub fn scroll_margin_inline_end(self, value: impl Into<Length>) -> Self {
4721 self.with(Property::ScrollMarginInlineEnd, value.into().to_string())
4722 }
4723
4724 #[must_use]
4726 pub fn scroll_margin_inline_start(self, value: impl Into<Length>) -> Self {
4727 self.with(Property::ScrollMarginInlineStart, value.into().to_string())
4728 }
4729
4730 #[must_use]
4732 pub fn scroll_margin_left(self, value: impl Into<Length>) -> Self {
4733 self.with(Property::ScrollMarginLeft, value.into().to_string())
4734 }
4735
4736 #[must_use]
4738 pub fn scroll_margin_right(self, value: impl Into<Length>) -> Self {
4739 self.with(Property::ScrollMarginRight, value.into().to_string())
4740 }
4741
4742 #[must_use]
4744 pub fn scroll_margin_top(self, value: impl Into<Length>) -> Self {
4745 self.with(Property::ScrollMarginTop, value.into().to_string())
4746 }
4747
4748 #[must_use]
4750 pub fn scroll_marker_group(self, value: impl Into<crate::value::ScrollMarkerGroup>) -> Self {
4751 self.with(Property::ScrollMarkerGroup, value.into().to_string())
4752 }
4753
4754 #[must_use]
4758 pub fn scroll_padding(self, value: impl Into<crate::value::ScrollPadding>) -> Self {
4759 self.with(Property::ScrollPadding, value.into().to_string())
4760 }
4761
4762 #[must_use]
4766 pub fn scroll_padding_block(self, value: impl Into<crate::value::ScrollPaddingBlock>) -> Self {
4767 self.with(Property::ScrollPaddingBlock, value.into().to_string())
4768 }
4769
4770 #[must_use]
4772 pub fn scroll_padding_block_end(self, value: impl Into<crate::value::ScrollPaddingBlockEnd>) -> Self {
4773 self.with(Property::ScrollPaddingBlockEnd, value.into().to_string())
4774 }
4775
4776 #[must_use]
4778 pub fn scroll_padding_block_start(self, value: impl Into<crate::value::ScrollPaddingBlockStart>) -> Self {
4779 self.with(Property::ScrollPaddingBlockStart, value.into().to_string())
4780 }
4781
4782 #[must_use]
4784 pub fn scroll_padding_bottom(self, value: impl Into<crate::value::ScrollPaddingBottom>) -> Self {
4785 self.with(Property::ScrollPaddingBottom, value.into().to_string())
4786 }
4787
4788 #[must_use]
4792 pub fn scroll_padding_inline(self, value: impl Into<crate::value::ScrollPaddingInline>) -> Self {
4793 self.with(Property::ScrollPaddingInline, value.into().to_string())
4794 }
4795
4796 #[must_use]
4798 pub fn scroll_padding_inline_end(self, value: impl Into<crate::value::ScrollPaddingInlineEnd>) -> Self {
4799 self.with(Property::ScrollPaddingInlineEnd, value.into().to_string())
4800 }
4801
4802 #[must_use]
4804 pub fn scroll_padding_inline_start(self, value: impl Into<crate::value::ScrollPaddingInlineStart>) -> Self {
4805 self.with(Property::ScrollPaddingInlineStart, value.into().to_string())
4806 }
4807
4808 #[must_use]
4810 pub fn scroll_padding_left(self, value: impl Into<crate::value::ScrollPaddingLeft>) -> Self {
4811 self.with(Property::ScrollPaddingLeft, value.into().to_string())
4812 }
4813
4814 #[must_use]
4816 pub fn scroll_padding_right(self, value: impl Into<crate::value::ScrollPaddingRight>) -> Self {
4817 self.with(Property::ScrollPaddingRight, value.into().to_string())
4818 }
4819
4820 #[must_use]
4822 pub fn scroll_padding_top(self, value: impl Into<crate::value::ScrollPaddingTop>) -> Self {
4823 self.with(Property::ScrollPaddingTop, value.into().to_string())
4824 }
4825
4826 #[must_use]
4830 pub fn scroll_snap_align(self, value: impl Into<crate::value::ScrollSnapAlign>) -> Self {
4831 self.with(Property::ScrollSnapAlign, value.into().to_string())
4832 }
4833
4834 #[must_use]
4836 pub fn scroll_snap_stop(self, value: impl Into<crate::value::ScrollSnapStop>) -> Self {
4837 self.with(Property::ScrollSnapStop, value.into().to_string())
4838 }
4839
4840 #[must_use]
4844 pub fn scroll_snap_type(self, value: impl Into<crate::value::ScrollSnapType>) -> Self {
4845 self.with(Property::ScrollSnapType, value.into().to_string())
4846 }
4847
4848 #[must_use]
4850 pub fn scroll_target_group(self, value: impl Into<crate::value::ScrollTargetGroup>) -> Self {
4851 self.with(Property::ScrollTargetGroup, value.into().to_string())
4852 }
4853
4854 #[must_use]
4858 pub fn scrollbar_color(self, value: impl Into<crate::value::ScrollbarColor>) -> Self {
4859 self.with(Property::ScrollbarColor, value.into().to_string())
4860 }
4861
4862 #[must_use]
4866 pub fn scrollbar_gutter(self, value: impl Into<crate::value::ScrollbarGutter>) -> Self {
4867 self.with(Property::ScrollbarGutter, value.into().to_string())
4868 }
4869
4870 #[must_use]
4872 pub fn scrollbar_width(self, value: impl Into<crate::value::ScrollbarWidth>) -> Self {
4873 self.with(Property::ScrollbarWidth, value.into().to_string())
4874 }
4875
4876 #[must_use]
4878 pub fn shape_image_threshold(self, value: impl Into<crate::value::ShapeImageThreshold>) -> Self {
4879 self.with(Property::ShapeImageThreshold, value.into().to_string())
4880 }
4881
4882 #[must_use]
4884 pub fn shape_margin(self, value: impl Into<crate::value::ShapeMargin>) -> Self {
4885 self.with(Property::ShapeMargin, value.into().to_string())
4886 }
4887
4888 #[must_use]
4892 pub fn shape_outside(self, value: impl Into<crate::value::ShapeOutside>) -> Self {
4893 self.with(Property::ShapeOutside, value.into().to_string())
4894 }
4895
4896 #[must_use]
4898 pub fn shape_rendering(self, value: impl Into<crate::value::ShapeRendering>) -> Self {
4899 self.with(Property::ShapeRendering, value.into().to_string())
4900 }
4901
4902 #[must_use]
4904 pub fn stop_color(self, value: impl Into<Color>) -> Self {
4905 self.with(Property::StopColor, value.into().to_string())
4906 }
4907
4908 #[must_use]
4910 pub fn stop_opacity(self, value: impl Into<crate::value::StopOpacity>) -> Self {
4911 self.with(Property::StopOpacity, value.into().to_string())
4912 }
4913
4914 #[must_use]
4918 pub fn stroke(self, value: impl Into<crate::value::Stroke>) -> Self {
4919 self.with(Property::Stroke, value.into().to_string())
4920 }
4921
4922 #[must_use]
4926 pub fn stroke_dasharray(self, value: impl Into<crate::value::StrokeDasharray>) -> Self {
4927 self.with(Property::StrokeDasharray, value.into().to_string())
4928 }
4929
4930 #[must_use]
4932 pub fn stroke_dashoffset(self, value: impl Into<crate::value::StrokeDashoffset>) -> Self {
4933 self.with(Property::StrokeDashoffset, value.into().to_string())
4934 }
4935
4936 #[must_use]
4938 pub fn stroke_linecap(self, value: impl Into<crate::value::StrokeLinecap>) -> Self {
4939 self.with(Property::StrokeLinecap, value.into().to_string())
4940 }
4941
4942 #[must_use]
4944 pub fn stroke_linejoin(self, value: impl Into<crate::value::StrokeLinejoin>) -> Self {
4945 self.with(Property::StrokeLinejoin, value.into().to_string())
4946 }
4947
4948 #[must_use]
4950 pub fn stroke_miterlimit(self, value: impl Into<f64>) -> Self {
4951 self.with(Property::StrokeMiterlimit, value.into().to_string())
4952 }
4953
4954 #[must_use]
4956 pub fn stroke_opacity(self, value: impl Into<crate::value::StrokeOpacity>) -> Self {
4957 self.with(Property::StrokeOpacity, value.into().to_string())
4958 }
4959
4960 #[must_use]
4962 pub fn stroke_width(self, value: impl Into<crate::value::StrokeWidth>) -> Self {
4963 self.with(Property::StrokeWidth, value.into().to_string())
4964 }
4965
4966 #[must_use]
4968 pub fn tab_size(self, value: impl Into<crate::value::TabSize>) -> Self {
4969 self.with(Property::TabSize, value.into().to_string())
4970 }
4971
4972 #[must_use]
4974 pub fn table_layout(self, value: impl Into<crate::value::TableLayout>) -> Self {
4975 self.with(Property::TableLayout, value.into().to_string())
4976 }
4977
4978 #[must_use]
4980 pub fn text_align(self, value: impl Into<crate::value::TextAlign>) -> Self {
4981 self.with(Property::TextAlign, value.into().to_string())
4982 }
4983
4984 #[must_use]
4986 pub fn text_align_last(self, value: impl Into<crate::value::TextAlignLast>) -> Self {
4987 self.with(Property::TextAlignLast, value.into().to_string())
4988 }
4989
4990 #[must_use]
4992 pub fn text_anchor(self, value: impl Into<crate::value::TextAnchor>) -> Self {
4993 self.with(Property::TextAnchor, value.into().to_string())
4994 }
4995
4996 #[must_use]
5000 pub fn text_autospace(self, value: impl Into<crate::value::TextAutospace>) -> Self {
5001 self.with(Property::TextAutospace, value.into().to_string())
5002 }
5003
5004 #[must_use]
5008 pub fn text_box(self, value: impl Into<crate::value::TextBox>) -> Self {
5009 self.with(Property::TextBox, value.into().to_string())
5010 }
5011
5012 #[must_use]
5016 pub fn text_box_edge(self, value: impl Into<crate::value::TextBoxEdge>) -> Self {
5017 self.with(Property::TextBoxEdge, value.into().to_string())
5018 }
5019
5020 #[must_use]
5022 pub fn text_box_trim(self, value: impl Into<crate::value::TextBoxTrim>) -> Self {
5023 self.with(Property::TextBoxTrim, value.into().to_string())
5024 }
5025
5026 #[must_use]
5030 pub fn text_combine_upright(self, value: impl Into<crate::value::TextCombineUpright>) -> Self {
5031 self.with(Property::TextCombineUpright, value.into().to_string())
5032 }
5033
5034 #[must_use]
5038 pub fn text_decoration(self, value: impl Into<crate::value::TextDecoration>) -> Self {
5039 self.with(Property::TextDecoration, value.into().to_string())
5040 }
5041
5042 #[must_use]
5044 pub fn text_decoration_color(self, value: impl Into<Color>) -> Self {
5045 self.with(Property::TextDecorationColor, value.into().to_string())
5046 }
5047
5048 #[must_use]
5052 pub fn text_decoration_inset(self, value: impl Into<crate::value::TextDecorationInset>) -> Self {
5053 self.with(Property::TextDecorationInset, value.into().to_string())
5054 }
5055
5056 #[must_use]
5060 pub fn text_decoration_line(self, value: impl Into<crate::value::TextDecorationLine>) -> Self {
5061 self.with(Property::TextDecorationLine, value.into().to_string())
5062 }
5063
5064 #[must_use]
5066 pub fn text_decoration_skip_ink(self, value: impl Into<crate::value::TextDecorationSkipInk>) -> Self {
5067 self.with(Property::TextDecorationSkipInk, value.into().to_string())
5068 }
5069
5070 #[must_use]
5072 pub fn text_decoration_style(self, value: impl Into<crate::value::TextDecorationStyle>) -> Self {
5073 self.with(Property::TextDecorationStyle, value.into().to_string())
5074 }
5075
5076 #[must_use]
5078 pub fn text_decoration_thickness(self, value: impl Into<crate::value::TextDecorationThickness>) -> Self {
5079 self.with(Property::TextDecorationThickness, value.into().to_string())
5080 }
5081
5082 #[must_use]
5086 pub fn text_emphasis(self, value: impl Into<crate::value::TextEmphasis>) -> Self {
5087 self.with(Property::TextEmphasis, value.into().to_string())
5088 }
5089
5090 #[must_use]
5092 pub fn text_emphasis_color(self, value: impl Into<Color>) -> Self {
5093 self.with(Property::TextEmphasisColor, value.into().to_string())
5094 }
5095
5096 #[must_use]
5100 pub fn text_emphasis_position(self, value: impl Into<crate::value::TextEmphasisPosition>) -> Self {
5101 self.with(Property::TextEmphasisPosition, value.into().to_string())
5102 }
5103
5104 #[must_use]
5108 pub fn text_emphasis_style(self, value: impl Into<crate::value::TextEmphasisStyle>) -> Self {
5109 self.with(Property::TextEmphasisStyle, value.into().to_string())
5110 }
5111
5112 #[must_use]
5116 pub fn text_fit(self, value: impl Into<crate::value::TextFit>) -> Self {
5117 self.with(Property::TextFit, value.into().to_string())
5118 }
5119
5120 #[must_use]
5124 pub fn text_indent(self, value: impl Into<crate::value::TextIndent>) -> Self {
5125 self.with(Property::TextIndent, value.into().to_string())
5126 }
5127
5128 #[must_use]
5130 pub fn text_justify(self, value: impl Into<crate::value::TextJustify>) -> Self {
5131 self.with(Property::TextJustify, value.into().to_string())
5132 }
5133
5134 #[must_use]
5136 pub fn text_orientation(self, value: impl Into<crate::value::TextOrientation>) -> Self {
5137 self.with(Property::TextOrientation, value.into().to_string())
5138 }
5139
5140 #[must_use]
5144 pub fn text_overflow(self, value: impl Into<crate::value::TextOverflow>) -> Self {
5145 self.with(Property::TextOverflow, value.into().to_string())
5146 }
5147
5148 #[must_use]
5150 pub fn text_rendering(self, value: impl Into<crate::value::TextRendering>) -> Self {
5151 self.with(Property::TextRendering, value.into().to_string())
5152 }
5153
5154 #[must_use]
5158 pub fn text_shadow(self, value: impl Into<crate::value::TextShadow>) -> Self {
5159 self.with(Property::TextShadow, value.into().to_string())
5160 }
5161
5162 #[must_use]
5166 pub fn text_transform(self, value: impl Into<crate::value::TextTransform>) -> Self {
5167 self.with(Property::TextTransform, value.into().to_string())
5168 }
5169
5170 #[must_use]
5172 pub fn text_underline_offset(self, value: impl Into<crate::value::TextUnderlineOffset>) -> Self {
5173 self.with(Property::TextUnderlineOffset, value.into().to_string())
5174 }
5175
5176 #[must_use]
5180 pub fn text_underline_position(self, value: impl Into<crate::value::TextUnderlinePosition>) -> Self {
5181 self.with(Property::TextUnderlinePosition, value.into().to_string())
5182 }
5183
5184 #[must_use]
5188 pub fn text_wrap(self, value: impl Into<crate::value::TextWrap>) -> Self {
5189 self.with(Property::TextWrap, value.into().to_string())
5190 }
5191
5192 #[must_use]
5194 pub fn text_wrap_mode(self, value: impl Into<crate::value::TextWrapMode>) -> Self {
5195 self.with(Property::TextWrapMode, value.into().to_string())
5196 }
5197
5198 #[must_use]
5200 pub fn text_wrap_style(self, value: impl Into<crate::value::TextWrapStyle>) -> Self {
5201 self.with(Property::TextWrapStyle, value.into().to_string())
5202 }
5203
5204 #[must_use]
5208 pub fn timeline_trigger(self, value: impl Into<crate::value::TimelineTrigger>) -> Self {
5209 self.with(Property::TimelineTrigger, value.into().to_string())
5210 }
5211
5212 #[must_use]
5216 pub fn timeline_trigger_activation_range(self, value: impl Into<crate::value::TimelineTriggerActivationRange>) -> Self {
5217 self.with(Property::TimelineTriggerActivationRange, value.into().to_string())
5218 }
5219
5220 #[must_use]
5224 pub fn timeline_trigger_activation_range_end(self, value: impl Into<crate::value::TimelineTriggerActivationRangeEnd>) -> Self {
5225 self.with(Property::TimelineTriggerActivationRangeEnd, value.into().to_string())
5226 }
5227
5228 #[must_use]
5232 pub fn timeline_trigger_activation_range_start(self, value: impl Into<crate::value::TimelineTriggerActivationRangeStart>) -> Self {
5233 self.with(Property::TimelineTriggerActivationRangeStart, value.into().to_string())
5234 }
5235
5236 #[must_use]
5240 pub fn timeline_trigger_active_range(self, value: impl Into<crate::value::TimelineTriggerActiveRange>) -> Self {
5241 self.with(Property::TimelineTriggerActiveRange, value.into().to_string())
5242 }
5243
5244 #[must_use]
5248 pub fn timeline_trigger_active_range_end(self, value: impl Into<crate::value::TimelineTriggerActiveRangeEnd>) -> Self {
5249 self.with(Property::TimelineTriggerActiveRangeEnd, value.into().to_string())
5250 }
5251
5252 #[must_use]
5256 pub fn timeline_trigger_active_range_start(self, value: impl Into<crate::value::TimelineTriggerActiveRangeStart>) -> Self {
5257 self.with(Property::TimelineTriggerActiveRangeStart, value.into().to_string())
5258 }
5259
5260 #[must_use]
5264 pub fn timeline_trigger_name(self, value: impl Into<crate::value::TimelineTriggerName>) -> Self {
5265 self.with(Property::TimelineTriggerName, value.into().to_string())
5266 }
5267
5268 #[must_use]
5272 pub fn timeline_trigger_source(self, value: impl Into<crate::value::TimelineTriggerSource>) -> Self {
5273 self.with(Property::TimelineTriggerSource, value.into().to_string())
5274 }
5275
5276 #[must_use]
5280 pub fn top(self, value: impl Into<crate::value::Top>) -> Self {
5281 self.with(Property::Top, value.into().to_string())
5282 }
5283
5284 #[must_use]
5288 pub fn touch_action(self, value: impl Into<crate::value::TouchAction>) -> Self {
5289 self.with(Property::TouchAction, value.into().to_string())
5290 }
5291
5292 #[must_use]
5296 pub fn transform(self, value: impl Into<crate::value::Transform>) -> Self {
5297 self.with(Property::Transform, value.into().to_string())
5298 }
5299
5300 #[must_use]
5302 pub fn transform_box(self, value: impl Into<crate::value::TransformBox>) -> Self {
5303 self.with(Property::TransformBox, value.into().to_string())
5304 }
5305
5306 #[must_use]
5310 pub fn transform_origin(self, value: impl Into<crate::value::TransformOrigin>) -> Self {
5311 self.with(Property::TransformOrigin, value.into().to_string())
5312 }
5313
5314 #[must_use]
5316 pub fn transform_style(self, value: impl Into<crate::value::TransformStyle>) -> Self {
5317 self.with(Property::TransformStyle, value.into().to_string())
5318 }
5319
5320 #[must_use]
5324 pub fn transition(self, value: impl Into<crate::value::Transition>) -> Self {
5325 self.with(Property::Transition, value.into().to_string())
5326 }
5327
5328 #[must_use]
5332 pub fn transition_behavior(self, value: impl Into<crate::value::TransitionBehavior>) -> Self {
5333 self.with(Property::TransitionBehavior, value.into().to_string())
5334 }
5335
5336 #[must_use]
5340 pub fn transition_delay(self, value: impl Into<crate::value::TransitionDelay>) -> Self {
5341 self.with(Property::TransitionDelay, value.into().to_string())
5342 }
5343
5344 #[must_use]
5348 pub fn transition_duration(self, value: impl Into<crate::value::TransitionDuration>) -> Self {
5349 self.with(Property::TransitionDuration, value.into().to_string())
5350 }
5351
5352 #[must_use]
5356 pub fn transition_property(self, value: impl Into<crate::value::TransitionProperty>) -> Self {
5357 self.with(Property::TransitionProperty, value.into().to_string())
5358 }
5359
5360 #[must_use]
5364 pub fn transition_timing_function(self, value: impl Into<crate::value::TransitionTimingFunction>) -> Self {
5365 self.with(Property::TransitionTimingFunction, value.into().to_string())
5366 }
5367
5368 #[must_use]
5372 pub fn translate(self, value: impl Into<crate::value::Translate>) -> Self {
5373 self.with(Property::Translate, value.into().to_string())
5374 }
5375
5376 #[must_use]
5380 pub fn trigger_scope(self, value: impl Into<crate::value::TriggerScope>) -> Self {
5381 self.with(Property::TriggerScope, value.into().to_string())
5382 }
5383
5384 #[must_use]
5386 pub fn unicode_bidi(self, value: impl Into<crate::value::UnicodeBidi>) -> Self {
5387 self.with(Property::UnicodeBidi, value.into().to_string())
5388 }
5389
5390 #[must_use]
5392 pub fn user_select(self, value: impl Into<crate::value::UserSelect>) -> Self {
5393 self.with(Property::UserSelect, value.into().to_string())
5394 }
5395
5396 #[must_use]
5398 pub fn vector_effect(self, value: impl Into<crate::value::VectorEffect>) -> Self {
5399 self.with(Property::VectorEffect, value.into().to_string())
5400 }
5401
5402 #[must_use]
5404 pub fn vertical_align(self, value: impl Into<crate::value::VerticalAlign>) -> Self {
5405 self.with(Property::VerticalAlign, value.into().to_string())
5406 }
5407
5408 #[must_use]
5412 pub fn view_transition_class(self, value: impl Into<crate::value::ViewTransitionClass>) -> Self {
5413 self.with(Property::ViewTransitionClass, value.into().to_string())
5414 }
5415
5416 #[must_use]
5420 pub fn view_transition_name(self, value: impl Into<crate::value::ViewTransitionName>) -> Self {
5421 self.with(Property::ViewTransitionName, value.into().to_string())
5422 }
5423
5424 #[must_use]
5426 pub fn view_transition_scope(self, value: impl Into<crate::value::ViewTransitionScope>) -> Self {
5427 self.with(Property::ViewTransitionScope, value.into().to_string())
5428 }
5429
5430 #[must_use]
5432 pub fn visibility(self, value: impl Into<crate::value::Visibility>) -> Self {
5433 self.with(Property::Visibility, value.into().to_string())
5434 }
5435
5436 #[must_use]
5440 pub fn white_space(self, value: impl Into<crate::value::WhiteSpace>) -> Self {
5441 self.with(Property::WhiteSpace, value.into().to_string())
5442 }
5443
5444 #[must_use]
5446 pub fn white_space_collapse(self, value: impl Into<crate::value::WhiteSpaceCollapse>) -> Self {
5447 self.with(Property::WhiteSpaceCollapse, value.into().to_string())
5448 }
5449
5450 #[must_use]
5452 pub fn widows(self, value: impl Into<i32>) -> Self {
5453 self.with(Property::Widows, value.into().to_string())
5454 }
5455
5456 #[must_use]
5460 pub fn width(self, value: impl Into<crate::value::Width>) -> Self {
5461 self.with(Property::Width, value.into().to_string())
5462 }
5463
5464 #[must_use]
5468 pub fn will_change(self, value: impl Into<crate::value::WillChange>) -> Self {
5469 self.with(Property::WillChange, value.into().to_string())
5470 }
5471
5472 #[must_use]
5474 pub fn window_drag(self, value: impl Into<crate::value::WindowDrag>) -> Self {
5475 self.with(Property::WindowDrag, value.into().to_string())
5476 }
5477
5478 #[must_use]
5480 pub fn word_break(self, value: impl Into<crate::value::WordBreak>) -> Self {
5481 self.with(Property::WordBreak, value.into().to_string())
5482 }
5483
5484 #[must_use]
5486 pub fn word_spacing(self, value: impl Into<crate::value::WordSpacing>) -> Self {
5487 self.with(Property::WordSpacing, value.into().to_string())
5488 }
5489
5490 #[must_use]
5492 pub fn word_wrap(self, value: impl Into<crate::value::WordWrap>) -> Self {
5493 self.with(Property::WordWrap, value.into().to_string())
5494 }
5495
5496 #[must_use]
5498 pub fn writing_mode(self, value: impl Into<crate::value::WritingMode>) -> Self {
5499 self.with(Property::WritingMode, value.into().to_string())
5500 }
5501
5502 #[must_use]
5504 pub fn x(self, value: impl Into<crate::value::X>) -> Self {
5505 self.with(Property::X, value.into().to_string())
5506 }
5507
5508 #[must_use]
5510 pub fn y(self, value: impl Into<crate::value::Y>) -> Self {
5511 self.with(Property::Y, value.into().to_string())
5512 }
5513
5514 #[must_use]
5516 pub fn z_index(self, value: impl Into<crate::value::ZIndex>) -> Self {
5517 self.with(Property::ZIndex, value.into().to_string())
5518 }
5519
5520 #[must_use]
5524 pub fn zoom(self, value: impl Into<crate::value::Zoom>) -> Self {
5525 self.with(Property::Zoom, value.into().to_string())
5526 }
5527
5528}
5529
5530#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
5532#[non_exhaustive]
5533pub enum PseudoClass {
5534 Active,
5536 ActiveViewTransition,
5538 AnyLink,
5540 Autofill,
5542 Buffering,
5544 Checked,
5546 Default,
5548 Defined,
5550 Disabled,
5552 Empty,
5554 Enabled,
5556 FirstChild,
5558 FirstOfType,
5560 Focus,
5562 FocusVisible,
5564 FocusWithin,
5566 Fullscreen,
5568 Future,
5570 HasSlotted,
5572 Hover,
5574 InRange,
5576 Indeterminate,
5578 Invalid,
5580 LastChild,
5582 LastOfType,
5584 Link,
5586 Modal,
5588 Muted,
5590 OnlyChild,
5592 OnlyOfType,
5594 Open,
5596 Optional,
5598 OutOfRange,
5600 Past,
5602 Paused,
5604 PictureInPicture,
5606 PlaceholderShown,
5608 Playing,
5610 PopoverOpen,
5612 ReadOnly,
5614 ReadWrite,
5616 Required,
5618 Seeking,
5620 Stalled,
5622 Target,
5624 UserInvalid,
5626 UserValid,
5628 Valid,
5630 Visited,
5632 VolumeLocked,
5634}
5635
5636impl PseudoClass {
5637 #[must_use]
5639 pub fn name(self) -> &'static str {
5640 match self {
5641 Self::Active => "active",
5642 Self::ActiveViewTransition => "active-view-transition",
5643 Self::AnyLink => "any-link",
5644 Self::Autofill => "autofill",
5645 Self::Buffering => "buffering",
5646 Self::Checked => "checked",
5647 Self::Default => "default",
5648 Self::Defined => "defined",
5649 Self::Disabled => "disabled",
5650 Self::Empty => "empty",
5651 Self::Enabled => "enabled",
5652 Self::FirstChild => "first-child",
5653 Self::FirstOfType => "first-of-type",
5654 Self::Focus => "focus",
5655 Self::FocusVisible => "focus-visible",
5656 Self::FocusWithin => "focus-within",
5657 Self::Fullscreen => "fullscreen",
5658 Self::Future => "future",
5659 Self::HasSlotted => "has-slotted",
5660 Self::Hover => "hover",
5661 Self::InRange => "in-range",
5662 Self::Indeterminate => "indeterminate",
5663 Self::Invalid => "invalid",
5664 Self::LastChild => "last-child",
5665 Self::LastOfType => "last-of-type",
5666 Self::Link => "link",
5667 Self::Modal => "modal",
5668 Self::Muted => "muted",
5669 Self::OnlyChild => "only-child",
5670 Self::OnlyOfType => "only-of-type",
5671 Self::Open => "open",
5672 Self::Optional => "optional",
5673 Self::OutOfRange => "out-of-range",
5674 Self::Past => "past",
5675 Self::Paused => "paused",
5676 Self::PictureInPicture => "picture-in-picture",
5677 Self::PlaceholderShown => "placeholder-shown",
5678 Self::Playing => "playing",
5679 Self::PopoverOpen => "popover-open",
5680 Self::ReadOnly => "read-only",
5681 Self::ReadWrite => "read-write",
5682 Self::Required => "required",
5683 Self::Seeking => "seeking",
5684 Self::Stalled => "stalled",
5685 Self::Target => "target",
5686 Self::UserInvalid => "user-invalid",
5687 Self::UserValid => "user-valid",
5688 Self::Valid => "valid",
5689 Self::Visited => "visited",
5690 Self::VolumeLocked => "volume-locked",
5691 }
5692 }
5693}
5694
5695#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
5697#[non_exhaustive]
5698pub enum PseudoElement {
5699 After,
5701 Backdrop,
5703 Before,
5705 Checkmark,
5707 Cue,
5709 DetailsContent,
5711 FileSelectorButton,
5713 FirstLetter,
5715 FirstLine,
5717 GrammarError,
5719 Marker,
5721 PickerSelect,
5723 PickerIcon,
5725 Placeholder,
5727 Selection,
5729 SpellingError,
5731 TargetText,
5733 ViewTransition,
5735}
5736
5737impl PseudoElement {
5738 #[must_use]
5740 pub fn name(self) -> &'static str {
5741 match self {
5742 Self::After => "after",
5743 Self::Backdrop => "backdrop",
5744 Self::Before => "before",
5745 Self::Checkmark => "checkmark",
5746 Self::Cue => "cue",
5747 Self::DetailsContent => "details-content",
5748 Self::FileSelectorButton => "file-selector-button",
5749 Self::FirstLetter => "first-letter",
5750 Self::FirstLine => "first-line",
5751 Self::GrammarError => "grammar-error",
5752 Self::Marker => "marker",
5753 Self::PickerSelect => "picker(select)",
5754 Self::PickerIcon => "picker-icon",
5755 Self::Placeholder => "placeholder",
5756 Self::Selection => "selection",
5757 Self::SpellingError => "spelling-error",
5758 Self::TargetText => "target-text",
5759 Self::ViewTransition => "view-transition",
5760 }
5761 }
5762}
5763