1#![allow(warnings)]
5mod impls;
8use super::prelude::*;
9use impls::*;
10#[syntax(" none | [ first || [ force-end | allow-end ] || last ] ")]
22#[derive(
23 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
24)]
25#[declaration_metadata(
26 initial = "none",
27 inherits,
28 applies_to = Text,
29 animation_type = Discrete,
30 property_group = Text,
31 computed_value_type = Unknown,
32 canonical_order = "per grammar",
33)]
34#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
35#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.hanging-punctuation"))]
36#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
37#[derive(csskit_derives::NodeWithMetadata)]
38pub enum HangingPunctuationStyleValue {}
39
40#[syntax(" auto | <string> ")]
52#[derive(
53 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
54)]
55#[declaration_metadata(
56 initial = "auto",
57 inherits,
58 applies_to = Text,
59 animation_type = Discrete,
60 property_group = Text,
61 computed_value_type = Unknown,
62 canonical_order = "per grammar",
63)]
64#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
65#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.hyphenate-character"))]
66#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
67#[derive(csskit_derives::NodeWithMetadata)]
68pub struct HyphenateCharacterStyleValue;
69
70#[syntax(" [ auto | <integer> ]{1,3} ")]
82#[derive(
83 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
84)]
85#[declaration_metadata(
86 initial = "auto",
87 inherits,
88 applies_to = Text,
89 animation_type = ByComputedValue,
90 property_group = Text,
91 computed_value_type = Unknown,
92 canonical_order = "per grammar",
93)]
94#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
95#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.hyphenate-limit-chars"))]
96#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
97#[derive(csskit_derives::NodeWithMetadata)]
98pub struct HyphenateLimitCharsStyleValue;
99
100#[syntax(" none | always | column | page | spread ")]
110#[derive(
111 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
112)]
113#[declaration_metadata(
114 initial = "none",
115 inherits,
116 applies_to = Block,
117 animation_type = Discrete,
118 property_group = Text,
119 computed_value_type = Unknown,
120 canonical_order = "per grammar",
121)]
122#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
123#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.hyphenate-limit-last"))]
124#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
125#[derive(csskit_derives::NodeWithMetadata)]
126pub enum HyphenateLimitLastStyleValue {}
127
128#[syntax(" no-limit | <integer> ")]
138#[derive(
139 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
140)]
141#[declaration_metadata(
142 initial = "no-limit",
143 inherits,
144 applies_to = Block,
145 animation_type = ByComputedValue,
146 property_group = Text,
147 computed_value_type = Unknown,
148 canonical_order = "per grammar",
149)]
150#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
151#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.hyphenate-limit-lines"))]
152#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
153#[derive(csskit_derives::NodeWithMetadata)]
154pub enum HyphenateLimitLinesStyleValue {}
155
156#[syntax(" <length-percentage> ")]
166#[derive(
167 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
168)]
169#[declaration_metadata(
170 initial = "0",
171 inherits,
172 applies_to = Block,
173 animation_type = ByComputedValue,
174 percentages = LineBox,
175 property_group = Text,
176 computed_value_type = Unknown,
177 canonical_order = "per grammar",
178)]
179#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
180#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.hyphenate-limit-zone"))]
181#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
182#[derive(csskit_derives::NodeWithMetadata)]
183pub struct HyphenateLimitZoneStyleValue;
184
185#[syntax(" none | manual | auto ")]
197#[derive(
198 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
199)]
200#[declaration_metadata(
201 initial = "manual",
202 inherits,
203 applies_to = Text,
204 animation_type = Discrete,
205 property_group = Text,
206 computed_value_type = Unknown,
207 canonical_order = "n/a",
208)]
209#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
210#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.hyphens"))]
211#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
212#[derive(csskit_derives::NodeWithMetadata)]
213pub enum HyphensStyleValue {}
214
215#[syntax(" normal | <length-percentage> ")]
227#[derive(
228 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
229)]
230#[declaration_metadata(
231 initial = "normal",
232 inherits,
233 applies_to = Unknown,
234 animation_type = ByComputedValue,
235 percentages = Unknown,
236 property_group = Text,
237 computed_value_type = AbsoluteLengthOrPercentage,
238 canonical_order = "n/a",
239)]
240#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
241#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.letter-spacing"))]
242#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
243#[derive(csskit_derives::NodeWithMetadata)]
244pub struct LetterSpacingStyleValue;
245
246#[syntax(" auto | loose | normal | strict | anywhere ")]
258#[derive(
259 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
260)]
261#[declaration_metadata(
262 initial = "auto",
263 inherits,
264 applies_to = Text,
265 animation_type = Discrete,
266 property_group = Text,
267 computed_value_type = Unknown,
268 canonical_order = "n/a",
269)]
270#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
271#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.line-break"))]
272#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
273#[derive(csskit_derives::NodeWithMetadata)]
274pub enum LineBreakStyleValue {}
275
276#[syntax(" <length> ")]
286#[derive(
287 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
288)]
289#[declaration_metadata(
290 initial = "0",
291 inherits,
292 applies_to = Unknown,
293 animation_type = ByComputedValue,
294 property_group = Text,
295 computed_value_type = AbsoluteLength,
296 canonical_order = "per grammar",
297)]
298#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
299#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.line-padding"))]
300#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
301#[derive(csskit_derives::NodeWithMetadata)]
302pub struct LinePaddingStyleValue;
303
304#[syntax(" normal | break-word | anywhere ")]
316#[derive(
317 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
318)]
319#[declaration_metadata(
320 initial = "normal",
321 inherits,
322 applies_to = Text,
323 animation_type = Discrete,
324 property_group = Text,
325 computed_value_type = Unknown,
326 canonical_order = "n/a",
327)]
328#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
329#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.overflow-wrap"))]
330#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
331#[derive(csskit_derives::NodeWithMetadata)]
332pub enum OverflowWrapStyleValue {}
333
334#[syntax(" <number [0,∞]> | <length [0,∞]> ")]
346#[derive(
347 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
348)]
349#[declaration_metadata(
350 initial = "8",
351 inherits,
352 applies_to = Text,
353 animation_type = ByComputedValue,
354 property_group = Text,
355 computed_value_type = SpecifiedKeywordPlusAbsoluteLength,
356 canonical_order = "n/a",
357 unitless_zero_resolves = Number,
358)]
359#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
360#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.tab-size"))]
361#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
362#[derive(csskit_derives::NodeWithMetadata)]
363pub struct TabSizeStyleValue;
364
365#[syntax(" start | end | left | right | center | <string> | justify | match-parent | justify-all ")]
377#[derive(
378 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
379)]
380#[declaration_metadata(
381 initial = "start",
382 inherits,
383 applies_to = Block,
384 animation_type = Discrete,
385 percentages = Unknown,
386 property_group = Text,
387 computed_value_type = Unknown,
388 canonical_order = "n/a",
389)]
390#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
391#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-align"))]
392#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
393#[derive(csskit_derives::NodeWithMetadata)]
394pub enum TextAlignStyleValue {}
395
396#[syntax(" start | end | left | right | center | <string> | justify | match-parent ")]
406#[derive(
407 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
408)]
409#[declaration_metadata(
410 initial = "start",
411 inherits,
412 applies_to = Block,
413 animation_type = Discrete,
414 property_group = Text,
415 computed_value_type = Unknown,
416 canonical_order = "n/a",
417)]
418#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
419#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-align-all"))]
420#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
421#[derive(csskit_derives::NodeWithMetadata)]
422pub enum TextAlignAllStyleValue {}
423
424#[syntax(" auto | start | end | left | right | center | justify | match-parent ")]
436#[derive(
437 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
438)]
439#[declaration_metadata(
440 initial = "auto",
441 inherits,
442 applies_to = Block,
443 animation_type = Discrete,
444 property_group = Text,
445 computed_value_type = Unknown,
446 canonical_order = "n/a",
447)]
448#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
449#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-align-last"))]
450#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
451#[derive(csskit_derives::NodeWithMetadata)]
452pub enum TextAlignLastStyleValue {}
453
454#[syntax(" normal | <autospace> | auto ")]
466#[derive(
467 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
468)]
469#[declaration_metadata(
470 initial = "normal",
471 inherits,
472 applies_to = Text,
473 animation_type = Discrete,
474 property_group = Text,
475 computed_value_type = Unknown,
476 canonical_order = "per grammar",
477)]
478#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
479#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-autospace"))]
480#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
481#[derive(csskit_derives::NodeWithMetadata)]
482pub enum TextAutospaceStyleValue {}
483
484#[syntax(" [ none | grow | shrink ] [consistent | per-line | per-line-all]? <percentage>? ")]
494#[derive(
495 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
496)]
497#[declaration_metadata(
498 initial = "none",
499 applies_to = Block,
500 animation_type = Discrete,
501 property_group = Text,
502 computed_value_type = Unknown,
503 canonical_order = "per grammar",
504)]
505#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
506#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-fit"))]
507#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
508#[derive(csskit_derives::NodeWithMetadata)]
509pub struct TextFitStyleValue;
510
511#[syntax(" none | start | end | left | right | center ")]
521#[derive(
522 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
523)]
524#[declaration_metadata(
525 initial = "none",
526 applies_to = Block,
527 animation_type = Discrete,
528 property_group = Text,
529 computed_value_type = Unknown,
530 canonical_order = "per grammar",
531)]
532#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
533#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-group-align"))]
534#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
535#[derive(csskit_derives::NodeWithMetadata)]
536pub enum TextGroupAlignStyleValue {}
537
538#[syntax(" [ <length-percentage> ] && hanging? && each-line? ")]
550#[derive(
551 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
552)]
553#[declaration_metadata(
554 initial = "0",
555 inherits,
556 applies_to = Block,
557 animation_type = ByComputedValue,
558 percentages = Unknown,
559 property_group = Text,
560 computed_value_type = Unknown,
561 canonical_order = "per grammar",
562)]
563#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
564#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-indent"))]
565#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
566#[derive(csskit_derives::NodeWithMetadata)]
567pub struct TextIndentStyleValue;
568
569#[syntax(" [ auto | none | inter-word | inter-character | ruby ] || no-compress ")]
581#[derive(
582 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
583)]
584#[declaration_metadata(
585 initial = "auto",
586 inherits,
587 applies_to = Text,
588 animation_type = Discrete,
589 property_group = Text,
590 computed_value_type = Unknown,
591 canonical_order = "n/a",
592)]
593#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
594#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-justify"))]
595#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
596#[derive(csskit_derives::NodeWithMetadata)]
597pub enum TextJustifyStyleValue {}
598
599#[syntax(" <spacing-trim> | auto ")]
655#[derive(
656 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
657)]
658#[declaration_metadata(
659 initial = "normal",
660 inherits,
661 applies_to = Text,
662 animation_type = Discrete,
663 property_group = Text,
664 computed_value_type = Unknown,
665 canonical_order = "per grammar",
666)]
667#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
668#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-spacing-trim"))]
669#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
670#[derive(csskit_derives::NodeWithMetadata)]
671pub struct TextSpacingTrimStyleValue;
672
673#[syntax(" none | [capitalize | uppercase | lowercase ] || full-width || full-size-kana | math-auto ")]
685#[derive(
686 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
687)]
688#[declaration_metadata(
689 initial = "none",
690 inherits,
691 applies_to = Text,
692 animation_type = Discrete,
693 property_group = Text,
694 computed_value_type = Unknown,
695 canonical_order = "n/a",
696)]
697#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
698#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-transform"))]
699#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
700#[derive(csskit_derives::NodeWithMetadata)]
701pub enum TextTransformStyleValue {}
702
703#[syntax(" <'text-wrap-mode'> || <'text-wrap-style'> ")]
715#[derive(
716 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
717)]
718#[declaration_metadata(
719 initial = "wrap",
720 inherits = Unknown,
721 applies_to = Unknown,
722 animation_type = Unknown,
723 percentages = Unknown,
724 longhands = TextWrapMode|TextWrapStyle,
725 property_group = Text,
726 computed_value_type = Unknown,
727 canonical_order = "per grammar",
728)]
729#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
730#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-wrap"))]
731#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
732#[derive(csskit_derives::NodeWithMetadata)]
733pub struct TextWrapStyleValue;
734
735#[syntax(" wrap | nowrap ")]
747#[derive(
748 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
749)]
750#[declaration_metadata(
751 initial = "wrap",
752 inherits,
753 applies_to = Text,
754 animation_type = Discrete,
755 shorthand_group = TextWrap,
756 property_group = Text,
757 computed_value_type = Unknown,
758 canonical_order = "per grammar",
759)]
760#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
761#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-wrap-mode"))]
762#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
763#[derive(csskit_derives::NodeWithMetadata)]
764pub enum TextWrapModeStyleValue {}
765
766#[syntax(" auto | balance | stable | pretty | avoid-orphans ")]
778#[derive(
779 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
780)]
781#[declaration_metadata(
782 initial = "auto",
783 inherits,
784 applies_to = Unknown,
785 animation_type = Discrete,
786 shorthand_group = TextWrap,
787 property_group = Text,
788 computed_value_type = Unknown,
789 canonical_order = "per grammar",
790)]
791#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
792#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-wrap-style"))]
793#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
794#[derive(csskit_derives::NodeWithMetadata)]
795pub enum TextWrapStyleStyleValue {}
796
797#[syntax(" collapse | discard | preserve | preserve-breaks | preserve-spaces | break-spaces ")]
857#[derive(
858 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
859)]
860#[declaration_metadata(
861 initial = "collapse",
862 inherits,
863 applies_to = Text,
864 animation_type = Discrete,
865 property_group = Text,
866 computed_value_type = Unknown,
867 canonical_order = "per grammar",
868)]
869#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
870#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.white-space-collapse"))]
871#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
872#[derive(csskit_derives::NodeWithMetadata)]
873pub enum WhiteSpaceCollapseStyleValue {}
874
875#[syntax(" none | discard-before || discard-after || discard-inner ")]
885#[derive(
886 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
887)]
888#[declaration_metadata(
889 initial = "none",
890 applies_to = Unknown,
891 animation_type = Discrete,
892 property_group = Text,
893 computed_value_type = Unknown,
894 canonical_order = "per grammar",
895)]
896#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
897#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.white-space-trim"))]
898#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
899#[derive(csskit_derives::NodeWithMetadata)]
900pub struct WhiteSpaceTrimStyleValue;
901
902#[syntax(" normal | break-all | keep-all | manual | auto-phrase | break-word ")]
914#[derive(
915 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
916)]
917#[declaration_metadata(
918 initial = "normal",
919 inherits,
920 applies_to = Text,
921 animation_type = Discrete,
922 property_group = Text,
923 computed_value_type = Unknown,
924 canonical_order = "n/a",
925)]
926#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
927#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.word-break"))]
928#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
929#[derive(csskit_derives::NodeWithMetadata)]
930pub enum WordBreakStyleValue {}
931
932#[syntax(" none | [ space | ideographic-space ] && auto-phrase? ")]
942#[derive(
943 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
944)]
945#[declaration_metadata(
946 initial = "none",
947 inherits,
948 applies_to = Text,
949 animation_type = Discrete,
950 property_group = Text,
951 computed_value_type = AsSpecified,
952 canonical_order = "per grammar",
953)]
954#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
955#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.word-space-transform"))]
956#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
957#[derive(csskit_derives::NodeWithMetadata)]
958pub enum WordSpaceTransformStyleValue {}
959
960#[syntax(" normal | <length-percentage> ")]
972#[derive(
973 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
974)]
975#[declaration_metadata(
976 initial = "normal",
977 inherits,
978 applies_to = Text,
979 animation_type = ByComputedValue,
980 percentages = Unknown,
981 property_group = Text,
982 computed_value_type = AbsoluteLengthOrPercentage,
983 canonical_order = "n/a",
984)]
985#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
986#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.word-spacing"))]
987#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
988#[derive(csskit_derives::NodeWithMetadata)]
989pub struct WordSpacingStyleValue;
990
991#[syntax(" normal | break-word | anywhere ")]
1001#[derive(
1002 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1003)]
1004#[declaration_metadata(
1005 initial = "normal",
1006 inherits,
1007 applies_to = Text,
1008 animation_type = Discrete,
1009 property_group = Text,
1010 computed_value_type = Unknown,
1011 canonical_order = "n/a",
1012)]
1013#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1014#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.word-wrap"))]
1015#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1016#[derive(csskit_derives::NodeWithMetadata)]
1017pub enum WordWrapStyleValue {}
1018
1019#[syntax(" auto | avoid | avoid-line | avoid-flex | line | flex ")]
1029#[derive(
1030 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1031)]
1032#[declaration_metadata(
1033 initial = "auto",
1034 applies_to = Unknown,
1035 animation_type = Discrete,
1036 property_group = Text,
1037 computed_value_type = Unknown,
1038 canonical_order = "per grammar",
1039)]
1040#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1041#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.wrap-after"))]
1042#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1043#[derive(csskit_derives::NodeWithMetadata)]
1044pub enum WrapAfterStyleValue {}
1045
1046#[syntax(" auto | avoid | avoid-line | avoid-flex | line | flex ")]
1056#[derive(
1057 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1058)]
1059#[declaration_metadata(
1060 initial = "auto",
1061 applies_to = Unknown,
1062 animation_type = Discrete,
1063 property_group = Text,
1064 computed_value_type = Unknown,
1065 canonical_order = "per grammar",
1066)]
1067#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1068#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.wrap-before"))]
1069#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1070#[derive(csskit_derives::NodeWithMetadata)]
1071pub enum WrapBeforeStyleValue {}
1072
1073#[syntax(" auto | avoid ")]
1083#[derive(
1084 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1085)]
1086#[declaration_metadata(
1087 initial = "auto",
1088 applies_to = Unknown,
1089 animation_type = Discrete,
1090 property_group = Text,
1091 computed_value_type = Unknown,
1092 canonical_order = "per grammar",
1093)]
1094#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1095#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.wrap-inside"))]
1096#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1097#[derive(csskit_derives::NodeWithMetadata)]
1098pub enum WrapInsideStyleValue {}