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<'a> {}
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<'a>;
69
70#[syntax(" [ auto | <integer [0,∞]> ]{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<'a>;
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<'a> {}
127
128#[syntax(" no-limit | <integer [0,∞]> ")]
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<'a> {}
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<'a>;
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<'a> {}
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<'a>;
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<'a> {}
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<'a>;
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<'a> {}
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<'a>;
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<'a> {}
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<'a> {}
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<'a> {}
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<'a> {}
485
486#[syntax(" [ none | grow | shrink ] [consistent | per-line | per-line-all]? <percentage>? ")]
498#[derive(
499 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
500)]
501#[declaration_metadata(
502 initial = "none",
503 inherits,
504 applies_to = Block,
505 animation_type = Discrete,
506 property_group = Text,
507 computed_value_type = Unknown,
508 canonical_order = "per grammar",
509)]
510#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
511#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-fit"))]
512#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
513#[derive(csskit_derives::NodeWithMetadata)]
514pub struct TextFitStyleValue<'a>;
515
516#[syntax(" none | start | end | left | right | center ")]
526#[derive(
527 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
528)]
529#[declaration_metadata(
530 initial = "none",
531 applies_to = Block,
532 animation_type = Discrete,
533 property_group = Text,
534 computed_value_type = Unknown,
535 canonical_order = "per grammar",
536)]
537#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
538#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-group-align"))]
539#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
540#[derive(csskit_derives::NodeWithMetadata)]
541pub enum TextGroupAlignStyleValue<'a> {}
542
543#[syntax(" [ <length-percentage> ] && hanging? && each-line? ")]
555#[derive(
556 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
557)]
558#[declaration_metadata(
559 initial = "0",
560 inherits,
561 applies_to = Block,
562 animation_type = ByComputedValue,
563 percentages = Unknown,
564 property_group = Text,
565 computed_value_type = Unknown,
566 canonical_order = "per grammar",
567)]
568#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
569#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-indent"))]
570#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
571#[derive(csskit_derives::NodeWithMetadata)]
572pub struct TextIndentStyleValue<'a>;
573
574#[syntax(" [ auto | none | inter-word | inter-character | ruby ] || no-compress ")]
586#[derive(
587 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
588)]
589#[declaration_metadata(
590 initial = "auto",
591 inherits,
592 applies_to = Text,
593 animation_type = Discrete,
594 property_group = Text,
595 computed_value_type = Unknown,
596 canonical_order = "n/a",
597)]
598#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
599#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-justify"))]
600#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
601#[derive(csskit_derives::NodeWithMetadata)]
602pub enum TextJustifyStyleValue<'a> {}
603
604#[syntax(" none | auto | <spacing-trim> || <autospace> ")]
614#[derive(
615 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
616)]
617#[declaration_metadata(
618 initial = "see individual properties",
619 inherits,
620 applies_to = Text,
621 animation_type = Discrete,
622 property_group = Text,
623 computed_value_type = Unknown,
624 canonical_order = "per grammar",
625)]
626#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
627#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-spacing"))]
628#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
629#[derive(csskit_derives::NodeWithMetadata)]
630pub struct TextSpacingStyleValue<'a>;
631
632#[syntax(" <spacing-trim> | auto ")]
644#[derive(
645 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
646)]
647#[declaration_metadata(
648 initial = "normal",
649 inherits,
650 applies_to = Text,
651 animation_type = Discrete,
652 property_group = Text,
653 computed_value_type = Unknown,
654 canonical_order = "per grammar",
655)]
656#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
657#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-spacing-trim"))]
658#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
659#[derive(csskit_derives::NodeWithMetadata)]
660pub struct TextSpacingTrimStyleValue<'a>;
661
662#[syntax(" none | [capitalize | uppercase | lowercase ] || full-width || full-size-kana | math-auto ")]
674#[derive(
675 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
676)]
677#[declaration_metadata(
678 initial = "none",
679 inherits,
680 applies_to = Text,
681 animation_type = Discrete,
682 property_group = Text,
683 computed_value_type = Unknown,
684 canonical_order = "n/a",
685)]
686#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
687#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-transform"))]
688#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
689#[derive(csskit_derives::NodeWithMetadata)]
690pub enum TextTransformStyleValue<'a> {}
691
692#[syntax(" <'text-wrap-mode'> || <'text-wrap-style'> ")]
704#[derive(
705 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
706)]
707#[declaration_metadata(
708 initial = "wrap",
709 inherits = Unknown,
710 applies_to = Unknown,
711 animation_type = Unknown,
712 percentages = Unknown,
713 longhands = TextWrapMode|TextWrapStyle,
714 property_group = Text,
715 computed_value_type = Unknown,
716 canonical_order = "per grammar",
717)]
718#[declaration_writes(TextWrapMode?, TextWrapStyle?)]
719#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
720#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-wrap"))]
721#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
722#[derive(csskit_derives::NodeWithMetadata)]
723pub struct TextWrapStyleValue<'a>;
724
725#[syntax(" wrap | nowrap ")]
737#[derive(
738 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
739)]
740#[declaration_metadata(
741 initial = "wrap",
742 inherits,
743 applies_to = Text,
744 animation_type = Discrete,
745 shorthands = TextWrap,
746 property_group = Text,
747 computed_value_type = Unknown,
748 canonical_order = "per grammar",
749)]
750#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
751#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-wrap-mode"))]
752#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
753#[derive(csskit_derives::NodeWithMetadata)]
754pub enum TextWrapModeStyleValue<'a> {}
755
756#[syntax(" auto | balance | stable | pretty | avoid-short-last-line ")]
768#[derive(
769 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
770)]
771#[declaration_metadata(
772 initial = "auto",
773 inherits,
774 applies_to = Unknown,
775 animation_type = Discrete,
776 shorthands = TextWrap,
777 property_group = Text,
778 computed_value_type = Unknown,
779 canonical_order = "per grammar",
780)]
781#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
782#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-wrap-style"))]
783#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
784#[derive(csskit_derives::NodeWithMetadata)]
785pub enum TextWrapStyleStyleValue<'a> {}
786
787#[syntax(
799 " normal | pre | pre-wrap | pre-line | <'white-space-collapse'> || <'text-wrap-mode'> || <'white-space-trim'> "
800)]
801#[derive(
802 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
803)]
804#[declaration_metadata(
805 initial = "normal",
806 inherits = Unknown,
807 applies_to = Text,
808 animation_type = Discrete,
809 property_group = Text,
810 computed_value_type = Unknown,
811 canonical_order = "n/a",
812)]
813#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
814#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.white-space"))]
815#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
816#[derive(csskit_derives::NodeWithMetadata)]
817pub enum WhiteSpaceStyleValue<'a> {}
818
819#[syntax(" collapse | discard | preserve | preserve-breaks | preserve-spaces | break-spaces ")]
831#[derive(
832 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
833)]
834#[declaration_metadata(
835 initial = "collapse",
836 inherits,
837 applies_to = Text,
838 animation_type = Discrete,
839 property_group = Text,
840 computed_value_type = Unknown,
841 canonical_order = "per grammar",
842)]
843#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
844#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.white-space-collapse"))]
845#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
846#[derive(csskit_derives::NodeWithMetadata)]
847pub enum WhiteSpaceCollapseStyleValue<'a> {}
848
849#[syntax(" none | discard-before || discard-after || discard-inner ")]
859#[derive(
860 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
861)]
862#[declaration_metadata(
863 initial = "none",
864 applies_to = Unknown,
865 animation_type = Discrete,
866 property_group = Text,
867 computed_value_type = Unknown,
868 canonical_order = "per grammar",
869)]
870#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
871#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.white-space-trim"))]
872#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
873#[derive(csskit_derives::NodeWithMetadata)]
874pub struct WhiteSpaceTrimStyleValue<'a>;
875
876#[syntax(" normal | break-all | keep-all | manual | auto-phrase | break-word ")]
888#[derive(
889 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
890)]
891#[declaration_metadata(
892 initial = "normal",
893 inherits,
894 applies_to = Text,
895 animation_type = Discrete,
896 property_group = Text,
897 computed_value_type = Unknown,
898 canonical_order = "n/a",
899)]
900#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
901#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.word-break"))]
902#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
903#[derive(csskit_derives::NodeWithMetadata)]
904pub enum WordBreakStyleValue<'a> {}
905
906#[syntax(" none | [ space | ideographic-space ] && auto-phrase? ")]
916#[derive(
917 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
918)]
919#[declaration_metadata(
920 initial = "none",
921 inherits,
922 applies_to = Text,
923 animation_type = Discrete,
924 property_group = Text,
925 computed_value_type = AsSpecified,
926 canonical_order = "per grammar",
927)]
928#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
929#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.word-space-transform"))]
930#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
931#[derive(csskit_derives::NodeWithMetadata)]
932pub enum WordSpaceTransformStyleValue<'a> {}
933
934#[syntax(" normal | <length-percentage> ")]
946#[derive(
947 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
948)]
949#[declaration_metadata(
950 initial = "normal",
951 inherits,
952 applies_to = Text,
953 animation_type = ByComputedValue,
954 percentages = Unknown,
955 property_group = Text,
956 computed_value_type = AbsoluteLengthOrPercentage,
957 canonical_order = "n/a",
958)]
959#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
960#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.word-spacing"))]
961#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
962#[derive(csskit_derives::NodeWithMetadata)]
963pub struct WordSpacingStyleValue<'a>;
964
965#[syntax(" auto | avoid | avoid-line | avoid-flex | line | flex ")]
975#[derive(
976 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
977)]
978#[declaration_metadata(
979 initial = "auto",
980 applies_to = Unknown,
981 animation_type = Discrete,
982 property_group = Text,
983 computed_value_type = Unknown,
984 canonical_order = "per grammar",
985)]
986#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
987#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.wrap-after"))]
988#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
989#[derive(csskit_derives::NodeWithMetadata)]
990pub enum WrapAfterStyleValue<'a> {}
991
992#[syntax(" auto | avoid | avoid-line | avoid-flex | line | flex ")]
1002#[derive(
1003 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1004)]
1005#[declaration_metadata(
1006 initial = "auto",
1007 applies_to = Unknown,
1008 animation_type = Discrete,
1009 property_group = Text,
1010 computed_value_type = Unknown,
1011 canonical_order = "per grammar",
1012)]
1013#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1014#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.wrap-before"))]
1015#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1016#[derive(csskit_derives::NodeWithMetadata)]
1017pub enum WrapBeforeStyleValue<'a> {}
1018
1019#[syntax(" auto | avoid ")]
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-inside"))]
1042#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1043#[derive(csskit_derives::NodeWithMetadata)]
1044pub enum WrapInsideStyleValue<'a> {}