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