css_ast/values/borders/
mod.rs

1#![allow(warnings)]
2//! https://drafts.csswg.org/css-borders-4/
3
4mod impls;
5use super::prelude::*;
6use impls::*;
7/// Represents the style value for `border` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border).
8///
9/// The border CSS property sets the color, style, and width of the line around an element.
10///
11/// The grammar is defined as:
12///
13/// ```text,ignore
14/// <line-width> || <line-style> || <color>
15/// ```
16///
17/// https://drafts.csswg.org/css-borders-4/#border
18#[syntax(" <line-width> || <line-style> || <color> ")]
19#[derive(
20	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
21)]
22#[declaration_metadata(
23    initial = "see individual properties",
24    inherits = Unknown,
25    applies_to = Unknown,
26    percentages = Unknown,
27    animation_type = Unknown,
28    property_group = Borders,
29    computed_value_type = Unknown,
30    canonical_order = "per grammar",
31    box_side = Top|Bottom|Left|Right,
32    box_portion = Border,
33)]
34#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
35#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border"))]
36#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
37pub struct BorderStyleValue;
38
39/// Represents the style value for `border-block` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-block).
40///
41/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
42///
43/// The grammar is defined as:
44///
45/// ```text,ignore
46/// <'border-block-start'>
47/// ```
48///
49/// https://drafts.csswg.org/css-borders-4/#border-block
50#[syntax(" <'border-block-start'> ")]
51#[derive(
52	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
53)]
54#[declaration_metadata(
55    initial = "see individual properties",
56    inherits = Unknown,
57    applies_to = Unknown,
58    percentages = Unknown,
59    animation_type = Unknown,
60    property_group = Borders,
61    computed_value_type = Unknown,
62    canonical_order = "per grammar",
63    box_side = BlockStart|BlockEnd,
64    box_portion = Border,
65)]
66#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
67#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block"))]
68#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
69pub struct BorderBlockStyleValue;
70
71/// Represents the style value for `border-block-color` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-block-color).
72///
73/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
74///
75/// The grammar is defined as:
76///
77/// ```text,ignore
78/// <'border-top-color'>{1,2}
79/// ```
80///
81/// https://drafts.csswg.org/css-borders-4/#border-block-color
82#[syntax(" <'border-top-color'>{1,2} ")]
83#[derive(
84	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
85)]
86#[declaration_metadata(
87    initial = "see individual properties",
88    inherits = Unknown,
89    applies_to = Unknown,
90    percentages = Unknown,
91    animation_type = Unknown,
92    property_group = Borders,
93    computed_value_type = Unknown,
94    canonical_order = "per grammar",
95    box_side = BlockStart|BlockEnd,
96    box_portion = Border,
97)]
98#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
99#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-color"))]
100#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
101pub struct BorderBlockColorStyleValue<'a>;
102
103/// Represents the style value for `border-block-end` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-block-end).
104///
105/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
106///
107/// The grammar is defined as:
108///
109/// ```text,ignore
110/// <line-width> || <line-style> || <color>
111/// ```
112///
113/// https://drafts.csswg.org/css-borders-4/#border-block-end
114#[syntax(" <line-width> || <line-style> || <color> ")]
115#[derive(
116	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
117)]
118#[declaration_metadata(
119    initial = "See individual properties",
120    applies_to = Unknown,
121    animation_type = Unknown,
122    property_group = Borders,
123    computed_value_type = Unknown,
124    canonical_order = "per grammar",
125    box_side = BlockEnd,
126    box_portion = Border,
127)]
128#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
129#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end"))]
130#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
131pub struct BorderBlockEndStyleValue;
132
133/// Represents the style value for `border-block-end-color` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-block-end-color).
134///
135/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
136///
137/// The grammar is defined as:
138///
139/// ```text,ignore
140/// <color> | <image-1D>
141/// ```
142///
143/// https://drafts.csswg.org/css-borders-4/#border-block-end-color
144#[syntax(" <color> | <image-1D> ")]
145#[derive(
146	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
147)]
148#[declaration_metadata(
149    initial = "currentcolor",
150    applies_to = Unknown,
151    animation_type = Unknown,
152    property_group = Borders,
153    computed_value_type = Unknown,
154    canonical_order = "per grammar",
155    logical_property_group = BorderColor,
156    box_portion = Border,
157)]
158#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
159#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-color"))]
160#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
161pub enum BorderBlockEndColorStyleValue<'a> {}
162
163// /// Represents the style value for `border-block-end-radius` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-block-end-radius).
164// ///
165// /// The grammar is defined as:
166// ///
167// /// ```text,ignore
168// /// <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?
169// /// ```
170// ///
171// /// https://drafts.csswg.org/css-borders-4/#border-block-end-radius
172// #[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
173// #[derive(
174//     Parse,
175//     Peek,
176//     ToSpan,
177//     ToCursors,
178//     DeclarationMetadata,
179//     SemanticEq,
180//     Debug,
181//     Clone,
182//     PartialEq,
183//     Eq,
184//     PartialOrd,
185//     Ord,
186//     Hash,
187// )]
188// #[declaration_metadata(
189//     initial = "0",
190//     applies_to = Elements,
191//     percentages = BorderBox,
192//     animation_type = Unknown,
193//     property_group = Borders,
194//     computed_value_type = Unknown,
195//     canonical_order = "per grammar",
196//     box_portion = Border,
197// )]
198// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
199// #[cfg_attr(
200//     feature = "css_feature_data",
201//     derive(ToCSSFeature),
202//     css_feature("css.properties.border-block-end-radius")
203// )]
204// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
205// pub struct BorderBlockEndRadiusStyleValue;
206
207/// Represents the style value for `border-block-end-style` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-block-end-style).
208///
209/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
210///
211/// The grammar is defined as:
212///
213/// ```text,ignore
214/// <line-style>
215/// ```
216///
217/// https://drafts.csswg.org/css-borders-4/#border-block-end-style
218#[syntax(" <line-style> ")]
219#[derive(
220	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
221)]
222#[declaration_metadata(
223    initial = "none",
224    applies_to = Unknown,
225    animation_type = Discrete,
226    property_group = Borders,
227    computed_value_type = Unknown,
228    canonical_order = "per grammar",
229    logical_property_group = BorderStyle,
230    box_portion = Border,
231)]
232#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
233#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-style"))]
234#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
235pub struct BorderBlockEndStyleStyleValue;
236
237/// Represents the style value for `border-block-end-width` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-block-end-width).
238///
239/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
240///
241/// The grammar is defined as:
242///
243/// ```text,ignore
244/// <line-width>
245/// ```
246///
247/// https://drafts.csswg.org/css-borders-4/#border-block-end-width
248#[syntax(" <line-width> ")]
249#[derive(
250	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
251)]
252#[declaration_metadata(
253    initial = "medium",
254    applies_to = Unknown,
255    animation_type = ByComputedValue,
256    property_group = Borders,
257    computed_value_type = AbsoluteLengthOrNone,
258    canonical_order = "per grammar",
259    logical_property_group = BorderWidth,
260    box_portion = Border,
261)]
262#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
263#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-width"))]
264#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
265pub struct BorderBlockEndWidthStyleValue;
266
267/// Represents the style value for `border-block-start` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-block-start).
268///
269/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
270///
271/// The grammar is defined as:
272///
273/// ```text,ignore
274/// <line-width> || <line-style> || <color>
275/// ```
276///
277/// https://drafts.csswg.org/css-borders-4/#border-block-start
278#[syntax(" <line-width> || <line-style> || <color> ")]
279#[derive(
280	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
281)]
282#[declaration_metadata(
283    initial = "See individual properties",
284    applies_to = Unknown,
285    animation_type = Unknown,
286    property_group = Borders,
287    computed_value_type = Unknown,
288    canonical_order = "per grammar",
289    box_side = BlockStart,
290    box_portion = Border,
291)]
292#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
293#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start"))]
294#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
295pub struct BorderBlockStartStyleValue;
296
297/// Represents the style value for `border-block-start-color` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-block-start-color).
298///
299/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
300///
301/// The grammar is defined as:
302///
303/// ```text,ignore
304/// <color> | <image-1D>
305/// ```
306///
307/// https://drafts.csswg.org/css-borders-4/#border-block-start-color
308#[syntax(" <color> | <image-1D> ")]
309#[derive(
310	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
311)]
312#[declaration_metadata(
313    initial = "currentcolor",
314    applies_to = Unknown,
315    animation_type = Unknown,
316    property_group = Borders,
317    computed_value_type = Unknown,
318    canonical_order = "per grammar",
319    logical_property_group = BorderColor,
320    box_portion = Border,
321)]
322#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
323#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-color"))]
324#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
325pub enum BorderBlockStartColorStyleValue<'a> {}
326
327// /// Represents the style value for `border-block-start-radius` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-block-start-radius).
328// ///
329// /// The grammar is defined as:
330// ///
331// /// ```text,ignore
332// /// <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?
333// /// ```
334// ///
335// /// https://drafts.csswg.org/css-borders-4/#border-block-start-radius
336// #[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
337// #[derive(
338//     Parse,
339//     Peek,
340//     ToSpan,
341//     ToCursors,
342//     DeclarationMetadata,
343//     SemanticEq,
344//     Debug,
345//     Clone,
346//     PartialEq,
347//     Eq,
348//     PartialOrd,
349//     Ord,
350//     Hash,
351// )]
352// #[declaration_metadata(
353//     initial = "0",
354//     applies_to = Elements,
355//     percentages = BorderBox,
356//     animation_type = Unknown,
357//     property_group = Borders,
358//     computed_value_type = Unknown,
359//     canonical_order = "per grammar",
360//     box_portion = Border,
361// )]
362// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
363// #[cfg_attr(
364//     feature = "css_feature_data",
365//     derive(ToCSSFeature),
366//     css_feature("css.properties.border-block-start-radius")
367// )]
368// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
369// pub struct BorderBlockStartRadiusStyleValue;
370
371/// Represents the style value for `border-block-start-style` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-block-start-style).
372///
373/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
374///
375/// The grammar is defined as:
376///
377/// ```text,ignore
378/// <line-style>
379/// ```
380///
381/// https://drafts.csswg.org/css-borders-4/#border-block-start-style
382#[syntax(" <line-style> ")]
383#[derive(
384	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
385)]
386#[declaration_metadata(
387    initial = "none",
388    applies_to = Unknown,
389    animation_type = Discrete,
390    property_group = Borders,
391    computed_value_type = Unknown,
392    canonical_order = "per grammar",
393    logical_property_group = BorderStyle,
394    box_portion = Border,
395)]
396#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
397#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-style"))]
398#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
399pub struct BorderBlockStartStyleStyleValue;
400
401/// Represents the style value for `border-block-start-width` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-block-start-width).
402///
403/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
404///
405/// The grammar is defined as:
406///
407/// ```text,ignore
408/// <line-width>
409/// ```
410///
411/// https://drafts.csswg.org/css-borders-4/#border-block-start-width
412#[syntax(" <line-width> ")]
413#[derive(
414	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
415)]
416#[declaration_metadata(
417    initial = "medium",
418    applies_to = Unknown,
419    animation_type = ByComputedValue,
420    property_group = Borders,
421    computed_value_type = AbsoluteLengthOrNone,
422    canonical_order = "per grammar",
423    logical_property_group = BorderWidth,
424    box_portion = Border,
425)]
426#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
427#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-width"))]
428#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
429pub struct BorderBlockStartWidthStyleValue;
430
431/// Represents the style value for `border-block-style` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-block-style).
432///
433/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
434///
435/// The grammar is defined as:
436///
437/// ```text,ignore
438/// <'border-top-style'>{1,2}
439/// ```
440///
441/// https://drafts.csswg.org/css-borders-4/#border-block-style
442#[syntax(" <'border-top-style'>{1,2} ")]
443#[derive(
444	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
445)]
446#[declaration_metadata(
447    initial = "see individual properties",
448    inherits = Unknown,
449    applies_to = Unknown,
450    percentages = Unknown,
451    animation_type = Unknown,
452    property_group = Borders,
453    computed_value_type = Unknown,
454    canonical_order = "per grammar",
455    box_side = BlockStart|BlockEnd,
456    box_portion = Border,
457)]
458#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
459#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-style"))]
460#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
461pub struct BorderBlockStyleStyleValue;
462
463/// Represents the style value for `border-block-width` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-block-width).
464///
465/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
466///
467/// The grammar is defined as:
468///
469/// ```text,ignore
470/// <'border-top-width'>{1,2}
471/// ```
472///
473/// https://drafts.csswg.org/css-borders-4/#border-block-width
474#[syntax(" <'border-top-width'>{1,2} ")]
475#[derive(
476	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
477)]
478#[declaration_metadata(
479    initial = "see individual properties",
480    inherits = Unknown,
481    applies_to = Unknown,
482    percentages = Unknown,
483    animation_type = Unknown,
484    property_group = Borders,
485    computed_value_type = Unknown,
486    canonical_order = "per grammar",
487    box_side = BlockStart|BlockEnd,
488    box_portion = Border,
489)]
490#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
491#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-width"))]
492#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
493pub struct BorderBlockWidthStyleValue;
494
495/// Represents the style value for `border-bottom` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-bottom).
496///
497/// The border CSS property sets the color, style, and width of the line around an element.
498///
499/// The grammar is defined as:
500///
501/// ```text,ignore
502/// <line-width> || <line-style> || <color>
503/// ```
504///
505/// https://drafts.csswg.org/css-borders-4/#border-bottom
506#[syntax(" <line-width> || <line-style> || <color> ")]
507#[derive(
508	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
509)]
510#[declaration_metadata(
511    initial = "See individual properties",
512    applies_to = Unknown,
513    animation_type = Unknown,
514    property_group = Borders,
515    computed_value_type = Unknown,
516    canonical_order = "per grammar",
517    box_side = Bottom,
518    box_portion = Border,
519)]
520#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
521#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom"))]
522#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
523pub struct BorderBottomStyleValue;
524
525/// Represents the style value for `border-bottom-color` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-bottom-color).
526///
527/// The border CSS property sets the color, style, and width of the line around an element.
528///
529/// The grammar is defined as:
530///
531/// ```text,ignore
532/// <color> | <image-1D>
533/// ```
534///
535/// https://drafts.csswg.org/css-borders-4/#border-bottom-color
536#[syntax(" <color> | <image-1D> ")]
537#[derive(
538	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
539)]
540#[declaration_metadata(
541    initial = "currentcolor",
542    applies_to = Unknown,
543    animation_type = Unknown,
544    property_group = Borders,
545    computed_value_type = Unknown,
546    canonical_order = "per grammar",
547    logical_property_group = BorderColor,
548    box_portion = Border,
549)]
550#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
551#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-color"))]
552#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
553pub enum BorderBottomColorStyleValue<'a> {}
554
555/// Represents the style value for `border-bottom-left-radius` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-bottom-left-radius).
556///
557/// The border-radius CSS property rounds the corners of the border drawn around an element.
558///
559/// The grammar is defined as:
560///
561/// ```text,ignore
562/// <length-percentage [0,∞]>{1,2}
563/// ```
564///
565/// https://drafts.csswg.org/css-borders-4/#border-bottom-left-radius
566#[syntax(" <length-percentage [0,∞]>{1,2} ")]
567#[derive(
568	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
569)]
570#[declaration_metadata(
571    initial = "0",
572    applies_to = Elements,
573    percentages = BorderBox,
574    animation_type = ByComputedValue,
575    property_group = Borders,
576    computed_value_type = Unknown,
577    canonical_order = "per grammar",
578    logical_property_group = BorderRadius,
579    box_side = Bottom|Left,
580    box_portion = Border,
581)]
582#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
583#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-left-radius"))]
584#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
585pub struct BorderBottomLeftRadiusStyleValue;
586
587// /// Represents the style value for `border-bottom-radius` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-bottom-radius).
588// ///
589// /// The grammar is defined as:
590// ///
591// /// ```text,ignore
592// /// <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?
593// /// ```
594// ///
595// /// https://drafts.csswg.org/css-borders-4/#border-bottom-radius
596// #[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
597// #[derive(
598//     Parse,
599//     Peek,
600//     ToSpan,
601//     ToCursors,
602//     DeclarationMetadata,
603//     SemanticEq,
604//     Debug,
605//     Clone,
606//     PartialEq,
607//     Eq,
608//     PartialOrd,
609//     Ord,
610//     Hash,
611// )]
612// #[declaration_metadata(
613//     initial = "0",
614//     applies_to = Elements,
615//     percentages = BorderBox,
616//     animation_type = Unknown,
617//     property_group = Borders,
618//     computed_value_type = Unknown,
619//     canonical_order = "per grammar",
620//     box_portion = Border,
621// )]
622// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
623// #[cfg_attr(
624//     feature = "css_feature_data",
625//     derive(ToCSSFeature),
626//     css_feature("css.properties.border-bottom-radius")
627// )]
628// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
629// pub struct BorderBottomRadiusStyleValue;
630
631/// Represents the style value for `border-bottom-right-radius` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-bottom-right-radius).
632///
633/// The border-radius CSS property rounds the corners of the border drawn around an element.
634///
635/// The grammar is defined as:
636///
637/// ```text,ignore
638/// <length-percentage [0,∞]>{1,2}
639/// ```
640///
641/// https://drafts.csswg.org/css-borders-4/#border-bottom-right-radius
642#[syntax(" <length-percentage [0,∞]>{1,2} ")]
643#[derive(
644	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
645)]
646#[declaration_metadata(
647    initial = "0",
648    applies_to = Elements,
649    percentages = BorderBox,
650    animation_type = ByComputedValue,
651    property_group = Borders,
652    computed_value_type = Unknown,
653    canonical_order = "per grammar",
654    logical_property_group = BorderRadius,
655    box_side = Bottom|Right,
656    box_portion = Border,
657)]
658#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
659#[cfg_attr(
660	feature = "css_feature_data",
661	derive(ToCSSFeature),
662	css_feature("css.properties.border-bottom-right-radius")
663)]
664#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
665pub struct BorderBottomRightRadiusStyleValue;
666
667/// Represents the style value for `border-bottom-style` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-bottom-style).
668///
669/// The border CSS property sets the color, style, and width of the line around an element.
670///
671/// The grammar is defined as:
672///
673/// ```text,ignore
674/// <line-style>
675/// ```
676///
677/// https://drafts.csswg.org/css-borders-4/#border-bottom-style
678#[syntax(" <line-style> ")]
679#[derive(
680	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
681)]
682#[declaration_metadata(
683    initial = "none",
684    applies_to = Unknown,
685    animation_type = Discrete,
686    property_group = Borders,
687    computed_value_type = Unknown,
688    canonical_order = "per grammar",
689    logical_property_group = BorderStyle,
690    box_portion = Border,
691)]
692#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
693#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-style"))]
694#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
695pub struct BorderBottomStyleStyleValue;
696
697/// Represents the style value for `border-bottom-width` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-bottom-width).
698///
699/// The border CSS property sets the color, style, and width of the line around an element.
700///
701/// The grammar is defined as:
702///
703/// ```text,ignore
704/// <line-width>
705/// ```
706///
707/// https://drafts.csswg.org/css-borders-4/#border-bottom-width
708#[syntax(" <line-width> ")]
709#[derive(
710	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
711)]
712#[declaration_metadata(
713    initial = "medium",
714    applies_to = Unknown,
715    animation_type = ByComputedValue,
716    property_group = Borders,
717    computed_value_type = AbsoluteLengthOrNone,
718    canonical_order = "per grammar",
719    logical_property_group = BorderWidth,
720    box_portion = Border,
721)]
722#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
723#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-width"))]
724#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
725pub struct BorderBottomWidthStyleValue;
726
727/// Represents the style value for `border-clip` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-clip).
728///
729/// The grammar is defined as:
730///
731/// ```text,ignore
732/// normal | [ <length-percentage [0,∞]> | <flex> ]+
733/// ```
734///
735/// https://drafts.csswg.org/css-borders-4/#border-clip
736#[syntax(" normal | [ <length-percentage [0,∞]> | <flex> ]+ ")]
737#[derive(
738	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
739)]
740#[declaration_metadata(
741    initial = "normal",
742    applies_to = Elements,
743    percentages = BorderEdge,
744    animation_type = ByComputedValue,
745    property_group = Borders,
746    computed_value_type = SpecifiedWithAbsoluteLengths,
747    canonical_order = "per grammar",
748    box_portion = Border,
749)]
750#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
751#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-clip"))]
752#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
753pub enum BorderClipStyleValue<'a> {}
754
755/// Represents the style value for `border-clip-bottom` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-clip-bottom).
756///
757/// The grammar is defined as:
758///
759/// ```text,ignore
760/// normal | [ <length-percentage [0,∞]> | <flex> ]+
761/// ```
762///
763/// https://drafts.csswg.org/css-borders-4/#border-clip-bottom
764#[syntax(" normal | [ <length-percentage [0,∞]> | <flex> ]+ ")]
765#[derive(
766	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
767)]
768#[declaration_metadata(
769    initial = "normal",
770    applies_to = Elements,
771    percentages = BorderEdge,
772    animation_type = ByComputedValue,
773    property_group = Borders,
774    computed_value_type = SpecifiedWithAbsoluteLengths,
775    canonical_order = "per grammar",
776    box_side = Bottom,
777    box_portion = Border,
778)]
779#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
780#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-clip-bottom"))]
781#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
782pub enum BorderClipBottomStyleValue<'a> {}
783
784/// Represents the style value for `border-clip-left` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-clip-left).
785///
786/// The grammar is defined as:
787///
788/// ```text,ignore
789/// normal | [ <length-percentage [0,∞]> | <flex> ]+
790/// ```
791///
792/// https://drafts.csswg.org/css-borders-4/#border-clip-left
793#[syntax(" normal | [ <length-percentage [0,∞]> | <flex> ]+ ")]
794#[derive(
795	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
796)]
797#[declaration_metadata(
798    initial = "normal",
799    applies_to = Elements,
800    percentages = BorderEdge,
801    animation_type = ByComputedValue,
802    property_group = Borders,
803    computed_value_type = SpecifiedWithAbsoluteLengths,
804    canonical_order = "per grammar",
805    box_side = Left,
806    box_portion = Border,
807)]
808#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
809#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-clip-left"))]
810#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
811pub enum BorderClipLeftStyleValue<'a> {}
812
813/// Represents the style value for `border-clip-right` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-clip-right).
814///
815/// The grammar is defined as:
816///
817/// ```text,ignore
818/// normal | [ <length-percentage [0,∞]> | <flex> ]+
819/// ```
820///
821/// https://drafts.csswg.org/css-borders-4/#border-clip-right
822#[syntax(" normal | [ <length-percentage [0,∞]> | <flex> ]+ ")]
823#[derive(
824	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
825)]
826#[declaration_metadata(
827    initial = "normal",
828    applies_to = Elements,
829    percentages = BorderEdge,
830    animation_type = ByComputedValue,
831    property_group = Borders,
832    computed_value_type = SpecifiedWithAbsoluteLengths,
833    canonical_order = "per grammar",
834    box_side = Right,
835    box_portion = Border,
836)]
837#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
838#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-clip-right"))]
839#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
840pub enum BorderClipRightStyleValue<'a> {}
841
842/// Represents the style value for `border-clip-top` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-clip-top).
843///
844/// The grammar is defined as:
845///
846/// ```text,ignore
847/// normal | [ <length-percentage [0,∞]> | <flex> ]+
848/// ```
849///
850/// https://drafts.csswg.org/css-borders-4/#border-clip-top
851#[syntax(" normal | [ <length-percentage [0,∞]> | <flex> ]+ ")]
852#[derive(
853	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
854)]
855#[declaration_metadata(
856    initial = "normal",
857    applies_to = Elements,
858    percentages = BorderEdge,
859    animation_type = ByComputedValue,
860    property_group = Borders,
861    computed_value_type = SpecifiedWithAbsoluteLengths,
862    canonical_order = "per grammar",
863    box_side = Top,
864    box_portion = Border,
865)]
866#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
867#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-clip-top"))]
868#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
869pub enum BorderClipTopStyleValue<'a> {}
870
871// /// Represents the style value for `border-color` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-color).
872// ///
873// /// The border CSS property sets the color, style, and width of the line around an element.
874// ///
875// /// The grammar is defined as:
876// ///
877// /// ```text,ignore
878// /// [ <color> | <image-1D> ]{1,4}
879// /// ```
880// ///
881// /// https://drafts.csswg.org/css-borders-4/#border-color
882// #[syntax(" [ <color> | <image-1D> ]{1,4} ")]
883// #[derive(
884//     Parse,
885//     Peek,
886//     ToSpan,
887//     ToCursors,
888//     DeclarationMetadata,
889//     SemanticEq,
890//     Debug,
891//     Clone,
892//     PartialEq,
893//     Eq,
894//     PartialOrd,
895//     Ord,
896//     Hash,
897// )]
898// #[declaration_metadata(
899//     initial = "see individual properties",
900//     inherits = Unknown,
901//     applies_to = Unknown,
902//     percentages = Unknown,
903//     animation_type = Unknown,
904//     property_group = Borders,
905//     computed_value_type = Unknown,
906//     canonical_order = "per grammar",
907//     box_side = Top|Bottom|Left|Right,
908//     box_portion = Border,
909// )]
910// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
911// #[cfg_attr(
912//     feature = "css_feature_data",
913//     derive(ToCSSFeature),
914//     css_feature("css.properties.border-color")
915// )]
916// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
917// pub struct BorderColorStyleValue<'a>;
918
919/// Represents the style value for `border-end-end-radius` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-end-end-radius).
920///
921/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
922///
923/// The grammar is defined as:
924///
925/// ```text,ignore
926/// <length-percentage [0,∞]>{1,2}
927/// ```
928///
929/// https://drafts.csswg.org/css-borders-4/#border-end-end-radius
930#[syntax(" <length-percentage [0,∞]>{1,2} ")]
931#[derive(
932	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
933)]
934#[declaration_metadata(
935    initial = "0",
936    applies_to = Elements,
937    percentages = BorderBox,
938    animation_type = ByComputedValue,
939    property_group = Borders,
940    computed_value_type = Unknown,
941    canonical_order = "per grammar",
942    logical_property_group = BorderRadius,
943    box_side = BlockEnd|InlineEnd,
944    box_portion = Border,
945)]
946#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
947#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-end-end-radius"))]
948#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
949pub struct BorderEndEndRadiusStyleValue;
950
951/// Represents the style value for `border-end-start-radius` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-end-start-radius).
952///
953/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
954///
955/// The grammar is defined as:
956///
957/// ```text,ignore
958/// <length-percentage [0,∞]>{1,2}
959/// ```
960///
961/// https://drafts.csswg.org/css-borders-4/#border-end-start-radius
962#[syntax(" <length-percentage [0,∞]>{1,2} ")]
963#[derive(
964	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
965)]
966#[declaration_metadata(
967    initial = "0",
968    applies_to = Elements,
969    percentages = BorderBox,
970    animation_type = ByComputedValue,
971    property_group = Borders,
972    computed_value_type = Unknown,
973    canonical_order = "per grammar",
974    logical_property_group = BorderRadius,
975    box_side = BlockEnd|InlineStart,
976    box_portion = Border,
977)]
978#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
979#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-end-start-radius"))]
980#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
981pub struct BorderEndStartRadiusStyleValue;
982
983// /// Represents the style value for `border-image` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-image).
984// ///
985// /// The border-image CSS property draws an image around an element.
986// ///
987// /// The grammar is defined as:
988// ///
989// /// ```text,ignore
990// /// <'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>
991// /// ```
992// ///
993// /// https://drafts.csswg.org/css-borders-4/#border-image
994// #[syntax(
995//     " <'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'> "
996// )]
997// #[derive(
998//     Parse,
999//     Peek,
1000//     ToSpan,
1001//     ToCursors,
1002//     DeclarationMetadata,
1003//     SemanticEq,
1004//     Debug,
1005//     Clone,
1006//     PartialEq,
1007//     Eq,
1008//     PartialOrd,
1009//     Ord,
1010//     Hash,
1011// )]
1012// #[declaration_metadata(
1013//     initial = "See individual properties",
1014//     applies_to = Unknown,
1015//     animation_type = Unknown,
1016//     property_group = Borders,
1017//     computed_value_type = Unknown,
1018//     canonical_order = "per grammar",
1019//     box_portion = Border,
1020// )]
1021// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1022// #[cfg_attr(
1023//     feature = "css_feature_data",
1024//     derive(ToCSSFeature),
1025//     css_feature("css.properties.border-image")
1026// )]
1027// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1028// pub struct BorderImageStyleValue;
1029
1030/// Represents the style value for `border-image-outset` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-image-outset).
1031///
1032/// The border-image CSS property draws an image around an element.
1033///
1034/// The grammar is defined as:
1035///
1036/// ```text,ignore
1037/// [ <length [0,∞]> | <number [0,∞]> ]{1,4}
1038/// ```
1039///
1040/// https://drafts.csswg.org/css-borders-4/#border-image-outset
1041#[syntax(" [ <length [0,∞]> | <number [0,∞]> ]{1,4} ")]
1042#[derive(
1043	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1044)]
1045#[declaration_metadata(
1046    initial = "0",
1047    applies_to = Unknown,
1048    animation_type = ByComputedValue,
1049    property_group = Borders,
1050    computed_value_type = AbsoluteLength,
1051    canonical_order = "per grammar",
1052    box_portion = Border,
1053)]
1054#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1055#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-outset"))]
1056#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1057pub struct BorderImageOutsetStyleValue;
1058
1059/// Represents the style value for `border-image-repeat` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-image-repeat).
1060///
1061/// The border-image CSS property draws an image around an element.
1062///
1063/// The grammar is defined as:
1064///
1065/// ```text,ignore
1066/// [ stretch | repeat | round | space ]{1,2}
1067/// ```
1068///
1069/// https://drafts.csswg.org/css-borders-4/#border-image-repeat
1070#[syntax(" [ stretch | repeat | round | space ]{1,2} ")]
1071#[derive(
1072	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1073)]
1074#[declaration_metadata(
1075    initial = "stretch",
1076    applies_to = Unknown,
1077    animation_type = Discrete,
1078    property_group = Borders,
1079    computed_value_type = Unknown,
1080    canonical_order = "per grammar",
1081    box_portion = Border,
1082)]
1083#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1084#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-repeat"))]
1085#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1086pub struct BorderImageRepeatStyleValue;
1087
1088// /// Represents the style value for `border-image-slice` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-image-slice).
1089// ///
1090// /// The border-image CSS property draws an image around an element.
1091// ///
1092// /// The grammar is defined as:
1093// ///
1094// /// ```text,ignore
1095// /// [<number [0,∞]> | <percentage [0,∞]>]{1,4} && fill?
1096// /// ```
1097// ///
1098// /// https://drafts.csswg.org/css-borders-4/#border-image-slice
1099// #[syntax(" [<number [0,∞]> | <percentage [0,∞]>]{1,4} && fill? ")]
1100// #[derive(
1101//     Parse,
1102//     Peek,
1103//     ToSpan,
1104//     ToCursors,
1105//     DeclarationMetadata,
1106//     SemanticEq,
1107//     Debug,
1108//     Clone,
1109//     PartialEq,
1110//     Eq,
1111//     PartialOrd,
1112//     Ord,
1113//     Hash,
1114// )]
1115// #[declaration_metadata(
1116//     initial = "100%",
1117//     applies_to = Unknown,
1118//     percentages = BorderImageArea,
1119//     animation_type = ByComputedValue,
1120//     property_group = Borders,
1121//     computed_value_type = Unknown,
1122//     canonical_order = "per grammar",
1123//     box_portion = Border,
1124// )]
1125// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1126// #[cfg_attr(
1127//     feature = "css_feature_data",
1128//     derive(ToCSSFeature),
1129//     css_feature("css.properties.border-image-slice")
1130// )]
1131// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1132// pub struct BorderImageSliceStyleValue;
1133
1134/// Represents the style value for `border-image-source` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-image-source).
1135///
1136/// The border-image CSS property draws an image around an element.
1137///
1138/// The grammar is defined as:
1139///
1140/// ```text,ignore
1141/// none | <image>
1142/// ```
1143///
1144/// https://drafts.csswg.org/css-borders-4/#border-image-source
1145#[syntax(" none | <image> ")]
1146#[derive(
1147	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1148)]
1149#[declaration_metadata(
1150    initial = "none",
1151    applies_to = Unknown,
1152    animation_type = Discrete,
1153    property_group = Borders,
1154    computed_value_type = Unknown,
1155    canonical_order = "per grammar",
1156    box_portion = Border,
1157)]
1158#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1159#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-source"))]
1160#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1161pub struct BorderImageSourceStyleValue<'a>;
1162
1163// /// Represents the style value for `border-image-width` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-image-width).
1164// ///
1165// /// The border-image CSS property draws an image around an element.
1166// ///
1167// /// The grammar is defined as:
1168// ///
1169// /// ```text,ignore
1170// /// [ <length-percentage [0,∞]> | <number [0,∞]> | auto ]{1,4}
1171// /// ```
1172// ///
1173// /// https://drafts.csswg.org/css-borders-4/#border-image-width
1174// #[syntax(" [ <length-percentage [0,∞]> | <number [0,∞]> | auto ]{1,4} ")]
1175// #[derive(
1176//     Parse,
1177//     Peek,
1178//     ToSpan,
1179//     ToCursors,
1180//     DeclarationMetadata,
1181//     SemanticEq,
1182//     Debug,
1183//     Clone,
1184//     PartialEq,
1185//     Eq,
1186//     PartialOrd,
1187//     Ord,
1188//     Hash,
1189// )]
1190// #[declaration_metadata(
1191//     initial = "1",
1192//     applies_to = Unknown,
1193//     percentages = BorderImageArea,
1194//     animation_type = ByComputedValue,
1195//     property_group = Borders,
1196//     computed_value_type = Unknown,
1197//     canonical_order = "per grammar",
1198//     box_portion = Border,
1199// )]
1200// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1201// #[cfg_attr(
1202//     feature = "css_feature_data",
1203//     derive(ToCSSFeature),
1204//     css_feature("css.properties.border-image-width")
1205// )]
1206// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1207// pub struct BorderImageWidthStyleValue;
1208
1209/// Represents the style value for `border-inline` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-inline).
1210///
1211/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
1212///
1213/// The grammar is defined as:
1214///
1215/// ```text,ignore
1216/// <'border-block-start'>
1217/// ```
1218///
1219/// https://drafts.csswg.org/css-borders-4/#border-inline
1220#[syntax(" <'border-block-start'> ")]
1221#[derive(
1222	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1223)]
1224#[declaration_metadata(
1225    initial = "see individual properties",
1226    inherits = Unknown,
1227    applies_to = Unknown,
1228    percentages = Unknown,
1229    animation_type = Unknown,
1230    property_group = Borders,
1231    computed_value_type = Unknown,
1232    canonical_order = "per grammar",
1233    box_side = InlineStart|InlineEnd,
1234    box_portion = Border,
1235)]
1236#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1237#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline"))]
1238#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1239pub struct BorderInlineStyleValue;
1240
1241/// Represents the style value for `border-inline-color` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-inline-color).
1242///
1243/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
1244///
1245/// The grammar is defined as:
1246///
1247/// ```text,ignore
1248/// <'border-top-color'>{1,2}
1249/// ```
1250///
1251/// https://drafts.csswg.org/css-borders-4/#border-inline-color
1252#[syntax(" <'border-top-color'>{1,2} ")]
1253#[derive(
1254	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1255)]
1256#[declaration_metadata(
1257    initial = "see individual properties",
1258    inherits = Unknown,
1259    applies_to = Unknown,
1260    percentages = Unknown,
1261    animation_type = Unknown,
1262    property_group = Borders,
1263    computed_value_type = Unknown,
1264    canonical_order = "per grammar",
1265    box_side = InlineStart|InlineEnd,
1266    box_portion = Border,
1267)]
1268#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1269#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-color"))]
1270#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1271pub struct BorderInlineColorStyleValue<'a>;
1272
1273/// Represents the style value for `border-inline-end` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-inline-end).
1274///
1275/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
1276///
1277/// The grammar is defined as:
1278///
1279/// ```text,ignore
1280/// <line-width> || <line-style> || <color>
1281/// ```
1282///
1283/// https://drafts.csswg.org/css-borders-4/#border-inline-end
1284#[syntax(" <line-width> || <line-style> || <color> ")]
1285#[derive(
1286	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1287)]
1288#[declaration_metadata(
1289    initial = "See individual properties",
1290    applies_to = Unknown,
1291    animation_type = Unknown,
1292    property_group = Borders,
1293    computed_value_type = Unknown,
1294    canonical_order = "per grammar",
1295    box_side = InlineEnd,
1296    box_portion = Border,
1297)]
1298#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1299#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end"))]
1300#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1301pub struct BorderInlineEndStyleValue;
1302
1303/// Represents the style value for `border-inline-end-color` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-inline-end-color).
1304///
1305/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
1306///
1307/// The grammar is defined as:
1308///
1309/// ```text,ignore
1310/// <color> | <image-1D>
1311/// ```
1312///
1313/// https://drafts.csswg.org/css-borders-4/#border-inline-end-color
1314#[syntax(" <color> | <image-1D> ")]
1315#[derive(
1316	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1317)]
1318#[declaration_metadata(
1319    initial = "currentcolor",
1320    applies_to = Unknown,
1321    animation_type = Unknown,
1322    property_group = Borders,
1323    computed_value_type = Unknown,
1324    canonical_order = "per grammar",
1325    logical_property_group = BorderColor,
1326    box_portion = Border,
1327)]
1328#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1329#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-color"))]
1330#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1331pub enum BorderInlineEndColorStyleValue<'a> {}
1332
1333// /// Represents the style value for `border-inline-end-radius` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-inline-end-radius).
1334// ///
1335// /// The grammar is defined as:
1336// ///
1337// /// ```text,ignore
1338// /// <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?
1339// /// ```
1340// ///
1341// /// https://drafts.csswg.org/css-borders-4/#border-inline-end-radius
1342// #[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1343// #[derive(
1344//     Parse,
1345//     Peek,
1346//     ToSpan,
1347//     ToCursors,
1348//     DeclarationMetadata,
1349//     SemanticEq,
1350//     Debug,
1351//     Clone,
1352//     PartialEq,
1353//     Eq,
1354//     PartialOrd,
1355//     Ord,
1356//     Hash,
1357// )]
1358// #[declaration_metadata(
1359//     initial = "0",
1360//     applies_to = Elements,
1361//     percentages = BorderBox,
1362//     animation_type = Unknown,
1363//     property_group = Borders,
1364//     computed_value_type = Unknown,
1365//     canonical_order = "per grammar",
1366//     box_portion = Border,
1367// )]
1368// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1369// #[cfg_attr(
1370//     feature = "css_feature_data",
1371//     derive(ToCSSFeature),
1372//     css_feature("css.properties.border-inline-end-radius")
1373// )]
1374// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1375// pub struct BorderInlineEndRadiusStyleValue;
1376
1377/// Represents the style value for `border-inline-end-style` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-inline-end-style).
1378///
1379/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
1380///
1381/// The grammar is defined as:
1382///
1383/// ```text,ignore
1384/// <line-style>
1385/// ```
1386///
1387/// https://drafts.csswg.org/css-borders-4/#border-inline-end-style
1388#[syntax(" <line-style> ")]
1389#[derive(
1390	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1391)]
1392#[declaration_metadata(
1393    initial = "none",
1394    applies_to = Unknown,
1395    animation_type = Discrete,
1396    property_group = Borders,
1397    computed_value_type = Unknown,
1398    canonical_order = "per grammar",
1399    logical_property_group = BorderStyle,
1400    box_portion = Border,
1401)]
1402#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1403#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-style"))]
1404#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1405pub struct BorderInlineEndStyleStyleValue;
1406
1407/// Represents the style value for `border-inline-end-width` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-inline-end-width).
1408///
1409/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
1410///
1411/// The grammar is defined as:
1412///
1413/// ```text,ignore
1414/// <line-width>
1415/// ```
1416///
1417/// https://drafts.csswg.org/css-borders-4/#border-inline-end-width
1418#[syntax(" <line-width> ")]
1419#[derive(
1420	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1421)]
1422#[declaration_metadata(
1423    initial = "medium",
1424    applies_to = Unknown,
1425    animation_type = ByComputedValue,
1426    property_group = Borders,
1427    computed_value_type = AbsoluteLengthOrNone,
1428    canonical_order = "per grammar",
1429    logical_property_group = BorderWidth,
1430    box_portion = Border,
1431)]
1432#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1433#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-width"))]
1434#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1435pub struct BorderInlineEndWidthStyleValue;
1436
1437/// Represents the style value for `border-inline-start` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-inline-start).
1438///
1439/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
1440///
1441/// The grammar is defined as:
1442///
1443/// ```text,ignore
1444/// <line-width> || <line-style> || <color>
1445/// ```
1446///
1447/// https://drafts.csswg.org/css-borders-4/#border-inline-start
1448#[syntax(" <line-width> || <line-style> || <color> ")]
1449#[derive(
1450	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1451)]
1452#[declaration_metadata(
1453    initial = "See individual properties",
1454    applies_to = Unknown,
1455    animation_type = Unknown,
1456    property_group = Borders,
1457    computed_value_type = Unknown,
1458    canonical_order = "per grammar",
1459    box_side = InlineStart,
1460    box_portion = Border,
1461)]
1462#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1463#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start"))]
1464#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1465pub struct BorderInlineStartStyleValue;
1466
1467/// Represents the style value for `border-inline-start-color` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-inline-start-color).
1468///
1469/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
1470///
1471/// The grammar is defined as:
1472///
1473/// ```text,ignore
1474/// <color> | <image-1D>
1475/// ```
1476///
1477/// https://drafts.csswg.org/css-borders-4/#border-inline-start-color
1478#[syntax(" <color> | <image-1D> ")]
1479#[derive(
1480	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1481)]
1482#[declaration_metadata(
1483    initial = "currentcolor",
1484    applies_to = Unknown,
1485    animation_type = Unknown,
1486    property_group = Borders,
1487    computed_value_type = Unknown,
1488    canonical_order = "per grammar",
1489    logical_property_group = BorderColor,
1490    box_portion = Border,
1491)]
1492#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1493#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-color"))]
1494#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1495pub enum BorderInlineStartColorStyleValue<'a> {}
1496
1497// /// Represents the style value for `border-inline-start-radius` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-inline-start-radius).
1498// ///
1499// /// The grammar is defined as:
1500// ///
1501// /// ```text,ignore
1502// /// <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?
1503// /// ```
1504// ///
1505// /// https://drafts.csswg.org/css-borders-4/#border-inline-start-radius
1506// #[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1507// #[derive(
1508//     Parse,
1509//     Peek,
1510//     ToSpan,
1511//     ToCursors,
1512//     DeclarationMetadata,
1513//     SemanticEq,
1514//     Debug,
1515//     Clone,
1516//     PartialEq,
1517//     Eq,
1518//     PartialOrd,
1519//     Ord,
1520//     Hash,
1521// )]
1522// #[declaration_metadata(
1523//     initial = "0",
1524//     applies_to = Elements,
1525//     percentages = BorderBox,
1526//     animation_type = Unknown,
1527//     property_group = Borders,
1528//     computed_value_type = Unknown,
1529//     canonical_order = "per grammar",
1530//     box_portion = Border,
1531// )]
1532// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1533// #[cfg_attr(
1534//     feature = "css_feature_data",
1535//     derive(ToCSSFeature),
1536//     css_feature("css.properties.border-inline-start-radius")
1537// )]
1538// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1539// pub struct BorderInlineStartRadiusStyleValue;
1540
1541/// Represents the style value for `border-inline-start-style` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-inline-start-style).
1542///
1543/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
1544///
1545/// The grammar is defined as:
1546///
1547/// ```text,ignore
1548/// <line-style>
1549/// ```
1550///
1551/// https://drafts.csswg.org/css-borders-4/#border-inline-start-style
1552#[syntax(" <line-style> ")]
1553#[derive(
1554	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1555)]
1556#[declaration_metadata(
1557    initial = "none",
1558    applies_to = Unknown,
1559    animation_type = Discrete,
1560    property_group = Borders,
1561    computed_value_type = Unknown,
1562    canonical_order = "per grammar",
1563    logical_property_group = BorderStyle,
1564    box_portion = Border,
1565)]
1566#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1567#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-style"))]
1568#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1569pub struct BorderInlineStartStyleStyleValue;
1570
1571/// Represents the style value for `border-inline-start-width` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-inline-start-width).
1572///
1573/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
1574///
1575/// The grammar is defined as:
1576///
1577/// ```text,ignore
1578/// <line-width>
1579/// ```
1580///
1581/// https://drafts.csswg.org/css-borders-4/#border-inline-start-width
1582#[syntax(" <line-width> ")]
1583#[derive(
1584	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1585)]
1586#[declaration_metadata(
1587    initial = "medium",
1588    applies_to = Unknown,
1589    animation_type = ByComputedValue,
1590    property_group = Borders,
1591    computed_value_type = AbsoluteLengthOrNone,
1592    canonical_order = "per grammar",
1593    logical_property_group = BorderWidth,
1594    box_portion = Border,
1595)]
1596#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1597#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-width"))]
1598#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1599pub struct BorderInlineStartWidthStyleValue;
1600
1601/// Represents the style value for `border-inline-style` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-inline-style).
1602///
1603/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
1604///
1605/// The grammar is defined as:
1606///
1607/// ```text,ignore
1608/// <'border-top-style'>{1,2}
1609/// ```
1610///
1611/// https://drafts.csswg.org/css-borders-4/#border-inline-style
1612#[syntax(" <'border-top-style'>{1,2} ")]
1613#[derive(
1614	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1615)]
1616#[declaration_metadata(
1617    initial = "see individual properties",
1618    inherits = Unknown,
1619    applies_to = Unknown,
1620    percentages = Unknown,
1621    animation_type = Unknown,
1622    property_group = Borders,
1623    computed_value_type = Unknown,
1624    canonical_order = "per grammar",
1625    box_side = InlineStart|InlineEnd,
1626    box_portion = Border,
1627)]
1628#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1629#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-style"))]
1630#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1631pub struct BorderInlineStyleStyleValue;
1632
1633/// Represents the style value for `border-inline-width` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-inline-width).
1634///
1635/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
1636///
1637/// The grammar is defined as:
1638///
1639/// ```text,ignore
1640/// <'border-top-width'>{1,2}
1641/// ```
1642///
1643/// https://drafts.csswg.org/css-borders-4/#border-inline-width
1644#[syntax(" <'border-top-width'>{1,2} ")]
1645#[derive(
1646	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1647)]
1648#[declaration_metadata(
1649    initial = "see individual properties",
1650    inherits = Unknown,
1651    applies_to = Unknown,
1652    percentages = Unknown,
1653    animation_type = Unknown,
1654    property_group = Borders,
1655    computed_value_type = Unknown,
1656    canonical_order = "per grammar",
1657    box_side = InlineStart|InlineEnd,
1658    box_portion = Border,
1659)]
1660#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1661#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-width"))]
1662#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1663pub struct BorderInlineWidthStyleValue;
1664
1665/// Represents the style value for `border-left` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-left).
1666///
1667/// The border CSS property sets the color, style, and width of the line around an element.
1668///
1669/// The grammar is defined as:
1670///
1671/// ```text,ignore
1672/// <line-width> || <line-style> || <color>
1673/// ```
1674///
1675/// https://drafts.csswg.org/css-borders-4/#border-left
1676#[syntax(" <line-width> || <line-style> || <color> ")]
1677#[derive(
1678	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1679)]
1680#[declaration_metadata(
1681    initial = "See individual properties",
1682    applies_to = Unknown,
1683    animation_type = Unknown,
1684    property_group = Borders,
1685    computed_value_type = Unknown,
1686    canonical_order = "per grammar",
1687    box_side = Left,
1688    box_portion = Border,
1689)]
1690#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1691#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left"))]
1692#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1693pub struct BorderLeftStyleValue;
1694
1695/// Represents the style value for `border-left-color` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-left-color).
1696///
1697/// The border CSS property sets the color, style, and width of the line around an element.
1698///
1699/// The grammar is defined as:
1700///
1701/// ```text,ignore
1702/// <color> | <image-1D>
1703/// ```
1704///
1705/// https://drafts.csswg.org/css-borders-4/#border-left-color
1706#[syntax(" <color> | <image-1D> ")]
1707#[derive(
1708	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1709)]
1710#[declaration_metadata(
1711    initial = "currentcolor",
1712    applies_to = Unknown,
1713    animation_type = Unknown,
1714    property_group = Borders,
1715    computed_value_type = Unknown,
1716    canonical_order = "per grammar",
1717    logical_property_group = BorderColor,
1718    box_portion = Border,
1719)]
1720#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1721#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-color"))]
1722#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1723pub enum BorderLeftColorStyleValue<'a> {}
1724
1725// /// Represents the style value for `border-left-radius` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-left-radius).
1726// ///
1727// /// The grammar is defined as:
1728// ///
1729// /// ```text,ignore
1730// /// <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?
1731// /// ```
1732// ///
1733// /// https://drafts.csswg.org/css-borders-4/#border-left-radius
1734// #[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1735// #[derive(
1736//     Parse,
1737//     Peek,
1738//     ToSpan,
1739//     ToCursors,
1740//     DeclarationMetadata,
1741//     SemanticEq,
1742//     Debug,
1743//     Clone,
1744//     PartialEq,
1745//     Eq,
1746//     PartialOrd,
1747//     Ord,
1748//     Hash,
1749// )]
1750// #[declaration_metadata(
1751//     initial = "0",
1752//     applies_to = Elements,
1753//     percentages = BorderBox,
1754//     animation_type = Unknown,
1755//     property_group = Borders,
1756//     computed_value_type = Unknown,
1757//     canonical_order = "per grammar",
1758//     box_portion = Border,
1759// )]
1760// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1761// #[cfg_attr(
1762//     feature = "css_feature_data",
1763//     derive(ToCSSFeature),
1764//     css_feature("css.properties.border-left-radius")
1765// )]
1766// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1767// pub struct BorderLeftRadiusStyleValue;
1768
1769/// Represents the style value for `border-left-style` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-left-style).
1770///
1771/// The border CSS property sets the color, style, and width of the line around an element.
1772///
1773/// The grammar is defined as:
1774///
1775/// ```text,ignore
1776/// <line-style>
1777/// ```
1778///
1779/// https://drafts.csswg.org/css-borders-4/#border-left-style
1780#[syntax(" <line-style> ")]
1781#[derive(
1782	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1783)]
1784#[declaration_metadata(
1785    initial = "none",
1786    applies_to = Unknown,
1787    animation_type = Discrete,
1788    property_group = Borders,
1789    computed_value_type = Unknown,
1790    canonical_order = "per grammar",
1791    logical_property_group = BorderStyle,
1792    box_portion = Border,
1793)]
1794#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1795#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-style"))]
1796#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1797pub struct BorderLeftStyleStyleValue;
1798
1799/// Represents the style value for `border-left-width` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-left-width).
1800///
1801/// The border CSS property sets the color, style, and width of the line around an element.
1802///
1803/// The grammar is defined as:
1804///
1805/// ```text,ignore
1806/// <line-width>
1807/// ```
1808///
1809/// https://drafts.csswg.org/css-borders-4/#border-left-width
1810#[syntax(" <line-width> ")]
1811#[derive(
1812	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1813)]
1814#[declaration_metadata(
1815    initial = "medium",
1816    applies_to = Unknown,
1817    animation_type = ByComputedValue,
1818    property_group = Borders,
1819    computed_value_type = AbsoluteLengthOrNone,
1820    canonical_order = "per grammar",
1821    logical_property_group = BorderWidth,
1822    box_portion = Border,
1823)]
1824#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1825#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-width"))]
1826#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1827pub struct BorderLeftWidthStyleValue;
1828
1829// /// Represents the style value for `border-limit` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-limit).
1830// ///
1831// /// The grammar is defined as:
1832// ///
1833// /// ```text,ignore
1834// /**all | [ sides | corners ] <length-percentage [0,∞]>?
1835// | [ top | right | bottom | left ] <length-percentage [0,∞]>*/
1836// /// ```
1837// ///
1838// /// https://drafts.csswg.org/css-borders-4/#border-limit
1839// #[syntax(
1840//     " all | [ sides | corners ] <length-percentage [0,∞]>? | [ top | right | bottom | left ] <length-percentage [0,∞]> "
1841// )]
1842// #[derive(
1843//     Parse,
1844//     Peek,
1845//     ToSpan,
1846//     ToCursors,
1847//     DeclarationMetadata,
1848//     SemanticEq,
1849//     Debug,
1850//     Clone,
1851//     PartialEq,
1852//     Eq,
1853//     PartialOrd,
1854//     Ord,
1855//     Hash,
1856// )]
1857// #[declaration_metadata(
1858//     initial = "all",
1859//     applies_to = Unknown,
1860//     percentages = BorderBox,
1861//     animation_type = Discrete,
1862//     property_group = Borders,
1863//     computed_value_type = AsSpecified,
1864//     canonical_order = "per grammar",
1865//     box_portion = Border,
1866// )]
1867// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1868// #[cfg_attr(
1869//     feature = "css_feature_data",
1870//     derive(ToCSSFeature),
1871//     css_feature("css.properties.border-limit")
1872// )]
1873// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1874// pub enum BorderLimitStyleValue {}
1875
1876// /// Represents the style value for `border-radius` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-radius).
1877// ///
1878// /// The border-radius CSS property rounds the corners of the border drawn around an element.
1879// ///
1880// /// The grammar is defined as:
1881// ///
1882// /// ```text,ignore
1883// /// <length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]?
1884// /// ```
1885// ///
1886// /// https://drafts.csswg.org/css-borders-4/#border-radius
1887// #[syntax(" <length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]? ")]
1888// #[derive(
1889//     Parse,
1890//     Peek,
1891//     ToSpan,
1892//     ToCursors,
1893//     DeclarationMetadata,
1894//     SemanticEq,
1895//     Debug,
1896//     Clone,
1897//     PartialEq,
1898//     Eq,
1899//     PartialOrd,
1900//     Ord,
1901//     Hash,
1902// )]
1903// #[declaration_metadata(
1904//     initial = "see individual properties",
1905//     inherits = Unknown,
1906//     applies_to = Unknown,
1907//     percentages = Unknown,
1908//     animation_type = Unknown,
1909//     property_group = Borders,
1910//     computed_value_type = Unknown,
1911//     canonical_order = "per grammar",
1912//     box_portion = Border,
1913// )]
1914// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1915// #[cfg_attr(
1916//     feature = "css_feature_data",
1917//     derive(ToCSSFeature),
1918//     css_feature("css.properties.border-radius")
1919// )]
1920// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1921// pub struct BorderRadiusStyleValue;
1922
1923/// Represents the style value for `border-right` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-right).
1924///
1925/// The border CSS property sets the color, style, and width of the line around an element.
1926///
1927/// The grammar is defined as:
1928///
1929/// ```text,ignore
1930/// <line-width> || <line-style> || <color>
1931/// ```
1932///
1933/// https://drafts.csswg.org/css-borders-4/#border-right
1934#[syntax(" <line-width> || <line-style> || <color> ")]
1935#[derive(
1936	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1937)]
1938#[declaration_metadata(
1939    initial = "See individual properties",
1940    applies_to = Unknown,
1941    animation_type = Unknown,
1942    property_group = Borders,
1943    computed_value_type = Unknown,
1944    canonical_order = "per grammar",
1945    box_side = Right,
1946    box_portion = Border,
1947)]
1948#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1949#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right"))]
1950#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1951pub struct BorderRightStyleValue;
1952
1953/// Represents the style value for `border-right-color` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-right-color).
1954///
1955/// The border CSS property sets the color, style, and width of the line around an element.
1956///
1957/// The grammar is defined as:
1958///
1959/// ```text,ignore
1960/// <color> | <image-1D>
1961/// ```
1962///
1963/// https://drafts.csswg.org/css-borders-4/#border-right-color
1964#[syntax(" <color> | <image-1D> ")]
1965#[derive(
1966	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1967)]
1968#[declaration_metadata(
1969    initial = "currentcolor",
1970    applies_to = Unknown,
1971    animation_type = Unknown,
1972    property_group = Borders,
1973    computed_value_type = Unknown,
1974    canonical_order = "per grammar",
1975    logical_property_group = BorderColor,
1976    box_portion = Border,
1977)]
1978#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1979#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-color"))]
1980#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1981pub enum BorderRightColorStyleValue<'a> {}
1982
1983// /// Represents the style value for `border-right-radius` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-right-radius).
1984// ///
1985// /// The grammar is defined as:
1986// ///
1987// /// ```text,ignore
1988// /// <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?
1989// /// ```
1990// ///
1991// /// https://drafts.csswg.org/css-borders-4/#border-right-radius
1992// #[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1993// #[derive(
1994//     Parse,
1995//     Peek,
1996//     ToSpan,
1997//     ToCursors,
1998//     DeclarationMetadata,
1999//     SemanticEq,
2000//     Debug,
2001//     Clone,
2002//     PartialEq,
2003//     Eq,
2004//     PartialOrd,
2005//     Ord,
2006//     Hash,
2007// )]
2008// #[declaration_metadata(
2009//     initial = "0",
2010//     applies_to = Elements,
2011//     percentages = BorderBox,
2012//     animation_type = Unknown,
2013//     property_group = Borders,
2014//     computed_value_type = Unknown,
2015//     canonical_order = "per grammar",
2016//     box_portion = Border,
2017// )]
2018// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2019// #[cfg_attr(
2020//     feature = "css_feature_data",
2021//     derive(ToCSSFeature),
2022//     css_feature("css.properties.border-right-radius")
2023// )]
2024// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2025// pub struct BorderRightRadiusStyleValue;
2026
2027/// Represents the style value for `border-right-style` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-right-style).
2028///
2029/// The border CSS property sets the color, style, and width of the line around an element.
2030///
2031/// The grammar is defined as:
2032///
2033/// ```text,ignore
2034/// <line-style>
2035/// ```
2036///
2037/// https://drafts.csswg.org/css-borders-4/#border-right-style
2038#[syntax(" <line-style> ")]
2039#[derive(
2040	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2041)]
2042#[declaration_metadata(
2043    initial = "none",
2044    applies_to = Unknown,
2045    animation_type = Discrete,
2046    property_group = Borders,
2047    computed_value_type = Unknown,
2048    canonical_order = "per grammar",
2049    logical_property_group = BorderStyle,
2050    box_portion = Border,
2051)]
2052#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2053#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-style"))]
2054#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2055pub struct BorderRightStyleStyleValue;
2056
2057/// Represents the style value for `border-right-width` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-right-width).
2058///
2059/// The border CSS property sets the color, style, and width of the line around an element.
2060///
2061/// The grammar is defined as:
2062///
2063/// ```text,ignore
2064/// <line-width>
2065/// ```
2066///
2067/// https://drafts.csswg.org/css-borders-4/#border-right-width
2068#[syntax(" <line-width> ")]
2069#[derive(
2070	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2071)]
2072#[declaration_metadata(
2073    initial = "medium",
2074    applies_to = Unknown,
2075    animation_type = ByComputedValue,
2076    property_group = Borders,
2077    computed_value_type = AbsoluteLengthOrNone,
2078    canonical_order = "per grammar",
2079    logical_property_group = BorderWidth,
2080    box_portion = Border,
2081)]
2082#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2083#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-width"))]
2084#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2085pub struct BorderRightWidthStyleValue;
2086
2087// /// Represents the style value for `border-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-shape).
2088// ///
2089// /// The grammar is defined as:
2090// ///
2091// /// ```text,ignore
2092// /// none | [ <basic-shape> <geometry-box>?]{1,2}
2093// /// ```
2094// ///
2095// /// https://drafts.csswg.org/css-borders-4/#border-shape
2096// #[syntax(" none | [ <basic-shape> <geometry-box>?]{1,2} ")]
2097// #[derive(
2098//     Parse,
2099//     Peek,
2100//     ToSpan,
2101//     ToCursors,
2102//     DeclarationMetadata,
2103//     SemanticEq,
2104//     Debug,
2105//     Clone,
2106//     PartialEq,
2107//     Eq,
2108//     PartialOrd,
2109//     Ord,
2110//     Hash,
2111// )]
2112// #[declaration_metadata(
2113//     initial = "none",
2114//     applies_to = Elements,
2115//     percentages = Unknown,
2116//     animation_type = ByComputedValue,
2117//     property_group = Borders,
2118//     computed_value_type = Unknown,
2119//     canonical_order = "per grammar",
2120//     box_portion = Border,
2121// )]
2122// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2123// #[cfg_attr(
2124//     feature = "css_feature_data",
2125//     derive(ToCSSFeature),
2126//     css_feature("css.properties.border-shape")
2127// )]
2128// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2129// pub struct BorderShapeStyleValue;
2130
2131/// Represents the style value for `border-start-end-radius` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-start-end-radius).
2132///
2133/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
2134///
2135/// The grammar is defined as:
2136///
2137/// ```text,ignore
2138/// <length-percentage [0,∞]>{1,2}
2139/// ```
2140///
2141/// https://drafts.csswg.org/css-borders-4/#border-start-end-radius
2142#[syntax(" <length-percentage [0,∞]>{1,2} ")]
2143#[derive(
2144	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2145)]
2146#[declaration_metadata(
2147    initial = "0",
2148    applies_to = Elements,
2149    percentages = BorderBox,
2150    animation_type = ByComputedValue,
2151    property_group = Borders,
2152    computed_value_type = Unknown,
2153    canonical_order = "per grammar",
2154    logical_property_group = BorderRadius,
2155    box_side = BlockStart|InlineEnd,
2156    box_portion = Border,
2157)]
2158#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2159#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-start-end-radius"))]
2160#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2161pub struct BorderStartEndRadiusStyleValue;
2162
2163/// Represents the style value for `border-start-start-radius` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-start-start-radius).
2164///
2165/// CSS logical properties control borders, size, margin, and padding with directions and dimensions relative to the writing mode. For example, in a left to right, top to bottom writing mode, block-end refers to the bottom. Also known as flow relative.
2166///
2167/// The grammar is defined as:
2168///
2169/// ```text,ignore
2170/// <length-percentage [0,∞]>{1,2}
2171/// ```
2172///
2173/// https://drafts.csswg.org/css-borders-4/#border-start-start-radius
2174#[syntax(" <length-percentage [0,∞]>{1,2} ")]
2175#[derive(
2176	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2177)]
2178#[declaration_metadata(
2179    initial = "0",
2180    applies_to = Elements,
2181    percentages = BorderBox,
2182    animation_type = ByComputedValue,
2183    property_group = Borders,
2184    computed_value_type = Unknown,
2185    canonical_order = "per grammar",
2186    logical_property_group = BorderRadius,
2187    box_side = BlockStart|InlineStart,
2188    box_portion = Border,
2189)]
2190#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2191#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-start-start-radius"))]
2192#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2193pub struct BorderStartStartRadiusStyleValue;
2194
2195/// Represents the style value for `border-style` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-style).
2196///
2197/// The border CSS property sets the color, style, and width of the line around an element.
2198///
2199/// The grammar is defined as:
2200///
2201/// ```text,ignore
2202/// <'border-top-style'>{1,4}
2203/// ```
2204///
2205/// https://drafts.csswg.org/css-borders-4/#border-style
2206#[syntax(" <'border-top-style'>{1,4} ")]
2207#[derive(
2208	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2209)]
2210#[declaration_metadata(
2211    initial = "see individual properties",
2212    inherits = Unknown,
2213    applies_to = Unknown,
2214    percentages = Unknown,
2215    animation_type = Unknown,
2216    property_group = Borders,
2217    computed_value_type = Unknown,
2218    canonical_order = "per grammar",
2219    box_side = Top|Bottom|Left|Right,
2220    box_portion = Border,
2221)]
2222#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2223#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-style"))]
2224#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2225pub struct BorderStyleStyleValue;
2226
2227/// Represents the style value for `border-top` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-top).
2228///
2229/// The border CSS property sets the color, style, and width of the line around an element.
2230///
2231/// The grammar is defined as:
2232///
2233/// ```text,ignore
2234/// <line-width> || <line-style> || <color>
2235/// ```
2236///
2237/// https://drafts.csswg.org/css-borders-4/#border-top
2238#[syntax(" <line-width> || <line-style> || <color> ")]
2239#[derive(
2240	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2241)]
2242#[declaration_metadata(
2243    initial = "See individual properties",
2244    applies_to = Unknown,
2245    animation_type = Unknown,
2246    property_group = Borders,
2247    computed_value_type = Unknown,
2248    canonical_order = "per grammar",
2249    box_side = Top,
2250    box_portion = Border,
2251)]
2252#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2253#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top"))]
2254#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2255pub struct BorderTopStyleValue;
2256
2257/// Represents the style value for `border-top-color` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-top-color).
2258///
2259/// The border CSS property sets the color, style, and width of the line around an element.
2260///
2261/// The grammar is defined as:
2262///
2263/// ```text,ignore
2264/// <color> | <image-1D>
2265/// ```
2266///
2267/// https://drafts.csswg.org/css-borders-4/#border-top-color
2268#[syntax(" <color> | <image-1D> ")]
2269#[derive(
2270	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2271)]
2272#[declaration_metadata(
2273    initial = "currentcolor",
2274    applies_to = Unknown,
2275    animation_type = Unknown,
2276    property_group = Borders,
2277    computed_value_type = Unknown,
2278    canonical_order = "per grammar",
2279    logical_property_group = BorderColor,
2280    box_portion = Border,
2281)]
2282#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2283#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-color"))]
2284#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2285pub enum BorderTopColorStyleValue<'a> {}
2286
2287/// Represents the style value for `border-top-left-radius` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-top-left-radius).
2288///
2289/// The border-radius CSS property rounds the corners of the border drawn around an element.
2290///
2291/// The grammar is defined as:
2292///
2293/// ```text,ignore
2294/// <length-percentage [0,∞]>{1,2}
2295/// ```
2296///
2297/// https://drafts.csswg.org/css-borders-4/#border-top-left-radius
2298#[syntax(" <length-percentage [0,∞]>{1,2} ")]
2299#[derive(
2300	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2301)]
2302#[declaration_metadata(
2303    initial = "0",
2304    applies_to = Elements,
2305    percentages = BorderBox,
2306    animation_type = ByComputedValue,
2307    property_group = Borders,
2308    computed_value_type = Unknown,
2309    canonical_order = "per grammar",
2310    logical_property_group = BorderRadius,
2311    box_side = Top|Left,
2312    box_portion = Border,
2313)]
2314#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2315#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-left-radius"))]
2316#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2317pub struct BorderTopLeftRadiusStyleValue;
2318
2319// /// Represents the style value for `border-top-radius` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-top-radius).
2320// ///
2321// /// The grammar is defined as:
2322// ///
2323// /// ```text,ignore
2324// /// <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?
2325// /// ```
2326// ///
2327// /// https://drafts.csswg.org/css-borders-4/#border-top-radius
2328// #[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
2329// #[derive(
2330//     Parse,
2331//     Peek,
2332//     ToSpan,
2333//     ToCursors,
2334//     DeclarationMetadata,
2335//     SemanticEq,
2336//     Debug,
2337//     Clone,
2338//     PartialEq,
2339//     Eq,
2340//     PartialOrd,
2341//     Ord,
2342//     Hash,
2343// )]
2344// #[declaration_metadata(
2345//     initial = "0",
2346//     applies_to = Elements,
2347//     percentages = BorderBox,
2348//     animation_type = Unknown,
2349//     property_group = Borders,
2350//     computed_value_type = Unknown,
2351//     canonical_order = "per grammar",
2352//     box_portion = Border,
2353// )]
2354// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2355// #[cfg_attr(
2356//     feature = "css_feature_data",
2357//     derive(ToCSSFeature),
2358//     css_feature("css.properties.border-top-radius")
2359// )]
2360// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2361// pub struct BorderTopRadiusStyleValue;
2362
2363/// Represents the style value for `border-top-right-radius` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-top-right-radius).
2364///
2365/// The border-radius CSS property rounds the corners of the border drawn around an element.
2366///
2367/// The grammar is defined as:
2368///
2369/// ```text,ignore
2370/// <length-percentage [0,∞]>{1,2}
2371/// ```
2372///
2373/// https://drafts.csswg.org/css-borders-4/#border-top-right-radius
2374#[syntax(" <length-percentage [0,∞]>{1,2} ")]
2375#[derive(
2376	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2377)]
2378#[declaration_metadata(
2379    initial = "0",
2380    applies_to = Elements,
2381    percentages = BorderBox,
2382    animation_type = ByComputedValue,
2383    property_group = Borders,
2384    computed_value_type = Unknown,
2385    canonical_order = "per grammar",
2386    logical_property_group = BorderRadius,
2387    box_side = Top|Right,
2388    box_portion = Border,
2389)]
2390#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2391#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-right-radius"))]
2392#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2393pub struct BorderTopRightRadiusStyleValue;
2394
2395/// Represents the style value for `border-top-style` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-top-style).
2396///
2397/// The border CSS property sets the color, style, and width of the line around an element.
2398///
2399/// The grammar is defined as:
2400///
2401/// ```text,ignore
2402/// <line-style>
2403/// ```
2404///
2405/// https://drafts.csswg.org/css-borders-4/#border-top-style
2406#[syntax(" <line-style> ")]
2407#[derive(
2408	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2409)]
2410#[declaration_metadata(
2411    initial = "none",
2412    applies_to = Unknown,
2413    animation_type = Discrete,
2414    property_group = Borders,
2415    computed_value_type = Unknown,
2416    canonical_order = "per grammar",
2417    logical_property_group = BorderStyle,
2418    box_portion = Border,
2419)]
2420#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2421#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-style"))]
2422#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2423pub struct BorderTopStyleStyleValue;
2424
2425/// Represents the style value for `border-top-width` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-top-width).
2426///
2427/// The border CSS property sets the color, style, and width of the line around an element.
2428///
2429/// The grammar is defined as:
2430///
2431/// ```text,ignore
2432/// <line-width>
2433/// ```
2434///
2435/// https://drafts.csswg.org/css-borders-4/#border-top-width
2436#[syntax(" <line-width> ")]
2437#[derive(
2438	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2439)]
2440#[declaration_metadata(
2441    initial = "medium",
2442    applies_to = Unknown,
2443    animation_type = ByComputedValue,
2444    property_group = Borders,
2445    computed_value_type = AbsoluteLengthOrNone,
2446    canonical_order = "per grammar",
2447    logical_property_group = BorderWidth,
2448    box_portion = Border,
2449)]
2450#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2451#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-width"))]
2452#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2453pub struct BorderTopWidthStyleValue;
2454
2455/// Represents the style value for `border-width` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-width).
2456///
2457/// The border CSS property sets the color, style, and width of the line around an element.
2458///
2459/// The grammar is defined as:
2460///
2461/// ```text,ignore
2462/// <'border-top-width'>{1,4}
2463/// ```
2464///
2465/// https://drafts.csswg.org/css-borders-4/#border-width
2466#[syntax(" <'border-top-width'>{1,4} ")]
2467#[derive(
2468	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2469)]
2470#[declaration_metadata(
2471    initial = "see individual properties",
2472    inherits = Unknown,
2473    applies_to = Unknown,
2474    percentages = Unknown,
2475    animation_type = Unknown,
2476    property_group = Borders,
2477    computed_value_type = Unknown,
2478    canonical_order = "per grammar",
2479    box_side = Top|Bottom|Left|Right,
2480    box_portion = Border,
2481)]
2482#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2483#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-width"))]
2484#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2485pub struct BorderWidthStyleValue;
2486
2487/// Represents the style value for `box-shadow` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#box-shadow).
2488///
2489/// The box-shadow CSS property applies shadow effects around an element's frame. This can create drop shadow and inner shadow effects.
2490///
2491/// The grammar is defined as:
2492///
2493/// ```text,ignore
2494/// <spread-shadow>#
2495/// ```
2496///
2497/// https://drafts.csswg.org/css-borders-4/#box-shadow
2498#[syntax(" <spread-shadow># ")]
2499#[derive(
2500	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2501)]
2502#[declaration_metadata(
2503    initial = "none",
2504    applies_to = Elements,
2505    animation_type = Unknown,
2506    property_group = Borders,
2507    computed_value_type = Unknown,
2508    canonical_order = "per grammar",
2509)]
2510#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2511#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow"))]
2512#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2513pub struct BoxShadowStyleValue<'a>;
2514
2515/// Represents the style value for `box-shadow-blur` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#box-shadow-blur).
2516///
2517/// The grammar is defined as:
2518///
2519/// ```text,ignore
2520/// <length [0,∞]>#
2521/// ```
2522///
2523/// https://drafts.csswg.org/css-borders-4/#box-shadow-blur
2524#[syntax(" <length [0,∞]># ")]
2525#[derive(
2526	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2527)]
2528#[declaration_metadata(
2529    initial = "0",
2530    applies_to = Elements,
2531    animation_type = ByComputedValue,
2532    property_group = Borders,
2533    computed_value_type = Unknown,
2534    canonical_order = "per grammar",
2535)]
2536#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2537#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-blur"))]
2538#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2539pub struct BoxShadowBlurStyleValue<'a>;
2540
2541/// Represents the style value for `box-shadow-color` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#box-shadow-color).
2542///
2543/// The grammar is defined as:
2544///
2545/// ```text,ignore
2546/// <color>#
2547/// ```
2548///
2549/// https://drafts.csswg.org/css-borders-4/#box-shadow-color
2550#[syntax(" <color># ")]
2551#[derive(
2552	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2553)]
2554#[declaration_metadata(
2555    initial = "currentcolor",
2556    applies_to = Elements,
2557    animation_type = ByComputedValue,
2558    property_group = Borders,
2559    computed_value_type = Unknown,
2560    canonical_order = "per grammar",
2561)]
2562#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2563#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-color"))]
2564#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2565pub struct BoxShadowColorStyleValue<'a>;
2566
2567// /// Represents the style value for `box-shadow-offset` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#box-shadow-offset).
2568// ///
2569// /// The grammar is defined as:
2570// ///
2571// /// ```text,ignore
2572// /// [ none | <length>{2} ]#
2573// /// ```
2574// ///
2575// /// https://drafts.csswg.org/css-borders-4/#box-shadow-offset
2576// #[syntax(" [ none | <length>{2} ]# ")]
2577// #[derive(
2578//     Parse,
2579//     Peek,
2580//     ToSpan,
2581//     ToCursors,
2582//     DeclarationMetadata,
2583//     SemanticEq,
2584//     Debug,
2585//     Clone,
2586//     PartialEq,
2587//     Eq,
2588//     PartialOrd,
2589//     Ord,
2590//     Hash,
2591// )]
2592// #[declaration_metadata(
2593//     initial = "none",
2594//     applies_to = Elements,
2595//     animation_type = ByComputedValue,
2596//     property_group = Borders,
2597//     computed_value_type = Unknown,
2598//     canonical_order = "per grammar",
2599// )]
2600// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2601// #[cfg_attr(
2602//     feature = "css_feature_data",
2603//     derive(ToCSSFeature),
2604//     css_feature("css.properties.box-shadow-offset")
2605// )]
2606// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2607// pub struct BoxShadowOffsetStyleValue<'a>;
2608
2609/// Represents the style value for `box-shadow-position` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#box-shadow-position).
2610///
2611/// The grammar is defined as:
2612///
2613/// ```text,ignore
2614/// [ outset | inset ]#
2615/// ```
2616///
2617/// https://drafts.csswg.org/css-borders-4/#box-shadow-position
2618#[syntax(" [ outset | inset ]# ")]
2619#[derive(
2620	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2621)]
2622#[declaration_metadata(
2623    initial = "outset",
2624    applies_to = Elements,
2625    animation_type = ByComputedValue,
2626    property_group = Borders,
2627    computed_value_type = Unknown,
2628    canonical_order = "per grammar",
2629)]
2630#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2631#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-position"))]
2632#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2633pub struct BoxShadowPositionStyleValue<'a>;
2634
2635/// Represents the style value for `box-shadow-spread` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#box-shadow-spread).
2636///
2637/// The grammar is defined as:
2638///
2639/// ```text,ignore
2640/// <length>#
2641/// ```
2642///
2643/// https://drafts.csswg.org/css-borders-4/#box-shadow-spread
2644#[syntax(" <length># ")]
2645#[derive(
2646	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2647)]
2648#[declaration_metadata(
2649    initial = "0",
2650    applies_to = Elements,
2651    animation_type = ByComputedValue,
2652    property_group = Borders,
2653    computed_value_type = Unknown,
2654    canonical_order = "per grammar",
2655)]
2656#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2657#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-spread"))]
2658#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2659pub struct BoxShadowSpreadStyleValue<'a>;
2660
2661// /// Represents the style value for `corner` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner).
2662// ///
2663// /// The grammar is defined as:
2664// ///
2665// /// ```text,ignore
2666// /// <'border-radius'> || <'corner-shape'>
2667// /// ```
2668// ///
2669// /// https://drafts.csswg.org/css-borders-4/#corner
2670// #[syntax(" <'border-radius'> || <'corner-shape'> ")]
2671// #[derive(
2672//     Parse,
2673//     Peek,
2674//     ToSpan,
2675//     ToCursors,
2676//     DeclarationMetadata,
2677//     SemanticEq,
2678//     Debug,
2679//     Clone,
2680//     PartialEq,
2681//     Eq,
2682//     PartialOrd,
2683//     Ord,
2684//     Hash,
2685// )]
2686// #[declaration_metadata(
2687//     initial = "0",
2688//     applies_to = Elements,
2689//     percentages = BorderBox,
2690//     animation_type = Unknown,
2691//     property_group = Borders,
2692//     computed_value_type = Unknown,
2693//     canonical_order = "per grammar",
2694// )]
2695// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2696// #[cfg_attr(
2697//     feature = "css_feature_data",
2698//     derive(ToCSSFeature),
2699//     css_feature("css.properties.corner")
2700// )]
2701// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2702// pub struct CornerStyleValue;
2703
2704// /// Represents the style value for `corner-block-end` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-block-end).
2705// ///
2706// /// The grammar is defined as:
2707// ///
2708// /// ```text,ignore
2709// /// <'border-top-radius'> || <'corner-top-shape'>
2710// /// ```
2711// ///
2712// /// https://drafts.csswg.org/css-borders-4/#corner-block-end
2713// #[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
2714// #[derive(
2715//     Parse,
2716//     Peek,
2717//     ToSpan,
2718//     ToCursors,
2719//     DeclarationMetadata,
2720//     SemanticEq,
2721//     Debug,
2722//     Clone,
2723//     PartialEq,
2724//     Eq,
2725//     PartialOrd,
2726//     Ord,
2727//     Hash,
2728// )]
2729// #[declaration_metadata(
2730//     initial = "0",
2731//     applies_to = Elements,
2732//     percentages = BorderBox,
2733//     animation_type = Unknown,
2734//     property_group = Borders,
2735//     computed_value_type = Unknown,
2736//     canonical_order = "per grammar",
2737//     box_side = BlockEnd,
2738// )]
2739// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2740// #[cfg_attr(
2741//     feature = "css_feature_data",
2742//     derive(ToCSSFeature),
2743//     css_feature("css.properties.corner-block-end")
2744// )]
2745// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2746// pub struct CornerBlockEndStyleValue;
2747
2748/// Represents the style value for `corner-block-end-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-block-end-shape).
2749///
2750/// The corner-shape CSS property sets the shape of an element's corners when using border-radius, allowing for shapes other than rounded corners. For example, corner-shape: squircle is a shape in between a square and rounded corner.
2751///
2752/// The grammar is defined as:
2753///
2754/// ```text,ignore
2755/// <'corner-top-left-shape'>{1,2}
2756/// ```
2757///
2758/// https://drafts.csswg.org/css-borders-4/#corner-block-end-shape
2759#[syntax(" <'corner-top-left-shape'>{1,2} ")]
2760#[derive(
2761	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2762)]
2763#[declaration_metadata(
2764    initial = "see individual properties",
2765    inherits = Unknown,
2766    applies_to = Unknown,
2767    percentages = Unknown,
2768    animation_type = Unknown,
2769    property_group = Borders,
2770    computed_value_type = Unknown,
2771    canonical_order = "per grammar",
2772)]
2773#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2774#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-block-end-shape"))]
2775#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2776pub struct CornerBlockEndShapeStyleValue;
2777
2778// /// Represents the style value for `corner-block-start` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-block-start).
2779// ///
2780// /// The grammar is defined as:
2781// ///
2782// /// ```text,ignore
2783// /// <'border-top-radius'> || <'corner-top-shape'>
2784// /// ```
2785// ///
2786// /// https://drafts.csswg.org/css-borders-4/#corner-block-start
2787// #[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
2788// #[derive(
2789//     Parse,
2790//     Peek,
2791//     ToSpan,
2792//     ToCursors,
2793//     DeclarationMetadata,
2794//     SemanticEq,
2795//     Debug,
2796//     Clone,
2797//     PartialEq,
2798//     Eq,
2799//     PartialOrd,
2800//     Ord,
2801//     Hash,
2802// )]
2803// #[declaration_metadata(
2804//     initial = "0",
2805//     applies_to = Elements,
2806//     percentages = BorderBox,
2807//     animation_type = Unknown,
2808//     property_group = Borders,
2809//     computed_value_type = Unknown,
2810//     canonical_order = "per grammar",
2811//     box_side = BlockStart,
2812// )]
2813// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2814// #[cfg_attr(
2815//     feature = "css_feature_data",
2816//     derive(ToCSSFeature),
2817//     css_feature("css.properties.corner-block-start")
2818// )]
2819// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2820// pub struct CornerBlockStartStyleValue;
2821
2822/// Represents the style value for `corner-block-start-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-block-start-shape).
2823///
2824/// The corner-shape CSS property sets the shape of an element's corners when using border-radius, allowing for shapes other than rounded corners. For example, corner-shape: squircle is a shape in between a square and rounded corner.
2825///
2826/// The grammar is defined as:
2827///
2828/// ```text,ignore
2829/// <'corner-top-left-shape'>{1,2}
2830/// ```
2831///
2832/// https://drafts.csswg.org/css-borders-4/#corner-block-start-shape
2833#[syntax(" <'corner-top-left-shape'>{1,2} ")]
2834#[derive(
2835	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2836)]
2837#[declaration_metadata(
2838    initial = "see individual properties",
2839    inherits = Unknown,
2840    applies_to = Unknown,
2841    percentages = Unknown,
2842    animation_type = Unknown,
2843    property_group = Borders,
2844    computed_value_type = Unknown,
2845    canonical_order = "per grammar",
2846)]
2847#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2848#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-block-start-shape"))]
2849#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2850pub struct CornerBlockStartShapeStyleValue;
2851
2852// /// Represents the style value for `corner-bottom` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-bottom).
2853// ///
2854// /// The grammar is defined as:
2855// ///
2856// /// ```text,ignore
2857// /// <'border-top-radius'> || <'corner-top-shape'>
2858// /// ```
2859// ///
2860// /// https://drafts.csswg.org/css-borders-4/#corner-bottom
2861// #[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
2862// #[derive(
2863//     Parse,
2864//     Peek,
2865//     ToSpan,
2866//     ToCursors,
2867//     DeclarationMetadata,
2868//     SemanticEq,
2869//     Debug,
2870//     Clone,
2871//     PartialEq,
2872//     Eq,
2873//     PartialOrd,
2874//     Ord,
2875//     Hash,
2876// )]
2877// #[declaration_metadata(
2878//     initial = "0",
2879//     applies_to = Elements,
2880//     percentages = BorderBox,
2881//     animation_type = Unknown,
2882//     property_group = Borders,
2883//     computed_value_type = Unknown,
2884//     canonical_order = "per grammar",
2885//     box_side = Bottom,
2886// )]
2887// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2888// #[cfg_attr(
2889//     feature = "css_feature_data",
2890//     derive(ToCSSFeature),
2891//     css_feature("css.properties.corner-bottom")
2892// )]
2893// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2894// pub struct CornerBottomStyleValue;
2895
2896// /// Represents the style value for `corner-bottom-left` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-bottom-left).
2897// ///
2898// /// The grammar is defined as:
2899// ///
2900// /// ```text,ignore
2901// /// <'border-top-left-radius'> || <'corner-top-left-shape'>
2902// /// ```
2903// ///
2904// /// https://drafts.csswg.org/css-borders-4/#corner-bottom-left
2905// #[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
2906// #[derive(
2907//     Parse,
2908//     Peek,
2909//     ToSpan,
2910//     ToCursors,
2911//     DeclarationMetadata,
2912//     SemanticEq,
2913//     Debug,
2914//     Clone,
2915//     PartialEq,
2916//     Eq,
2917//     PartialOrd,
2918//     Ord,
2919//     Hash,
2920// )]
2921// #[declaration_metadata(
2922//     initial = "0",
2923//     applies_to = Elements,
2924//     percentages = BorderBox,
2925//     animation_type = Unknown,
2926//     property_group = Borders,
2927//     computed_value_type = Unknown,
2928//     canonical_order = "per grammar",
2929//     box_side = Bottom|Left,
2930// )]
2931// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2932// #[cfg_attr(
2933//     feature = "css_feature_data",
2934//     derive(ToCSSFeature),
2935//     css_feature("css.properties.corner-bottom-left")
2936// )]
2937// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2938// pub struct CornerBottomLeftStyleValue;
2939
2940/// Represents the style value for `corner-bottom-left-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-bottom-left-shape).
2941///
2942/// The corner-shape CSS property sets the shape of an element's corners when using border-radius, allowing for shapes other than rounded corners. For example, corner-shape: squircle is a shape in between a square and rounded corner.
2943///
2944/// The grammar is defined as:
2945///
2946/// ```text,ignore
2947/// <corner-shape-value>
2948/// ```
2949///
2950/// https://drafts.csswg.org/css-borders-4/#corner-bottom-left-shape
2951#[syntax(" <corner-shape-value> ")]
2952#[derive(
2953	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2954)]
2955#[declaration_metadata(
2956    initial = "round",
2957    applies_to = Unknown,
2958    animation_type = Unknown,
2959    property_group = Borders,
2960    computed_value_type = Unknown,
2961    canonical_order = "per grammar",
2962    logical_property_group = CornerShape,
2963    box_side = Bottom|Left,
2964)]
2965#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2966#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-left-shape"))]
2967#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2968pub struct CornerBottomLeftShapeStyleValue;
2969
2970// /// Represents the style value for `corner-bottom-right` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-bottom-right).
2971// ///
2972// /// The grammar is defined as:
2973// ///
2974// /// ```text,ignore
2975// /// <'border-top-left-radius'> || <'corner-top-left-shape'>
2976// /// ```
2977// ///
2978// /// https://drafts.csswg.org/css-borders-4/#corner-bottom-right
2979// #[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
2980// #[derive(
2981//     Parse,
2982//     Peek,
2983//     ToSpan,
2984//     ToCursors,
2985//     DeclarationMetadata,
2986//     SemanticEq,
2987//     Debug,
2988//     Clone,
2989//     PartialEq,
2990//     Eq,
2991//     PartialOrd,
2992//     Ord,
2993//     Hash,
2994// )]
2995// #[declaration_metadata(
2996//     initial = "0",
2997//     applies_to = Elements,
2998//     percentages = BorderBox,
2999//     animation_type = Unknown,
3000//     property_group = Borders,
3001//     computed_value_type = Unknown,
3002//     canonical_order = "per grammar",
3003//     box_side = Bottom|Right,
3004// )]
3005// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3006// #[cfg_attr(
3007//     feature = "css_feature_data",
3008//     derive(ToCSSFeature),
3009//     css_feature("css.properties.corner-bottom-right")
3010// )]
3011// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3012// pub struct CornerBottomRightStyleValue;
3013
3014/// Represents the style value for `corner-bottom-right-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-bottom-right-shape).
3015///
3016/// The corner-shape CSS property sets the shape of an element's corners when using border-radius, allowing for shapes other than rounded corners. For example, corner-shape: squircle is a shape in between a square and rounded corner.
3017///
3018/// The grammar is defined as:
3019///
3020/// ```text,ignore
3021/// <corner-shape-value>
3022/// ```
3023///
3024/// https://drafts.csswg.org/css-borders-4/#corner-bottom-right-shape
3025#[syntax(" <corner-shape-value> ")]
3026#[derive(
3027	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3028)]
3029#[declaration_metadata(
3030    initial = "round",
3031    applies_to = Unknown,
3032    animation_type = Unknown,
3033    property_group = Borders,
3034    computed_value_type = Unknown,
3035    canonical_order = "per grammar",
3036    logical_property_group = CornerShape,
3037    box_side = Bottom|Right,
3038)]
3039#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3040#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-right-shape"))]
3041#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3042pub struct CornerBottomRightShapeStyleValue;
3043
3044/// Represents the style value for `corner-bottom-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-bottom-shape).
3045///
3046/// The corner-shape CSS property sets the shape of an element's corners when using border-radius, allowing for shapes other than rounded corners. For example, corner-shape: squircle is a shape in between a square and rounded corner.
3047///
3048/// The grammar is defined as:
3049///
3050/// ```text,ignore
3051/// <'corner-top-left-shape'>{1,2}
3052/// ```
3053///
3054/// https://drafts.csswg.org/css-borders-4/#corner-bottom-shape
3055#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3056#[derive(
3057	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3058)]
3059#[declaration_metadata(
3060    initial = "see individual properties",
3061    inherits = Unknown,
3062    applies_to = Unknown,
3063    percentages = Unknown,
3064    animation_type = Unknown,
3065    property_group = Borders,
3066    computed_value_type = Unknown,
3067    canonical_order = "per grammar",
3068)]
3069#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3070#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-shape"))]
3071#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3072pub struct CornerBottomShapeStyleValue;
3073
3074// /// Represents the style value for `corner-end-end` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-end-end).
3075// ///
3076// /// The grammar is defined as:
3077// ///
3078// /// ```text,ignore
3079// /// <'border-top-left-radius'> || <'corner-top-left-shape'>
3080// /// ```
3081// ///
3082// /// https://drafts.csswg.org/css-borders-4/#corner-end-end
3083// #[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
3084// #[derive(
3085//     Parse,
3086//     Peek,
3087//     ToSpan,
3088//     ToCursors,
3089//     DeclarationMetadata,
3090//     SemanticEq,
3091//     Debug,
3092//     Clone,
3093//     PartialEq,
3094//     Eq,
3095//     PartialOrd,
3096//     Ord,
3097//     Hash,
3098// )]
3099// #[declaration_metadata(
3100//     initial = "0",
3101//     applies_to = Elements,
3102//     percentages = BorderBox,
3103//     animation_type = Unknown,
3104//     property_group = Borders,
3105//     computed_value_type = Unknown,
3106//     canonical_order = "per grammar",
3107//     box_side = BlockEnd|InlineEnd,
3108// )]
3109// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3110// #[cfg_attr(
3111//     feature = "css_feature_data",
3112//     derive(ToCSSFeature),
3113//     css_feature("css.properties.corner-end-end")
3114// )]
3115// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3116// pub struct CornerEndEndStyleValue;
3117
3118/// Represents the style value for `corner-end-end-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-end-end-shape).
3119///
3120/// The corner-shape CSS property sets the shape of an element's corners when using border-radius, allowing for shapes other than rounded corners. For example, corner-shape: squircle is a shape in between a square and rounded corner.
3121///
3122/// The grammar is defined as:
3123///
3124/// ```text,ignore
3125/// <corner-shape-value>
3126/// ```
3127///
3128/// https://drafts.csswg.org/css-borders-4/#corner-end-end-shape
3129#[syntax(" <corner-shape-value> ")]
3130#[derive(
3131	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3132)]
3133#[declaration_metadata(
3134    initial = "round",
3135    applies_to = Unknown,
3136    animation_type = Unknown,
3137    property_group = Borders,
3138    computed_value_type = Unknown,
3139    canonical_order = "per grammar",
3140    logical_property_group = CornerShape,
3141    box_side = BlockEnd|InlineEnd,
3142)]
3143#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3144#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-end-end-shape"))]
3145#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3146pub struct CornerEndEndShapeStyleValue;
3147
3148// /// Represents the style value for `corner-end-start` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-end-start).
3149// ///
3150// /// The grammar is defined as:
3151// ///
3152// /// ```text,ignore
3153// /// <'border-top-left-radius'> || <'corner-top-left-shape'>
3154// /// ```
3155// ///
3156// /// https://drafts.csswg.org/css-borders-4/#corner-end-start
3157// #[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
3158// #[derive(
3159//     Parse,
3160//     Peek,
3161//     ToSpan,
3162//     ToCursors,
3163//     DeclarationMetadata,
3164//     SemanticEq,
3165//     Debug,
3166//     Clone,
3167//     PartialEq,
3168//     Eq,
3169//     PartialOrd,
3170//     Ord,
3171//     Hash,
3172// )]
3173// #[declaration_metadata(
3174//     initial = "0",
3175//     applies_to = Elements,
3176//     percentages = BorderBox,
3177//     animation_type = Unknown,
3178//     property_group = Borders,
3179//     computed_value_type = Unknown,
3180//     canonical_order = "per grammar",
3181//     box_side = BlockEnd|InlineStart,
3182// )]
3183// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3184// #[cfg_attr(
3185//     feature = "css_feature_data",
3186//     derive(ToCSSFeature),
3187//     css_feature("css.properties.corner-end-start")
3188// )]
3189// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3190// pub struct CornerEndStartStyleValue;
3191
3192/// Represents the style value for `corner-end-start-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-end-start-shape).
3193///
3194/// The corner-shape CSS property sets the shape of an element's corners when using border-radius, allowing for shapes other than rounded corners. For example, corner-shape: squircle is a shape in between a square and rounded corner.
3195///
3196/// The grammar is defined as:
3197///
3198/// ```text,ignore
3199/// <corner-shape-value>
3200/// ```
3201///
3202/// https://drafts.csswg.org/css-borders-4/#corner-end-start-shape
3203#[syntax(" <corner-shape-value> ")]
3204#[derive(
3205	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3206)]
3207#[declaration_metadata(
3208    initial = "round",
3209    applies_to = Unknown,
3210    animation_type = Unknown,
3211    property_group = Borders,
3212    computed_value_type = Unknown,
3213    canonical_order = "per grammar",
3214    logical_property_group = CornerShape,
3215    box_side = BlockEnd|InlineStart,
3216)]
3217#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3218#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-end-start-shape"))]
3219#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3220pub struct CornerEndStartShapeStyleValue;
3221
3222// /// Represents the style value for `corner-inline-end` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-inline-end).
3223// ///
3224// /// The grammar is defined as:
3225// ///
3226// /// ```text,ignore
3227// /// <'border-top-radius'> || <'corner-top-shape'>
3228// /// ```
3229// ///
3230// /// https://drafts.csswg.org/css-borders-4/#corner-inline-end
3231// #[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
3232// #[derive(
3233//     Parse,
3234//     Peek,
3235//     ToSpan,
3236//     ToCursors,
3237//     DeclarationMetadata,
3238//     SemanticEq,
3239//     Debug,
3240//     Clone,
3241//     PartialEq,
3242//     Eq,
3243//     PartialOrd,
3244//     Ord,
3245//     Hash,
3246// )]
3247// #[declaration_metadata(
3248//     initial = "0",
3249//     applies_to = Elements,
3250//     percentages = BorderBox,
3251//     animation_type = Unknown,
3252//     property_group = Borders,
3253//     computed_value_type = Unknown,
3254//     canonical_order = "per grammar",
3255//     box_side = InlineEnd,
3256// )]
3257// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3258// #[cfg_attr(
3259//     feature = "css_feature_data",
3260//     derive(ToCSSFeature),
3261//     css_feature("css.properties.corner-inline-end")
3262// )]
3263// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3264// pub struct CornerInlineEndStyleValue;
3265
3266/// Represents the style value for `corner-inline-end-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-inline-end-shape).
3267///
3268/// The corner-shape CSS property sets the shape of an element's corners when using border-radius, allowing for shapes other than rounded corners. For example, corner-shape: squircle is a shape in between a square and rounded corner.
3269///
3270/// The grammar is defined as:
3271///
3272/// ```text,ignore
3273/// <'corner-top-left-shape'>{1,2}
3274/// ```
3275///
3276/// https://drafts.csswg.org/css-borders-4/#corner-inline-end-shape
3277#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3278#[derive(
3279	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3280)]
3281#[declaration_metadata(
3282    initial = "see individual properties",
3283    inherits = Unknown,
3284    applies_to = Unknown,
3285    percentages = Unknown,
3286    animation_type = Unknown,
3287    property_group = Borders,
3288    computed_value_type = Unknown,
3289    canonical_order = "per grammar",
3290)]
3291#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3292#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-inline-end-shape"))]
3293#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3294pub struct CornerInlineEndShapeStyleValue;
3295
3296// /// Represents the style value for `corner-inline-start` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-inline-start).
3297// ///
3298// /// The grammar is defined as:
3299// ///
3300// /// ```text,ignore
3301// /// <'border-top-radius'> || <'corner-top-shape'>
3302// /// ```
3303// ///
3304// /// https://drafts.csswg.org/css-borders-4/#corner-inline-start
3305// #[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
3306// #[derive(
3307//     Parse,
3308//     Peek,
3309//     ToSpan,
3310//     ToCursors,
3311//     DeclarationMetadata,
3312//     SemanticEq,
3313//     Debug,
3314//     Clone,
3315//     PartialEq,
3316//     Eq,
3317//     PartialOrd,
3318//     Ord,
3319//     Hash,
3320// )]
3321// #[declaration_metadata(
3322//     initial = "0",
3323//     applies_to = Elements,
3324//     percentages = BorderBox,
3325//     animation_type = Unknown,
3326//     property_group = Borders,
3327//     computed_value_type = Unknown,
3328//     canonical_order = "per grammar",
3329//     box_side = InlineStart,
3330// )]
3331// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3332// #[cfg_attr(
3333//     feature = "css_feature_data",
3334//     derive(ToCSSFeature),
3335//     css_feature("css.properties.corner-inline-start")
3336// )]
3337// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3338// pub struct CornerInlineStartStyleValue;
3339
3340/// Represents the style value for `corner-inline-start-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-inline-start-shape).
3341///
3342/// The corner-shape CSS property sets the shape of an element's corners when using border-radius, allowing for shapes other than rounded corners. For example, corner-shape: squircle is a shape in between a square and rounded corner.
3343///
3344/// The grammar is defined as:
3345///
3346/// ```text,ignore
3347/// <'corner-top-left-shape'>{1,2}
3348/// ```
3349///
3350/// https://drafts.csswg.org/css-borders-4/#corner-inline-start-shape
3351#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3352#[derive(
3353	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3354)]
3355#[declaration_metadata(
3356    initial = "see individual properties",
3357    inherits = Unknown,
3358    applies_to = Unknown,
3359    percentages = Unknown,
3360    animation_type = Unknown,
3361    property_group = Borders,
3362    computed_value_type = Unknown,
3363    canonical_order = "per grammar",
3364)]
3365#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3366#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-inline-start-shape"))]
3367#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3368pub struct CornerInlineStartShapeStyleValue;
3369
3370// /// Represents the style value for `corner-left` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-left).
3371// ///
3372// /// The grammar is defined as:
3373// ///
3374// /// ```text,ignore
3375// /// <'border-top-radius'> || <'corner-top-shape'>
3376// /// ```
3377// ///
3378// /// https://drafts.csswg.org/css-borders-4/#corner-left
3379// #[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
3380// #[derive(
3381//     Parse,
3382//     Peek,
3383//     ToSpan,
3384//     ToCursors,
3385//     DeclarationMetadata,
3386//     SemanticEq,
3387//     Debug,
3388//     Clone,
3389//     PartialEq,
3390//     Eq,
3391//     PartialOrd,
3392//     Ord,
3393//     Hash,
3394// )]
3395// #[declaration_metadata(
3396//     initial = "0",
3397//     applies_to = Elements,
3398//     percentages = BorderBox,
3399//     animation_type = Unknown,
3400//     property_group = Borders,
3401//     computed_value_type = Unknown,
3402//     canonical_order = "per grammar",
3403//     box_side = Left,
3404// )]
3405// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3406// #[cfg_attr(
3407//     feature = "css_feature_data",
3408//     derive(ToCSSFeature),
3409//     css_feature("css.properties.corner-left")
3410// )]
3411// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3412// pub struct CornerLeftStyleValue;
3413
3414/// Represents the style value for `corner-left-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-left-shape).
3415///
3416/// The corner-shape CSS property sets the shape of an element's corners when using border-radius, allowing for shapes other than rounded corners. For example, corner-shape: squircle is a shape in between a square and rounded corner.
3417///
3418/// The grammar is defined as:
3419///
3420/// ```text,ignore
3421/// <'corner-top-left-shape'>{1,2}
3422/// ```
3423///
3424/// https://drafts.csswg.org/css-borders-4/#corner-left-shape
3425#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3426#[derive(
3427	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3428)]
3429#[declaration_metadata(
3430    initial = "see individual properties",
3431    inherits = Unknown,
3432    applies_to = Unknown,
3433    percentages = Unknown,
3434    animation_type = Unknown,
3435    property_group = Borders,
3436    computed_value_type = Unknown,
3437    canonical_order = "per grammar",
3438)]
3439#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3440#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-left-shape"))]
3441#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3442pub struct CornerLeftShapeStyleValue;
3443
3444// /// Represents the style value for `corner-right` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-right).
3445// ///
3446// /// The grammar is defined as:
3447// ///
3448// /// ```text,ignore
3449// /// <'border-top-radius'> || <'corner-top-shape'>
3450// /// ```
3451// ///
3452// /// https://drafts.csswg.org/css-borders-4/#corner-right
3453// #[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
3454// #[derive(
3455//     Parse,
3456//     Peek,
3457//     ToSpan,
3458//     ToCursors,
3459//     DeclarationMetadata,
3460//     SemanticEq,
3461//     Debug,
3462//     Clone,
3463//     PartialEq,
3464//     Eq,
3465//     PartialOrd,
3466//     Ord,
3467//     Hash,
3468// )]
3469// #[declaration_metadata(
3470//     initial = "0",
3471//     applies_to = Elements,
3472//     percentages = BorderBox,
3473//     animation_type = Unknown,
3474//     property_group = Borders,
3475//     computed_value_type = Unknown,
3476//     canonical_order = "per grammar",
3477//     box_side = Right,
3478// )]
3479// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3480// #[cfg_attr(
3481//     feature = "css_feature_data",
3482//     derive(ToCSSFeature),
3483//     css_feature("css.properties.corner-right")
3484// )]
3485// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3486// pub struct CornerRightStyleValue;
3487
3488/// Represents the style value for `corner-right-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-right-shape).
3489///
3490/// The corner-shape CSS property sets the shape of an element's corners when using border-radius, allowing for shapes other than rounded corners. For example, corner-shape: squircle is a shape in between a square and rounded corner.
3491///
3492/// The grammar is defined as:
3493///
3494/// ```text,ignore
3495/// <'corner-top-left-shape'>{1,2}
3496/// ```
3497///
3498/// https://drafts.csswg.org/css-borders-4/#corner-right-shape
3499#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3500#[derive(
3501	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3502)]
3503#[declaration_metadata(
3504    initial = "see individual properties",
3505    inherits = Unknown,
3506    applies_to = Unknown,
3507    percentages = Unknown,
3508    animation_type = Unknown,
3509    property_group = Borders,
3510    computed_value_type = Unknown,
3511    canonical_order = "per grammar",
3512)]
3513#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3514#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-right-shape"))]
3515#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3516pub struct CornerRightShapeStyleValue;
3517
3518/// Represents the style value for `corner-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-shape).
3519///
3520/// The corner-shape CSS property sets the shape of an element's corners when using border-radius, allowing for shapes other than rounded corners. For example, corner-shape: squircle is a shape in between a square and rounded corner.
3521///
3522/// The grammar is defined as:
3523///
3524/// ```text,ignore
3525/// <'corner-top-left-shape'>{1,4}
3526/// ```
3527///
3528/// https://drafts.csswg.org/css-borders-4/#corner-shape
3529#[syntax(" <'corner-top-left-shape'>{1,4} ")]
3530#[derive(
3531	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3532)]
3533#[declaration_metadata(
3534    initial = "round",
3535    applies_to = Unknown,
3536    percentages = Unknown,
3537    animation_type = Unknown,
3538    property_group = Borders,
3539    computed_value_type = Unknown,
3540    canonical_order = "per grammar",
3541)]
3542#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3543#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-shape"))]
3544#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3545pub struct CornerShapeStyleValue;
3546
3547// /// Represents the style value for `corner-start-end` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-start-end).
3548// ///
3549// /// The grammar is defined as:
3550// ///
3551// /// ```text,ignore
3552// /// <'border-top-left-radius'> || <'corner-top-left-shape'>
3553// /// ```
3554// ///
3555// /// https://drafts.csswg.org/css-borders-4/#corner-start-end
3556// #[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
3557// #[derive(
3558//     Parse,
3559//     Peek,
3560//     ToSpan,
3561//     ToCursors,
3562//     DeclarationMetadata,
3563//     SemanticEq,
3564//     Debug,
3565//     Clone,
3566//     PartialEq,
3567//     Eq,
3568//     PartialOrd,
3569//     Ord,
3570//     Hash,
3571// )]
3572// #[declaration_metadata(
3573//     initial = "0",
3574//     applies_to = Elements,
3575//     percentages = BorderBox,
3576//     animation_type = Unknown,
3577//     property_group = Borders,
3578//     computed_value_type = Unknown,
3579//     canonical_order = "per grammar",
3580//     box_side = BlockStart|InlineEnd,
3581// )]
3582// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3583// #[cfg_attr(
3584//     feature = "css_feature_data",
3585//     derive(ToCSSFeature),
3586//     css_feature("css.properties.corner-start-end")
3587// )]
3588// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3589// pub struct CornerStartEndStyleValue;
3590
3591/// Represents the style value for `corner-start-end-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-start-end-shape).
3592///
3593/// The corner-shape CSS property sets the shape of an element's corners when using border-radius, allowing for shapes other than rounded corners. For example, corner-shape: squircle is a shape in between a square and rounded corner.
3594///
3595/// The grammar is defined as:
3596///
3597/// ```text,ignore
3598/// <corner-shape-value>
3599/// ```
3600///
3601/// https://drafts.csswg.org/css-borders-4/#corner-start-end-shape
3602#[syntax(" <corner-shape-value> ")]
3603#[derive(
3604	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3605)]
3606#[declaration_metadata(
3607    initial = "round",
3608    applies_to = Unknown,
3609    animation_type = Unknown,
3610    property_group = Borders,
3611    computed_value_type = Unknown,
3612    canonical_order = "per grammar",
3613    logical_property_group = CornerShape,
3614    box_side = BlockStart|InlineEnd,
3615)]
3616#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3617#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-start-end-shape"))]
3618#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3619pub struct CornerStartEndShapeStyleValue;
3620
3621// /// Represents the style value for `corner-start-start` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-start-start).
3622// ///
3623// /// The grammar is defined as:
3624// ///
3625// /// ```text,ignore
3626// /// <'border-top-left-radius'> || <'corner-top-left-shape'>
3627// /// ```
3628// ///
3629// /// https://drafts.csswg.org/css-borders-4/#corner-start-start
3630// #[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
3631// #[derive(
3632//     Parse,
3633//     Peek,
3634//     ToSpan,
3635//     ToCursors,
3636//     DeclarationMetadata,
3637//     SemanticEq,
3638//     Debug,
3639//     Clone,
3640//     PartialEq,
3641//     Eq,
3642//     PartialOrd,
3643//     Ord,
3644//     Hash,
3645// )]
3646// #[declaration_metadata(
3647//     initial = "0",
3648//     applies_to = Elements,
3649//     percentages = BorderBox,
3650//     animation_type = Unknown,
3651//     property_group = Borders,
3652//     computed_value_type = Unknown,
3653//     canonical_order = "per grammar",
3654//     box_side = BlockStart|InlineStart,
3655// )]
3656// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3657// #[cfg_attr(
3658//     feature = "css_feature_data",
3659//     derive(ToCSSFeature),
3660//     css_feature("css.properties.corner-start-start")
3661// )]
3662// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3663// pub struct CornerStartStartStyleValue;
3664
3665/// Represents the style value for `corner-start-start-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-start-start-shape).
3666///
3667/// The corner-shape CSS property sets the shape of an element's corners when using border-radius, allowing for shapes other than rounded corners. For example, corner-shape: squircle is a shape in between a square and rounded corner.
3668///
3669/// The grammar is defined as:
3670///
3671/// ```text,ignore
3672/// <corner-shape-value>
3673/// ```
3674///
3675/// https://drafts.csswg.org/css-borders-4/#corner-start-start-shape
3676#[syntax(" <corner-shape-value> ")]
3677#[derive(
3678	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3679)]
3680#[declaration_metadata(
3681    initial = "round",
3682    applies_to = Unknown,
3683    animation_type = Unknown,
3684    property_group = Borders,
3685    computed_value_type = Unknown,
3686    canonical_order = "per grammar",
3687    logical_property_group = CornerShape,
3688    box_side = BlockStart|InlineStart,
3689)]
3690#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3691#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-start-start-shape"))]
3692#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3693pub struct CornerStartStartShapeStyleValue;
3694
3695// /// Represents the style value for `corner-top` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-top).
3696// ///
3697// /// The grammar is defined as:
3698// ///
3699// /// ```text,ignore
3700// /// <'border-top-radius'> || <'corner-top-shape'>
3701// /// ```
3702// ///
3703// /// https://drafts.csswg.org/css-borders-4/#corner-top
3704// #[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
3705// #[derive(
3706//     Parse,
3707//     Peek,
3708//     ToSpan,
3709//     ToCursors,
3710//     DeclarationMetadata,
3711//     SemanticEq,
3712//     Debug,
3713//     Clone,
3714//     PartialEq,
3715//     Eq,
3716//     PartialOrd,
3717//     Ord,
3718//     Hash,
3719// )]
3720// #[declaration_metadata(
3721//     initial = "0",
3722//     applies_to = Elements,
3723//     percentages = BorderBox,
3724//     animation_type = Unknown,
3725//     property_group = Borders,
3726//     computed_value_type = Unknown,
3727//     canonical_order = "per grammar",
3728//     box_side = Top,
3729// )]
3730// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3731// #[cfg_attr(
3732//     feature = "css_feature_data",
3733//     derive(ToCSSFeature),
3734//     css_feature("css.properties.corner-top")
3735// )]
3736// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3737// pub struct CornerTopStyleValue;
3738
3739// /// Represents the style value for `corner-top-left` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-top-left).
3740// ///
3741// /// The grammar is defined as:
3742// ///
3743// /// ```text,ignore
3744// /// <'border-top-left-radius'> || <'corner-top-left-shape'>
3745// /// ```
3746// ///
3747// /// https://drafts.csswg.org/css-borders-4/#corner-top-left
3748// #[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
3749// #[derive(
3750//     Parse,
3751//     Peek,
3752//     ToSpan,
3753//     ToCursors,
3754//     DeclarationMetadata,
3755//     SemanticEq,
3756//     Debug,
3757//     Clone,
3758//     PartialEq,
3759//     Eq,
3760//     PartialOrd,
3761//     Ord,
3762//     Hash,
3763// )]
3764// #[declaration_metadata(
3765//     initial = "0",
3766//     applies_to = Elements,
3767//     percentages = BorderBox,
3768//     animation_type = Unknown,
3769//     property_group = Borders,
3770//     computed_value_type = Unknown,
3771//     canonical_order = "per grammar",
3772//     box_side = Top|Left,
3773// )]
3774// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3775// #[cfg_attr(
3776//     feature = "css_feature_data",
3777//     derive(ToCSSFeature),
3778//     css_feature("css.properties.corner-top-left")
3779// )]
3780// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3781// pub struct CornerTopLeftStyleValue;
3782
3783/// Represents the style value for `corner-top-left-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-top-left-shape).
3784///
3785/// The corner-shape CSS property sets the shape of an element's corners when using border-radius, allowing for shapes other than rounded corners. For example, corner-shape: squircle is a shape in between a square and rounded corner.
3786///
3787/// The grammar is defined as:
3788///
3789/// ```text,ignore
3790/// <corner-shape-value>
3791/// ```
3792///
3793/// https://drafts.csswg.org/css-borders-4/#corner-top-left-shape
3794#[syntax(" <corner-shape-value> ")]
3795#[derive(
3796	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3797)]
3798#[declaration_metadata(
3799    initial = "round",
3800    applies_to = Unknown,
3801    animation_type = Unknown,
3802    property_group = Borders,
3803    computed_value_type = Unknown,
3804    canonical_order = "per grammar",
3805    logical_property_group = CornerShape,
3806    box_side = Top|Left,
3807)]
3808#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3809#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-left-shape"))]
3810#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3811pub struct CornerTopLeftShapeStyleValue;
3812
3813// /// Represents the style value for `corner-top-right` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-top-right).
3814// ///
3815// /// The grammar is defined as:
3816// ///
3817// /// ```text,ignore
3818// /// <'border-top-left-radius'> || <'corner-top-left-shape'>
3819// /// ```
3820// ///
3821// /// https://drafts.csswg.org/css-borders-4/#corner-top-right
3822// #[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
3823// #[derive(
3824//     Parse,
3825//     Peek,
3826//     ToSpan,
3827//     ToCursors,
3828//     DeclarationMetadata,
3829//     SemanticEq,
3830//     Debug,
3831//     Clone,
3832//     PartialEq,
3833//     Eq,
3834//     PartialOrd,
3835//     Ord,
3836//     Hash,
3837// )]
3838// #[declaration_metadata(
3839//     initial = "0",
3840//     applies_to = Elements,
3841//     percentages = BorderBox,
3842//     animation_type = Unknown,
3843//     property_group = Borders,
3844//     computed_value_type = Unknown,
3845//     canonical_order = "per grammar",
3846//     box_side = Top|Right,
3847// )]
3848// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3849// #[cfg_attr(
3850//     feature = "css_feature_data",
3851//     derive(ToCSSFeature),
3852//     css_feature("css.properties.corner-top-right")
3853// )]
3854// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3855// pub struct CornerTopRightStyleValue;
3856
3857/// Represents the style value for `corner-top-right-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-top-right-shape).
3858///
3859/// The corner-shape CSS property sets the shape of an element's corners when using border-radius, allowing for shapes other than rounded corners. For example, corner-shape: squircle is a shape in between a square and rounded corner.
3860///
3861/// The grammar is defined as:
3862///
3863/// ```text,ignore
3864/// <corner-shape-value>
3865/// ```
3866///
3867/// https://drafts.csswg.org/css-borders-4/#corner-top-right-shape
3868#[syntax(" <corner-shape-value> ")]
3869#[derive(
3870	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3871)]
3872#[declaration_metadata(
3873    initial = "round",
3874    applies_to = Unknown,
3875    animation_type = Unknown,
3876    property_group = Borders,
3877    computed_value_type = Unknown,
3878    canonical_order = "per grammar",
3879    logical_property_group = CornerShape,
3880    box_side = Top|Right,
3881)]
3882#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3883#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-right-shape"))]
3884#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3885pub struct CornerTopRightShapeStyleValue;
3886
3887/// Represents the style value for `corner-top-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-top-shape).
3888///
3889/// The corner-shape CSS property sets the shape of an element's corners when using border-radius, allowing for shapes other than rounded corners. For example, corner-shape: squircle is a shape in between a square and rounded corner.
3890///
3891/// The grammar is defined as:
3892///
3893/// ```text,ignore
3894/// <'corner-top-left-shape'>{1,2}
3895/// ```
3896///
3897/// https://drafts.csswg.org/css-borders-4/#corner-top-shape
3898#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3899#[derive(
3900	Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3901)]
3902#[declaration_metadata(
3903    initial = "see individual properties",
3904    inherits = Unknown,
3905    applies_to = Unknown,
3906    percentages = Unknown,
3907    animation_type = Unknown,
3908    property_group = Borders,
3909    computed_value_type = Unknown,
3910    canonical_order = "per grammar",
3911)]
3912#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3913#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-shape"))]
3914#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3915pub struct CornerTopShapeStyleValue;