css_ast/values/text/mod.rs
1// AUTO-GENERATED from w3c/csswg-drafts
2// Commit: https://github.com/w3c/csswg-drafts/commit/c68df4265b71c6c1f927d42d76868cded8e931be
3// Do not edit this file directly.
4#![allow(warnings)]
5//! https://drafts.csswg.org/css-text-4/
6
7mod impls;
8use super::prelude::*;
9use impls::*;
10// /// Represents the style value for `hanging-punctuation` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#hanging-punctuation).
11// ///
12// /// The hanging-punctuation CSS property puts punctuation characters outside of the box to align the text with the rest of the document.
13// ///
14// /// The grammar is defined as:
15// ///
16// /// ```text,ignore
17// /// none | [ first || [ force-end | allow-end ] || last ]
18// /// ```
19// ///
20// /// https://drafts.csswg.org/css-text-4/#hanging-punctuation
21// #[syntax(" none | [ first || [ force-end | allow-end ] || last ] ")]
22// #[derive(
23// Parse,
24// Peek,
25// ToSpan,
26// ToCursors,
27// DeclarationMetadata,
28// SemanticEq,
29// Debug,
30// Clone,
31// PartialEq,
32// Eq,
33// PartialOrd,
34// Ord,
35// Hash,
36// )]
37// #[declaration_metadata(
38// initial = "none",
39// inherits,
40// applies_to = Text,
41// animation_type = Discrete,
42// property_group = Text,
43// computed_value_type = Unknown,
44// canonical_order = "per grammar",
45// )]
46// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
47// #[cfg_attr(
48// feature = "css_feature_data",
49// derive(ToCSSFeature),
50// css_feature("css.properties.hanging-punctuation")
51// )]
52// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
53// pub struct HangingPunctuationStyleValue;
54
55/// Represents the style value for `hyphenate-character` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#hyphenate-character).
56///
57/// The hyphenate-character CSS property sets the character or string to use at the end of a line before a line break.
58///
59/// The grammar is defined as:
60///
61/// ```text,ignore
62/// auto | <string>
63/// ```
64///
65/// https://drafts.csswg.org/css-text-4/#hyphenate-character
66#[syntax(" auto | <string> ")]
67#[derive(
68 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
69)]
70#[declaration_metadata(
71 initial = "auto",
72 inherits,
73 applies_to = Text,
74 animation_type = Discrete,
75 property_group = Text,
76 computed_value_type = Unknown,
77 canonical_order = "per grammar",
78)]
79#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
80#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.hyphenate-character"))]
81#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
82pub struct HyphenateCharacterStyleValue;
83
84// /// Represents the style value for `hyphenate-limit-chars` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#hyphenate-limit-chars).
85// ///
86// /// The hyphenate-limit-chars CSS property sets the number of characters in a word before it is hyphenated and the minimum number of characters on either side of the hyphen.
87// ///
88// /// The grammar is defined as:
89// ///
90// /// ```text,ignore
91// /// [ auto | <integer> ]{1,3}
92// /// ```
93// ///
94// /// https://drafts.csswg.org/css-text-4/#hyphenate-limit-chars
95// #[syntax(" [ auto | <integer> ]{1,3} ")]
96// #[derive(
97// Parse,
98// Peek,
99// ToSpan,
100// ToCursors,
101// DeclarationMetadata,
102// SemanticEq,
103// Debug,
104// Clone,
105// PartialEq,
106// Eq,
107// PartialOrd,
108// Ord,
109// Hash,
110// )]
111// #[declaration_metadata(
112// initial = "auto",
113// inherits,
114// applies_to = Text,
115// animation_type = ByComputedValue,
116// property_group = Text,
117// computed_value_type = Unknown,
118// canonical_order = "per grammar",
119// )]
120// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
121// #[cfg_attr(
122// feature = "css_feature_data",
123// derive(ToCSSFeature),
124// css_feature("css.properties.hyphenate-limit-chars")
125// )]
126// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
127// pub struct HyphenateLimitCharsStyleValue;
128
129/// Represents the style value for `hyphenate-limit-last` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#hyphenate-limit-last).
130///
131/// The grammar is defined as:
132///
133/// ```text,ignore
134/// none | always | column | page | spread
135/// ```
136///
137/// https://drafts.csswg.org/css-text-4/#hyphenate-limit-last
138#[syntax(" none | always | column | page | spread ")]
139#[derive(
140 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
141)]
142#[declaration_metadata(
143 initial = "none",
144 inherits,
145 applies_to = Block,
146 animation_type = Discrete,
147 property_group = Text,
148 computed_value_type = Unknown,
149 canonical_order = "per grammar",
150)]
151#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
152#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.hyphenate-limit-last"))]
153#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
154pub enum HyphenateLimitLastStyleValue {}
155
156/// Represents the style value for `hyphenate-limit-lines` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#hyphenate-limit-lines).
157///
158/// The grammar is defined as:
159///
160/// ```text,ignore
161/// no-limit | <integer>
162/// ```
163///
164/// https://drafts.csswg.org/css-text-4/#hyphenate-limit-lines
165#[syntax(" no-limit | <integer> ")]
166#[derive(
167 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
168)]
169#[declaration_metadata(
170 initial = "no-limit",
171 inherits,
172 applies_to = Block,
173 animation_type = ByComputedValue,
174 property_group = Text,
175 computed_value_type = Unknown,
176 canonical_order = "per grammar",
177)]
178#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
179#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.hyphenate-limit-lines"))]
180#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
181pub enum HyphenateLimitLinesStyleValue {}
182
183/// Represents the style value for `hyphenate-limit-zone` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#hyphenate-limit-zone).
184///
185/// The grammar is defined as:
186///
187/// ```text,ignore
188/// <length-percentage>
189/// ```
190///
191/// https://drafts.csswg.org/css-text-4/#hyphenate-limit-zone
192#[syntax(" <length-percentage> ")]
193#[derive(
194 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
195)]
196#[declaration_metadata(
197 initial = "0",
198 inherits,
199 applies_to = Block,
200 animation_type = ByComputedValue,
201 percentages = LineBox,
202 property_group = Text,
203 computed_value_type = Unknown,
204 canonical_order = "per grammar",
205)]
206#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
207#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.hyphenate-limit-zone"))]
208#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
209pub struct HyphenateLimitZoneStyleValue;
210
211/// Represents the style value for `hyphens` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#hyphens).
212///
213/// The hyphens CSS property controls when long words are broken by line wrapping. Although called hyphens, the property applies to word-splitting behavior across languages, such as customary spelling changes or the use of other characters. Support for non-English languages varies significantly.
214///
215/// The grammar is defined as:
216///
217/// ```text,ignore
218/// none | manual | auto
219/// ```
220///
221/// https://drafts.csswg.org/css-text-4/#hyphens
222#[syntax(" none | manual | auto ")]
223#[derive(
224 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
225)]
226#[declaration_metadata(
227 initial = "manual",
228 inherits,
229 applies_to = Text,
230 animation_type = Discrete,
231 property_group = Text,
232 computed_value_type = Unknown,
233 canonical_order = "n/a",
234)]
235#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
236#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.hyphens"))]
237#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
238pub enum HyphensStyleValue {}
239
240/// Represents the style value for `letter-spacing` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#letter-spacing).
241///
242/// The letter-spacing CSS property controls the amount of space between each letter in an element or block of text.
243///
244/// The grammar is defined as:
245///
246/// ```text,ignore
247/// normal | <length-percentage>
248/// ```
249///
250/// https://drafts.csswg.org/css-text-4/#letter-spacing
251#[syntax(" normal | <length-percentage> ")]
252#[derive(
253 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
254)]
255#[declaration_metadata(
256 initial = "normal",
257 inherits,
258 applies_to = Unknown,
259 animation_type = ByComputedValue,
260 percentages = FontSize,
261 property_group = Text,
262 computed_value_type = AbsoluteLengthOrPercentage,
263 canonical_order = "n/a",
264)]
265#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
266#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.letter-spacing"))]
267#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
268pub enum LetterSpacingStyleValue {}
269
270/// Represents the style value for `line-break` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#line-break).
271///
272/// The line-break CSS property sets how strictly to apply rules for wrapping text to new lines, especially for symbols and punctuation.
273///
274/// The grammar is defined as:
275///
276/// ```text,ignore
277/// auto | loose | normal | strict | anywhere
278/// ```
279///
280/// https://drafts.csswg.org/css-text-4/#line-break
281#[syntax(" auto | loose | normal | strict | anywhere ")]
282#[derive(
283 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
284)]
285#[declaration_metadata(
286 initial = "auto",
287 inherits,
288 applies_to = Text,
289 animation_type = Discrete,
290 property_group = Text,
291 computed_value_type = Unknown,
292 canonical_order = "n/a",
293)]
294#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
295#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.line-break"))]
296#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
297pub enum LineBreakStyleValue {}
298
299/// Represents the style value for `line-padding` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#line-padding).
300///
301/// The grammar is defined as:
302///
303/// ```text,ignore
304/// <length>
305/// ```
306///
307/// https://drafts.csswg.org/css-text-4/#line-padding
308#[syntax(" <length> ")]
309#[derive(
310 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
311)]
312#[declaration_metadata(
313 initial = "0",
314 inherits,
315 applies_to = Unknown,
316 animation_type = ByComputedValue,
317 property_group = Text,
318 computed_value_type = AbsoluteLength,
319 canonical_order = "per grammar",
320)]
321#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
322#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.line-padding"))]
323#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
324pub struct LinePaddingStyleValue;
325
326/// Represents the style value for `overflow-wrap` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#overflow-wrap).
327///
328/// The overflow-wrap CSS property breaks a line of text onto multiple lines inside the targeted element in an otherwise unbreakable place to prevent overflow. The legacy property is word-wrap.
329///
330/// The grammar is defined as:
331///
332/// ```text,ignore
333/// normal | break-word | anywhere
334/// ```
335///
336/// https://drafts.csswg.org/css-text-4/#overflow-wrap
337#[syntax(" normal | break-word | anywhere ")]
338#[derive(
339 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
340)]
341#[declaration_metadata(
342 initial = "normal",
343 inherits,
344 applies_to = Text,
345 animation_type = Discrete,
346 property_group = Text,
347 computed_value_type = Unknown,
348 canonical_order = "n/a",
349)]
350#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
351#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.overflow-wrap"))]
352#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
353pub enum OverflowWrapStyleValue {}
354
355/// Represents the style value for `tab-size` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#tab-size).
356///
357/// The tab-size CSS property sets the width of the tab character.
358///
359/// The grammar is defined as:
360///
361/// ```text,ignore
362/// <number [0,∞]> | <length [0,∞]>
363/// ```
364///
365/// https://drafts.csswg.org/css-text-4/#tab-size
366#[syntax(" <number [0,∞]> | <length [0,∞]> ")]
367#[derive(
368 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
369)]
370#[declaration_metadata(
371 initial = "8",
372 inherits,
373 applies_to = Text,
374 animation_type = ByComputedValue,
375 property_group = Text,
376 computed_value_type = SpecifiedKeywordPlusAbsoluteLength,
377 canonical_order = "n/a",
378)]
379#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
380#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.tab-size"))]
381#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
382pub struct TabSizeStyleValue;
383
384/// Represents the style value for `text-align` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#text-align).
385///
386/// The text-align CSS property sets the horizontal placement of the inner content of a block element.
387///
388/// The grammar is defined as:
389///
390/// ```text,ignore
391/// start | end | left | right | center | <string> | justify | match-parent | justify-all
392/// ```
393///
394/// https://drafts.csswg.org/css-text-4/#text-align
395#[syntax(" start | end | left | right | center | <string> | justify | match-parent | justify-all ")]
396#[derive(
397 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
398)]
399#[declaration_metadata(
400 initial = "start",
401 inherits,
402 applies_to = Block,
403 animation_type = Discrete,
404 percentages = Unknown,
405 property_group = Text,
406 computed_value_type = Unknown,
407 canonical_order = "n/a",
408)]
409#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
410#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-align"))]
411#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
412pub enum TextAlignStyleValue {}
413
414/// Represents the style value for `text-align-all` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#text-align-all).
415///
416/// The grammar is defined as:
417///
418/// ```text,ignore
419/// start | end | left | right | center | <string> | justify | match-parent
420/// ```
421///
422/// https://drafts.csswg.org/css-text-4/#text-align-all
423#[syntax(" start | end | left | right | center | <string> | justify | match-parent ")]
424#[derive(
425 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
426)]
427#[declaration_metadata(
428 initial = "start",
429 inherits,
430 applies_to = Block,
431 animation_type = Discrete,
432 property_group = Text,
433 computed_value_type = Unknown,
434 canonical_order = "n/a",
435)]
436#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
437#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-align-all"))]
438#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
439pub enum TextAlignAllStyleValue {}
440
441/// Represents the style value for `text-align-last` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#text-align-last).
442///
443/// The text-align-last CSS property sets the alignment of the last line of text before a forced line break.
444///
445/// The grammar is defined as:
446///
447/// ```text,ignore
448/// auto | start | end | left | right | center | justify | match-parent
449/// ```
450///
451/// https://drafts.csswg.org/css-text-4/#text-align-last
452#[syntax(" auto | start | end | left | right | center | justify | match-parent ")]
453#[derive(
454 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
455)]
456#[declaration_metadata(
457 initial = "auto",
458 inherits,
459 applies_to = Block,
460 animation_type = Discrete,
461 property_group = Text,
462 computed_value_type = Unknown,
463 canonical_order = "n/a",
464)]
465#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
466#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-align-last"))]
467#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
468pub enum TextAlignLastStyleValue {}
469
470/// Represents the style value for `text-autospace` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#text-autospace).
471///
472/// The text-autospace CSS property sets whether and how to insert spaces in inter-script text (such as when mixing Latin and Chinese characters) and around punctuation.
473///
474/// The grammar is defined as:
475///
476/// ```text,ignore
477/// normal | <autospace> | auto
478/// ```
479///
480/// https://drafts.csswg.org/css-text-4/#text-autospace
481#[syntax(" normal | <autospace> | auto ")]
482#[derive(
483 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
484)]
485#[declaration_metadata(
486 initial = "normal",
487 inherits,
488 applies_to = Text,
489 animation_type = Discrete,
490 property_group = Text,
491 computed_value_type = Unknown,
492 canonical_order = "per grammar",
493)]
494#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
495#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-autospace"))]
496#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
497pub enum TextAutospaceStyleValue {}
498
499/// Represents the style value for `text-group-align` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#text-group-align).
500///
501/// The grammar is defined as:
502///
503/// ```text,ignore
504/// none | start | end | left | right | center
505/// ```
506///
507/// https://drafts.csswg.org/css-text-4/#text-group-align
508#[syntax(" none | start | end | left | right | center ")]
509#[derive(
510 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
511)]
512#[declaration_metadata(
513 initial = "none",
514 applies_to = Block,
515 animation_type = Discrete,
516 property_group = Text,
517 computed_value_type = Unknown,
518 canonical_order = "per grammar",
519)]
520#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
521#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-group-align"))]
522#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
523pub enum TextGroupAlignStyleValue {}
524
525// /// Represents the style value for `text-indent` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#text-indent).
526// ///
527// /// The text-indent CSS property sets the size of the empty space (indentation) at the beginning of lines in a text.
528// ///
529// /// The grammar is defined as:
530// ///
531// /// ```text,ignore
532// /// [ <length-percentage> ] && hanging? && each-line?
533// /// ```
534// ///
535// /// https://drafts.csswg.org/css-text-4/#text-indent
536// #[syntax(" [ <length-percentage> ] && hanging? && each-line? ")]
537// #[derive(
538// Parse,
539// Peek,
540// ToSpan,
541// ToCursors,
542// DeclarationMetadata,
543// SemanticEq,
544// Debug,
545// Clone,
546// PartialEq,
547// Eq,
548// PartialOrd,
549// Ord,
550// Hash,
551// )]
552// #[declaration_metadata(
553// initial = "0",
554// inherits,
555// applies_to = Block,
556// animation_type = ByComputedValue,
557// percentages = Unknown,
558// property_group = Text,
559// computed_value_type = Unknown,
560// canonical_order = "per grammar",
561// )]
562// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
563// #[cfg_attr(
564// feature = "css_feature_data",
565// derive(ToCSSFeature),
566// css_feature("css.properties.text-indent")
567// )]
568// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
569// pub struct TextIndentStyleValue;
570
571// /// Represents the style value for `text-justify` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#text-justify).
572// ///
573// /// The text-justify CSS property sets the justification method of text when text-align: justify is set.
574// ///
575// /// The grammar is defined as:
576// ///
577// /// ```text,ignore
578// /// [ auto | none | inter-word | inter-character | ruby ] || no-compress
579// /// ```
580// ///
581// /// https://drafts.csswg.org/css-text-4/#text-justify
582// #[syntax(" [ auto | none | inter-word | inter-character | ruby ] || no-compress ")]
583// #[derive(
584// Parse,
585// Peek,
586// ToSpan,
587// ToCursors,
588// DeclarationMetadata,
589// SemanticEq,
590// Debug,
591// Clone,
592// PartialEq,
593// Eq,
594// PartialOrd,
595// Ord,
596// Hash,
597// )]
598// #[declaration_metadata(
599// initial = "auto",
600// inherits,
601// applies_to = Text,
602// animation_type = Discrete,
603// property_group = Text,
604// computed_value_type = Unknown,
605// canonical_order = "n/a",
606// )]
607// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
608// #[cfg_attr(
609// feature = "css_feature_data",
610// derive(ToCSSFeature),
611// css_feature("css.properties.text-justify")
612// )]
613// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
614// pub struct TextJustifyStyleValue;
615
616// /// Represents the style value for `text-spacing` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#text-spacing).
617// ///
618// /// The grammar is defined as:
619// ///
620// /// ```text,ignore
621// /// none | auto | <spacing-trim> || <autospace>
622// /// ```
623// ///
624// /// https://drafts.csswg.org/css-text-4/#text-spacing
625// #[syntax(" none | auto | <spacing-trim> || <autospace> ")]
626// #[derive(
627// Parse,
628// Peek,
629// ToSpan,
630// ToCursors,
631// DeclarationMetadata,
632// SemanticEq,
633// Debug,
634// Clone,
635// PartialEq,
636// Eq,
637// PartialOrd,
638// Ord,
639// Hash,
640// )]
641// #[declaration_metadata(
642// initial = "see individual properties",
643// inherits,
644// applies_to = Text,
645// animation_type = Discrete,
646// property_group = Text,
647// computed_value_type = Unknown,
648// canonical_order = "per grammar",
649// )]
650// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
651// #[cfg_attr(
652// feature = "css_feature_data",
653// derive(ToCSSFeature),
654// css_feature("css.properties.text-spacing")
655// )]
656// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
657// pub struct TextSpacingStyleValue;
658
659/// Represents the style value for `text-spacing-trim` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#text-spacing-trim).
660///
661/// The text-spacing-trim CSS property controls spacing around CJK characters, avoiding excessive whitespace when using full-width punctuation characters.
662///
663/// The grammar is defined as:
664///
665/// ```text,ignore
666/// <spacing-trim> | auto
667/// ```
668///
669/// https://drafts.csswg.org/css-text-4/#text-spacing-trim
670#[syntax(" <spacing-trim> | auto ")]
671#[derive(
672 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
673)]
674#[declaration_metadata(
675 initial = "normal",
676 inherits,
677 applies_to = Text,
678 animation_type = Discrete,
679 property_group = Text,
680 computed_value_type = Unknown,
681 canonical_order = "per grammar",
682)]
683#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
684#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-spacing-trim"))]
685#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
686pub struct TextSpacingTrimStyleValue;
687
688// /// Represents the style value for `text-transform` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#text-transform).
689// ///
690// /// The text-transform CSS property sets text case and capitalization.
691// ///
692// /// The grammar is defined as:
693// ///
694// /// ```text,ignore
695// /// none | [capitalize | uppercase | lowercase ] || full-width || full-size-kana | math-auto
696// /// ```
697// ///
698// /// https://drafts.csswg.org/css-text-4/#text-transform
699// #[syntax(
700// " none | [capitalize | uppercase | lowercase ] || full-width || full-size-kana | math-auto "
701// )]
702// #[derive(
703// Parse,
704// Peek,
705// ToSpan,
706// ToCursors,
707// DeclarationMetadata,
708// SemanticEq,
709// Debug,
710// Clone,
711// PartialEq,
712// Eq,
713// PartialOrd,
714// Ord,
715// Hash,
716// )]
717// #[declaration_metadata(
718// initial = "none",
719// inherits,
720// applies_to = Text,
721// animation_type = Discrete,
722// property_group = Text,
723// computed_value_type = Unknown,
724// canonical_order = "n/a",
725// )]
726// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
727// #[cfg_attr(
728// feature = "css_feature_data",
729// derive(ToCSSFeature),
730// css_feature("css.properties.text-transform")
731// )]
732// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
733// pub enum TextTransformStyleValue {}
734
735/// Represents the style value for `text-wrap` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#text-wrap).
736///
737/// The text-wrap CSS property sets how lines break in text that overflows the container. It is a shorthand for text-wrap-style and text-wrap-mode.
738///
739/// The grammar is defined as:
740///
741/// ```text,ignore
742/// <'text-wrap-mode'> || <'text-wrap-style'>
743/// ```
744///
745/// https://drafts.csswg.org/css-text-4/#text-wrap
746#[syntax(" <'text-wrap-mode'> || <'text-wrap-style'> ")]
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 = Unknown,
753 applies_to = Unknown,
754 animation_type = Unknown,
755 percentages = Unknown,
756 longhands = TextWrapMode|TextWrapStyle,
757 property_group = Text,
758 computed_value_type = Unknown,
759 canonical_order = "per grammar",
760)]
761#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
762#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-wrap"))]
763#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
764pub struct TextWrapStyleValue;
765
766/// Represents the style value for `text-wrap-mode` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#text-wrap-mode).
767///
768/// The text-wrap-mode CSS property sets whether lines may wrap with the values wrap and nowrap. It is a longhand property for both white-space and text-wrap.
769///
770/// The grammar is defined as:
771///
772/// ```text,ignore
773/// wrap | nowrap
774/// ```
775///
776/// https://drafts.csswg.org/css-text-4/#text-wrap-mode
777#[syntax(" wrap | nowrap ")]
778#[derive(
779 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
780)]
781#[declaration_metadata(
782 initial = "wrap",
783 inherits,
784 applies_to = Text,
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-mode"))]
793#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
794pub enum TextWrapModeStyleValue {}
795
796/// Represents the style value for `text-wrap-style` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#text-wrap-style).
797///
798/// The text-wrap-style CSS property sets how lines break in text that overflows the container. It can also be set with the text-wrap shorthand.
799///
800/// The grammar is defined as:
801///
802/// ```text,ignore
803/// auto | balance | stable | pretty | avoid-orphans
804/// ```
805///
806/// https://drafts.csswg.org/css-text-4/#text-wrap-style
807#[syntax(" auto | balance | stable | pretty | avoid-orphans ")]
808#[derive(
809 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
810)]
811#[declaration_metadata(
812 initial = "auto",
813 inherits,
814 applies_to = Unknown,
815 animation_type = Discrete,
816 shorthand_group = TextWrap,
817 property_group = Text,
818 computed_value_type = Unknown,
819 canonical_order = "per grammar",
820)]
821#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
822#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.text-wrap-style"))]
823#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
824pub enum TextWrapStyleStyleValue {}
825
826// /// Represents the style value for `white-space` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#white-space).
827// ///
828// /// The white-space CSS property sets how white space is collapsed and how lines wrap. It is a shorthand for white-space-collapse and text-wrap-mode.
829// ///
830// /// The grammar is defined as:
831// ///
832// /// ```text,ignore
833// /// normal | pre | pre-wrap | pre-line | <'white-space-collapse'> || <'text-wrap-mode'> || <'white-space-trim'>
834// /// ```
835// ///
836// /// https://drafts.csswg.org/css-text-4/#white-space
837// #[syntax(
838// " normal | pre | pre-wrap | pre-line | <'white-space-collapse'> || <'text-wrap-mode'> || <'white-space-trim'> "
839// )]
840// #[derive(
841// Parse,
842// Peek,
843// ToSpan,
844// ToCursors,
845// DeclarationMetadata,
846// SemanticEq,
847// Debug,
848// Clone,
849// PartialEq,
850// Eq,
851// PartialOrd,
852// Ord,
853// Hash,
854// )]
855// #[declaration_metadata(
856// initial = "normal",
857// inherits = Unknown,
858// applies_to = Text,
859// animation_type = Discrete,
860// property_group = Text,
861// computed_value_type = Unknown,
862// canonical_order = "n/a",
863// )]
864// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
865// #[cfg_attr(
866// feature = "css_feature_data",
867// derive(ToCSSFeature),
868// css_feature("css.properties.white-space")
869// )]
870// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
871// pub enum WhiteSpaceStyleValue {}
872
873/// Represents the style value for `white-space-collapse` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#white-space-collapse).
874///
875/// The white-space-collapse CSS property sets whether new line characters are shown as line breaks, and whether multiple consecutive spaces are all displayed or combined.
876///
877/// The grammar is defined as:
878///
879/// ```text,ignore
880/// collapse | discard | preserve | preserve-breaks | preserve-spaces | break-spaces
881/// ```
882///
883/// https://drafts.csswg.org/css-text-4/#white-space-collapse
884#[syntax(" collapse | discard | preserve | preserve-breaks | preserve-spaces | break-spaces ")]
885#[derive(
886 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
887)]
888#[declaration_metadata(
889 initial = "collapse",
890 inherits,
891 applies_to = Text,
892 animation_type = Discrete,
893 property_group = Text,
894 computed_value_type = Unknown,
895 canonical_order = "per grammar",
896)]
897#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
898#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.white-space-collapse"))]
899#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
900pub enum WhiteSpaceCollapseStyleValue {}
901
902// /// Represents the style value for `white-space-trim` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#white-space-trim).
903// ///
904// /// The grammar is defined as:
905// ///
906// /// ```text,ignore
907// /// none | discard-before || discard-after || discard-inner
908// /// ```
909// ///
910// /// https://drafts.csswg.org/css-text-4/#white-space-trim
911// #[syntax(" none | discard-before || discard-after || discard-inner ")]
912// #[derive(
913// Parse,
914// Peek,
915// ToSpan,
916// ToCursors,
917// DeclarationMetadata,
918// SemanticEq,
919// Debug,
920// Clone,
921// PartialEq,
922// Eq,
923// PartialOrd,
924// Ord,
925// Hash,
926// )]
927// #[declaration_metadata(
928// initial = "none",
929// applies_to = Unknown,
930// animation_type = Discrete,
931// property_group = Text,
932// computed_value_type = Unknown,
933// canonical_order = "per grammar",
934// )]
935// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
936// #[cfg_attr(
937// feature = "css_feature_data",
938// derive(ToCSSFeature),
939// css_feature("css.properties.white-space-trim")
940// )]
941// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
942// pub struct WhiteSpaceTrimStyleValue;
943
944/// Represents the style value for `word-break` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#word-break).
945///
946/// The word-break CSS property sets how lines break within words.
947///
948/// The grammar is defined as:
949///
950/// ```text,ignore
951/// normal | break-all | keep-all | manual | auto-phrase | break-word
952/// ```
953///
954/// https://drafts.csswg.org/css-text-4/#word-break
955#[syntax(" normal | break-all | keep-all | manual | auto-phrase | break-word ")]
956#[derive(
957 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
958)]
959#[declaration_metadata(
960 initial = "normal",
961 inherits,
962 applies_to = Text,
963 animation_type = Discrete,
964 property_group = Text,
965 computed_value_type = Unknown,
966 canonical_order = "n/a",
967)]
968#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
969#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.word-break"))]
970#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
971pub enum WordBreakStyleValue {}
972
973// /// Represents the style value for `word-space-transform` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#word-space-transform).
974// ///
975// /// The grammar is defined as:
976// ///
977// /// ```text,ignore
978// /// none | [ space | ideographic-space ] && auto-phrase?
979// /// ```
980// ///
981// /// https://drafts.csswg.org/css-text-4/#word-space-transform
982// #[syntax(" none | [ space | ideographic-space ] && auto-phrase? ")]
983// #[derive(
984// Parse,
985// Peek,
986// ToSpan,
987// ToCursors,
988// DeclarationMetadata,
989// SemanticEq,
990// Debug,
991// Clone,
992// PartialEq,
993// Eq,
994// PartialOrd,
995// Ord,
996// Hash,
997// )]
998// #[declaration_metadata(
999// initial = "none",
1000// inherits,
1001// applies_to = Text,
1002// animation_type = Discrete,
1003// property_group = Text,
1004// computed_value_type = AsSpecified,
1005// canonical_order = "per grammar",
1006// )]
1007// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1008// #[cfg_attr(
1009// feature = "css_feature_data",
1010// derive(ToCSSFeature),
1011// css_feature("css.properties.word-space-transform")
1012// )]
1013// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1014// pub struct WordSpaceTransformStyleValue;
1015
1016/// Represents the style value for `word-spacing` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#word-spacing).
1017///
1018/// The word-spacing CSS property sets the amount of white space between words.
1019///
1020/// The grammar is defined as:
1021///
1022/// ```text,ignore
1023/// normal | <length-percentage>
1024/// ```
1025///
1026/// https://drafts.csswg.org/css-text-4/#word-spacing
1027#[syntax(" normal | <length-percentage> ")]
1028#[derive(
1029 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1030)]
1031#[declaration_metadata(
1032 initial = "normal",
1033 inherits,
1034 applies_to = Text,
1035 animation_type = ByComputedValue,
1036 percentages = FontSize,
1037 property_group = Text,
1038 computed_value_type = AbsoluteLengthOrPercentage,
1039 canonical_order = "n/a",
1040)]
1041#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1042#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.word-spacing"))]
1043#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1044pub enum WordSpacingStyleValue {}
1045
1046/// Represents the style value for `word-wrap` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#word-wrap).
1047///
1048/// The grammar is defined as:
1049///
1050/// ```text,ignore
1051/// normal | break-word | anywhere
1052/// ```
1053///
1054/// https://drafts.csswg.org/css-text-4/#word-wrap
1055#[syntax(" normal | break-word | anywhere ")]
1056#[derive(
1057 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1058)]
1059#[declaration_metadata(
1060 initial = "normal",
1061 inherits,
1062 applies_to = Text,
1063 animation_type = Discrete,
1064 property_group = Text,
1065 computed_value_type = Unknown,
1066 canonical_order = "n/a",
1067)]
1068#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1069#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.word-wrap"))]
1070#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1071pub enum WordWrapStyleValue {}
1072
1073/// Represents the style value for `wrap-after` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#wrap-after).
1074///
1075/// The grammar is defined as:
1076///
1077/// ```text,ignore
1078/// auto | avoid | avoid-line | avoid-flex | line | flex
1079/// ```
1080///
1081/// https://drafts.csswg.org/css-text-4/#wrap-after
1082#[syntax(" auto | avoid | avoid-line | avoid-flex | line | flex ")]
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-after"))]
1096#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1097pub enum WrapAfterStyleValue {}
1098
1099/// Represents the style value for `wrap-before` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#wrap-before).
1100///
1101/// The grammar is defined as:
1102///
1103/// ```text,ignore
1104/// auto | avoid | avoid-line | avoid-flex | line | flex
1105/// ```
1106///
1107/// https://drafts.csswg.org/css-text-4/#wrap-before
1108#[syntax(" auto | avoid | avoid-line | avoid-flex | line | flex ")]
1109#[derive(
1110 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1111)]
1112#[declaration_metadata(
1113 initial = "auto",
1114 applies_to = Unknown,
1115 animation_type = Discrete,
1116 property_group = Text,
1117 computed_value_type = Unknown,
1118 canonical_order = "per grammar",
1119)]
1120#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1121#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.wrap-before"))]
1122#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1123pub enum WrapBeforeStyleValue {}
1124
1125/// Represents the style value for `wrap-inside` as defined in [css-text-4](https://drafts.csswg.org/css-text-4/#wrap-inside).
1126///
1127/// The grammar is defined as:
1128///
1129/// ```text,ignore
1130/// auto | avoid
1131/// ```
1132///
1133/// https://drafts.csswg.org/css-text-4/#wrap-inside
1134#[syntax(" auto | avoid ")]
1135#[derive(
1136 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1137)]
1138#[declaration_metadata(
1139 initial = "auto",
1140 applies_to = Unknown,
1141 animation_type = Discrete,
1142 property_group = Text,
1143 computed_value_type = Unknown,
1144 canonical_order = "per grammar",
1145)]
1146#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1147#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.wrap-inside"))]
1148#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1149pub enum WrapInsideStyleValue {}