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(
377 " start | end | left | right | center | <string> | justify | match-parent | justify-all | -webkit-match-parent "
378)]
379#[derive(
380 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
381)]
382#[declaration_metadata(
383 initial = "start",
384 inherits,
385 applies_to = Block,
386 animation_type = Discrete,
387 percentages = Unknown,
388 property_group = Text,
389 computed_value_type = Unknown,
390 canonical_order = "n/a",
391)]
392#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
393#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-align"))]
394#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
395#[derive(csskit_derives::NodeWithMetadata)]
396pub enum TextAlignStyleValue {}
397
398#[syntax(" start | end | left | right | center | <string> | justify | match-parent | -webkit-match-parent ")]
408#[derive(
409 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
410)]
411#[declaration_metadata(
412 initial = "start",
413 inherits,
414 applies_to = Block,
415 animation_type = Discrete,
416 property_group = Text,
417 computed_value_type = Unknown,
418 canonical_order = "n/a",
419)]
420#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
421#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-align-all"))]
422#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
423#[derive(csskit_derives::NodeWithMetadata)]
424pub enum TextAlignAllStyleValue {}
425
426#[syntax(" auto | start | end | left | right | center | justify | match-parent ")]
438#[derive(
439 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
440)]
441#[declaration_metadata(
442 initial = "auto",
443 inherits,
444 applies_to = Block,
445 animation_type = Discrete,
446 property_group = Text,
447 computed_value_type = Unknown,
448 canonical_order = "n/a",
449)]
450#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
451#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-align-last"))]
452#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
453#[derive(csskit_derives::NodeWithMetadata)]
454pub enum TextAlignLastStyleValue {}
455
456#[syntax(" normal | <autospace> | auto ")]
468#[derive(
469 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
470)]
471#[declaration_metadata(
472 initial = "normal",
473 inherits,
474 applies_to = Text,
475 animation_type = Discrete,
476 property_group = Text,
477 computed_value_type = Unknown,
478 canonical_order = "per grammar",
479)]
480#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
481#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-autospace"))]
482#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
483#[derive(csskit_derives::NodeWithMetadata)]
484pub enum TextAutospaceStyleValue {}
485
486#[syntax(" [ none | grow | shrink ] [consistent | per-line | per-line-all]? <percentage>? ")]
496#[derive(
497 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
498)]
499#[declaration_metadata(
500 initial = "none",
501 inherits,
502 applies_to = Block,
503 animation_type = Discrete,
504 property_group = Text,
505 computed_value_type = Unknown,
506 canonical_order = "per grammar",
507)]
508#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
509#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-fit"))]
510#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
511#[derive(csskit_derives::NodeWithMetadata)]
512pub struct TextFitStyleValue;
513
514#[syntax(" none | start | end | left | right | center ")]
524#[derive(
525 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
526)]
527#[declaration_metadata(
528 initial = "none",
529 applies_to = Block,
530 animation_type = Discrete,
531 property_group = Text,
532 computed_value_type = Unknown,
533 canonical_order = "per grammar",
534)]
535#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
536#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-group-align"))]
537#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
538#[derive(csskit_derives::NodeWithMetadata)]
539pub enum TextGroupAlignStyleValue {}
540
541#[syntax(" [ <length-percentage> ] && hanging? && each-line? ")]
553#[derive(
554 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
555)]
556#[declaration_metadata(
557 initial = "0",
558 inherits,
559 applies_to = Block,
560 animation_type = ByComputedValue,
561 percentages = Unknown,
562 property_group = Text,
563 computed_value_type = Unknown,
564 canonical_order = "per grammar",
565)]
566#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
567#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-indent"))]
568#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
569#[derive(csskit_derives::NodeWithMetadata)]
570pub struct TextIndentStyleValue;
571
572#[syntax(" [ auto | none | inter-word | inter-character | ruby ] || no-compress ")]
584#[derive(
585 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
586)]
587#[declaration_metadata(
588 initial = "auto",
589 inherits,
590 applies_to = Text,
591 animation_type = Discrete,
592 property_group = Text,
593 computed_value_type = Unknown,
594 canonical_order = "n/a",
595)]
596#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
597#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-justify"))]
598#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
599#[derive(csskit_derives::NodeWithMetadata)]
600pub enum TextJustifyStyleValue {}
601
602#[syntax(" none | auto | <spacing-trim> || <autospace> ")]
612#[derive(
613 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
614)]
615#[declaration_metadata(
616 initial = "see individual properties",
617 inherits,
618 applies_to = Text,
619 animation_type = Discrete,
620 property_group = Text,
621 computed_value_type = Unknown,
622 canonical_order = "per grammar",
623)]
624#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
625#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-spacing"))]
626#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
627#[derive(csskit_derives::NodeWithMetadata)]
628pub struct TextSpacingStyleValue;
629
630#[syntax(" <spacing-trim> | auto ")]
642#[derive(
643 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
644)]
645#[declaration_metadata(
646 initial = "normal",
647 inherits,
648 applies_to = Text,
649 animation_type = Discrete,
650 property_group = Text,
651 computed_value_type = Unknown,
652 canonical_order = "per grammar",
653)]
654#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
655#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-spacing-trim"))]
656#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
657#[derive(csskit_derives::NodeWithMetadata)]
658pub struct TextSpacingTrimStyleValue;
659
660#[syntax(" none | [capitalize | uppercase | lowercase ] || full-width || full-size-kana | math-auto ")]
672#[derive(
673 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
674)]
675#[declaration_metadata(
676 initial = "none",
677 inherits,
678 applies_to = Text,
679 animation_type = Discrete,
680 property_group = Text,
681 computed_value_type = Unknown,
682 canonical_order = "n/a",
683)]
684#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
685#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-transform"))]
686#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
687#[derive(csskit_derives::NodeWithMetadata)]
688pub enum TextTransformStyleValue {}
689
690#[syntax(" <'text-wrap-mode'> || <'text-wrap-style'> ")]
702#[derive(
703 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
704)]
705#[declaration_metadata(
706 initial = "wrap",
707 inherits = Unknown,
708 applies_to = Unknown,
709 animation_type = Unknown,
710 percentages = Unknown,
711 longhands = TextWrapMode|TextWrapStyle,
712 property_group = Text,
713 computed_value_type = Unknown,
714 canonical_order = "per grammar",
715)]
716#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
717#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-wrap"))]
718#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
719#[derive(csskit_derives::NodeWithMetadata)]
720pub struct TextWrapStyleValue;
721
722#[syntax(" wrap | nowrap ")]
734#[derive(
735 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
736)]
737#[declaration_metadata(
738 initial = "wrap",
739 inherits,
740 applies_to = Text,
741 animation_type = Discrete,
742 shorthand_group = TextWrap,
743 property_group = Text,
744 computed_value_type = Unknown,
745 canonical_order = "per grammar",
746)]
747#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
748#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-wrap-mode"))]
749#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
750#[derive(csskit_derives::NodeWithMetadata)]
751pub enum TextWrapModeStyleValue {}
752
753#[syntax(" auto | balance | stable | pretty | avoid-orphans ")]
765#[derive(
766 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
767)]
768#[declaration_metadata(
769 initial = "auto",
770 inherits,
771 applies_to = Unknown,
772 animation_type = Discrete,
773 shorthand_group = TextWrap,
774 property_group = Text,
775 computed_value_type = Unknown,
776 canonical_order = "per grammar",
777)]
778#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
779#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-wrap-style"))]
780#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
781#[derive(csskit_derives::NodeWithMetadata)]
782pub enum TextWrapStyleStyleValue {}
783
784#[syntax(
796 " normal | pre | pre-wrap | pre-line | <'white-space-collapse'> || <'text-wrap-mode'> || <'white-space-trim'> "
797)]
798#[derive(
799 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
800)]
801#[declaration_metadata(
802 initial = "normal",
803 inherits = Unknown,
804 applies_to = Text,
805 animation_type = Discrete,
806 property_group = Text,
807 computed_value_type = Unknown,
808 canonical_order = "n/a",
809)]
810#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
811#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.white-space"))]
812#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
813#[derive(csskit_derives::NodeWithMetadata)]
814pub enum WhiteSpaceStyleValue {}
815
816#[syntax(" collapse | discard | preserve | preserve-breaks | preserve-spaces | break-spaces ")]
828#[derive(
829 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
830)]
831#[declaration_metadata(
832 initial = "collapse",
833 inherits,
834 applies_to = Text,
835 animation_type = Discrete,
836 property_group = Text,
837 computed_value_type = Unknown,
838 canonical_order = "per grammar",
839)]
840#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
841#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.white-space-collapse"))]
842#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
843#[derive(csskit_derives::NodeWithMetadata)]
844pub enum WhiteSpaceCollapseStyleValue {}
845
846#[syntax(" none | discard-before || discard-after || discard-inner ")]
856#[derive(
857 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
858)]
859#[declaration_metadata(
860 initial = "none",
861 applies_to = Unknown,
862 animation_type = Discrete,
863 property_group = Text,
864 computed_value_type = Unknown,
865 canonical_order = "per grammar",
866)]
867#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
868#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.white-space-trim"))]
869#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
870#[derive(csskit_derives::NodeWithMetadata)]
871pub struct WhiteSpaceTrimStyleValue;
872
873#[syntax(" normal | break-all | keep-all | manual | auto-phrase | break-word ")]
885#[derive(
886 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
887)]
888#[declaration_metadata(
889 initial = "normal",
890 inherits,
891 applies_to = Text,
892 animation_type = Discrete,
893 property_group = Text,
894 computed_value_type = Unknown,
895 canonical_order = "n/a",
896)]
897#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
898#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.word-break"))]
899#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
900#[derive(csskit_derives::NodeWithMetadata)]
901pub enum WordBreakStyleValue {}
902
903#[syntax(" none | [ space | ideographic-space ] && auto-phrase? ")]
913#[derive(
914 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
915)]
916#[declaration_metadata(
917 initial = "none",
918 inherits,
919 applies_to = Text,
920 animation_type = Discrete,
921 property_group = Text,
922 computed_value_type = AsSpecified,
923 canonical_order = "per grammar",
924)]
925#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
926#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.word-space-transform"))]
927#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
928#[derive(csskit_derives::NodeWithMetadata)]
929pub enum WordSpaceTransformStyleValue {}
930
931#[syntax(" normal | <length-percentage> ")]
943#[derive(
944 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
945)]
946#[declaration_metadata(
947 initial = "normal",
948 inherits,
949 applies_to = Text,
950 animation_type = ByComputedValue,
951 percentages = Unknown,
952 property_group = Text,
953 computed_value_type = AbsoluteLengthOrPercentage,
954 canonical_order = "n/a",
955)]
956#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
957#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.word-spacing"))]
958#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
959#[derive(csskit_derives::NodeWithMetadata)]
960pub struct WordSpacingStyleValue;
961
962#[syntax(" auto | avoid | avoid-line | avoid-flex | line | flex ")]
972#[derive(
973 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
974)]
975#[declaration_metadata(
976 initial = "auto",
977 applies_to = Unknown,
978 animation_type = Discrete,
979 property_group = Text,
980 computed_value_type = Unknown,
981 canonical_order = "per grammar",
982)]
983#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
984#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.wrap-after"))]
985#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
986#[derive(csskit_derives::NodeWithMetadata)]
987pub enum WrapAfterStyleValue {}
988
989#[syntax(" auto | avoid | avoid-line | avoid-flex | line | flex ")]
999#[derive(
1000 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1001)]
1002#[declaration_metadata(
1003 initial = "auto",
1004 applies_to = Unknown,
1005 animation_type = Discrete,
1006 property_group = Text,
1007 computed_value_type = Unknown,
1008 canonical_order = "per grammar",
1009)]
1010#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1011#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.wrap-before"))]
1012#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1013#[derive(csskit_derives::NodeWithMetadata)]
1014pub enum WrapBeforeStyleValue {}
1015
1016#[syntax(" auto | avoid ")]
1026#[derive(
1027 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1028)]
1029#[declaration_metadata(
1030 initial = "auto",
1031 applies_to = Unknown,
1032 animation_type = Discrete,
1033 property_group = Text,
1034 computed_value_type = Unknown,
1035 canonical_order = "per grammar",
1036)]
1037#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1038#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.wrap-inside"))]
1039#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1040#[derive(csskit_derives::NodeWithMetadata)]
1041pub enum WrapInsideStyleValue {}