css_ast/values/borders/mod.rs
1#![allow(warnings)]
2//! CSS Borders and Box Decorations Module Level 4
3//! https://drafts.csswg.org/css-borders-4/
4
5mod impls;
6use impls::*;
7
8/// Represents the style value for `border-top-color` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-top-color).
9///
10/// The border CSS property sets the color, style, and width of the line around an element.
11///
12/// The grammar is defined as:
13///
14/// ```text,ignore
15/// <color> | <image-1D>
16/// ```
17///
18// https://drafts.csswg.org/css-borders-4/#border-top-color
19#[syntax(" <color> | <image-1D> ")]
20#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
21#[style_value(
22 initial = "currentcolor",
23 applies_to = "all elements except ruby base containers and ruby annotation containers",
24 inherited = "no",
25 percentages = "n/a",
26 canonical_order = "per grammar",
27 animation_type = "see prose"
28)]
29#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
30#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-color"))]
31#[visit]
32pub enum BorderTopColorStyleValue<'a> {}
33
34/// Represents the style value for `border-right-color` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-right-color).
35///
36/// The border CSS property sets the color, style, and width of the line around an element.
37///
38/// The grammar is defined as:
39///
40/// ```text,ignore
41/// <color> | <image-1D>
42/// ```
43///
44// https://drafts.csswg.org/css-borders-4/#border-right-color
45#[syntax(" <color> | <image-1D> ")]
46#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
47#[style_value(
48 initial = "currentcolor",
49 applies_to = "all elements except ruby base containers and ruby annotation containers",
50 inherited = "no",
51 percentages = "n/a",
52 canonical_order = "per grammar",
53 animation_type = "see prose"
54)]
55#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
56#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-color"))]
57#[visit]
58pub enum BorderRightColorStyleValue<'a> {}
59
60/// Represents the style value for `border-bottom-color` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-bottom-color).
61///
62/// The border CSS property sets the color, style, and width of the line around an element.
63///
64/// The grammar is defined as:
65///
66/// ```text,ignore
67/// <color> | <image-1D>
68/// ```
69///
70// https://drafts.csswg.org/css-borders-4/#border-bottom-color
71#[syntax(" <color> | <image-1D> ")]
72#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
73#[style_value(
74 initial = "currentcolor",
75 applies_to = "all elements except ruby base containers and ruby annotation containers",
76 inherited = "no",
77 percentages = "n/a",
78 canonical_order = "per grammar",
79 animation_type = "see prose"
80)]
81#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
82#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-color"))]
83#[visit]
84pub enum BorderBottomColorStyleValue<'a> {}
85
86/// Represents the style value for `border-left-color` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-left-color).
87///
88/// The border CSS property sets the color, style, and width of the line around an element.
89///
90/// The grammar is defined as:
91///
92/// ```text,ignore
93/// <color> | <image-1D>
94/// ```
95///
96// https://drafts.csswg.org/css-borders-4/#border-left-color
97#[syntax(" <color> | <image-1D> ")]
98#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
99#[style_value(
100 initial = "currentcolor",
101 applies_to = "all elements except ruby base containers and ruby annotation containers",
102 inherited = "no",
103 percentages = "n/a",
104 canonical_order = "per grammar",
105 animation_type = "see prose"
106)]
107#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
108#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-color"))]
109#[visit]
110pub enum BorderLeftColorStyleValue<'a> {}
111
112/// 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).
113///
114/// 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.
115///
116/// The grammar is defined as:
117///
118/// ```text,ignore
119/// <color> | <image-1D>
120/// ```
121///
122// https://drafts.csswg.org/css-borders-4/#border-block-start-color
123#[syntax(" <color> | <image-1D> ")]
124#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
125#[style_value(
126 initial = "currentcolor",
127 applies_to = "all elements except ruby base containers and ruby annotation containers",
128 inherited = "no",
129 percentages = "n/a",
130 canonical_order = "per grammar",
131 animation_type = "see prose"
132)]
133#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
134#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-color"))]
135#[visit]
136pub enum BorderBlockStartColorStyleValue<'a> {}
137
138/// 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).
139///
140/// 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.
141///
142/// The grammar is defined as:
143///
144/// ```text,ignore
145/// <color> | <image-1D>
146/// ```
147///
148// https://drafts.csswg.org/css-borders-4/#border-block-end-color
149#[syntax(" <color> | <image-1D> ")]
150#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
151#[style_value(
152 initial = "currentcolor",
153 applies_to = "all elements except ruby base containers and ruby annotation containers",
154 inherited = "no",
155 percentages = "n/a",
156 canonical_order = "per grammar",
157 animation_type = "see prose"
158)]
159#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
160#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-color"))]
161#[visit]
162pub enum BorderBlockEndColorStyleValue<'a> {}
163
164/// 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).
165///
166/// 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.
167///
168/// The grammar is defined as:
169///
170/// ```text,ignore
171/// <color> | <image-1D>
172/// ```
173///
174// https://drafts.csswg.org/css-borders-4/#border-inline-start-color
175#[syntax(" <color> | <image-1D> ")]
176#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
177#[style_value(
178 initial = "currentcolor",
179 applies_to = "all elements except ruby base containers and ruby annotation containers",
180 inherited = "no",
181 percentages = "n/a",
182 canonical_order = "per grammar",
183 animation_type = "see prose"
184)]
185#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
186#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-color"))]
187#[visit]
188pub enum BorderInlineStartColorStyleValue<'a> {}
189
190/// 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).
191///
192/// 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.
193///
194/// The grammar is defined as:
195///
196/// ```text,ignore
197/// <color> | <image-1D>
198/// ```
199///
200// https://drafts.csswg.org/css-borders-4/#border-inline-end-color
201#[syntax(" <color> | <image-1D> ")]
202#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
203#[style_value(
204 initial = "currentcolor",
205 applies_to = "all elements except ruby base containers and ruby annotation containers",
206 inherited = "no",
207 percentages = "n/a",
208 canonical_order = "per grammar",
209 animation_type = "see prose"
210)]
211#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
212#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-color"))]
213#[visit]
214pub enum BorderInlineEndColorStyleValue<'a> {}
215
216// /// Represents the style value for `border-color` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-color).
217// ///
218// /// The border CSS property sets the color, style, and width of the line around an element.
219// ///
220// /// The grammar is defined as:
221// ///
222// /// ```text,ignore
223// /// [ <color> | <image-1D> ]{1,4}
224// /// ```
225// ///
226// // https://drafts.csswg.org/css-borders-4/#border-color
227// #[syntax(" [ <color> | <image-1D> ]{1,4} ")]
228// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
229// #[style_value(
230// initial = "see individual properties",
231// applies_to = "see individual properties",
232// inherited = "see individual properties",
233// percentages = "see individual properties",
234// canonical_order = "per grammar",
235// animation_type = "see individual properties",
236// )]
237// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
238// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-color"))]
239// #[visit]
240// pub struct BorderColorStyleValue<'a>;
241
242/// Represents the style value for `border-block-color` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-block-color).
243///
244/// 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.
245///
246/// The grammar is defined as:
247///
248/// ```text,ignore
249/// <'border-top-color'>{1,2}
250/// ```
251///
252// https://drafts.csswg.org/css-borders-4/#border-block-color
253#[syntax(" <'border-top-color'>{1,2} ")]
254#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
255#[style_value(
256 initial = "see individual properties",
257 applies_to = "see individual properties",
258 inherited = "see individual properties",
259 percentages = "see individual properties",
260 canonical_order = "per grammar",
261 animation_type = "see individual properties"
262)]
263#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
264#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-color"))]
265#[visit]
266pub struct BorderBlockColorStyleValue<'a>;
267
268/// Represents the style value for `border-inline-color` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-inline-color).
269///
270/// 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.
271///
272/// The grammar is defined as:
273///
274/// ```text,ignore
275/// <'border-top-color'>{1,2}
276/// ```
277///
278// https://drafts.csswg.org/css-borders-4/#border-inline-color
279#[syntax(" <'border-top-color'>{1,2} ")]
280#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
281#[style_value(
282 initial = "see individual properties",
283 applies_to = "see individual properties",
284 inherited = "see individual properties",
285 percentages = "see individual properties",
286 canonical_order = "per grammar",
287 animation_type = "see individual properties"
288)]
289#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
290#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-color"))]
291#[visit]
292pub struct BorderInlineColorStyleValue<'a>;
293
294/// Represents the style value for `border-top-style` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-top-style).
295///
296/// The border CSS property sets the color, style, and width of the line around an element.
297///
298/// The grammar is defined as:
299///
300/// ```text,ignore
301/// <line-style>
302/// ```
303///
304// https://drafts.csswg.org/css-borders-4/#border-top-style
305#[syntax(" <line-style> ")]
306#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
307#[style_value(
308 initial = "none",
309 applies_to = "all elements except ruby base containers and ruby annotation containers",
310 inherited = "no",
311 percentages = "n/a",
312 canonical_order = "per grammar",
313 animation_type = "discrete"
314)]
315#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
316#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-style"))]
317#[visit]
318pub struct BorderTopStyleStyleValue;
319
320/// Represents the style value for `border-right-style` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-right-style).
321///
322/// The border CSS property sets the color, style, and width of the line around an element.
323///
324/// The grammar is defined as:
325///
326/// ```text,ignore
327/// <line-style>
328/// ```
329///
330// https://drafts.csswg.org/css-borders-4/#border-right-style
331#[syntax(" <line-style> ")]
332#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
333#[style_value(
334 initial = "none",
335 applies_to = "all elements except ruby base containers and ruby annotation containers",
336 inherited = "no",
337 percentages = "n/a",
338 canonical_order = "per grammar",
339 animation_type = "discrete"
340)]
341#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
342#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-style"))]
343#[visit]
344pub struct BorderRightStyleStyleValue;
345
346/// Represents the style value for `border-bottom-style` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-bottom-style).
347///
348/// The border CSS property sets the color, style, and width of the line around an element.
349///
350/// The grammar is defined as:
351///
352/// ```text,ignore
353/// <line-style>
354/// ```
355///
356// https://drafts.csswg.org/css-borders-4/#border-bottom-style
357#[syntax(" <line-style> ")]
358#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
359#[style_value(
360 initial = "none",
361 applies_to = "all elements except ruby base containers and ruby annotation containers",
362 inherited = "no",
363 percentages = "n/a",
364 canonical_order = "per grammar",
365 animation_type = "discrete"
366)]
367#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
368#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-style"))]
369#[visit]
370pub struct BorderBottomStyleStyleValue;
371
372/// Represents the style value for `border-left-style` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-left-style).
373///
374/// The border CSS property sets the color, style, and width of the line around an element.
375///
376/// The grammar is defined as:
377///
378/// ```text,ignore
379/// <line-style>
380/// ```
381///
382// https://drafts.csswg.org/css-borders-4/#border-left-style
383#[syntax(" <line-style> ")]
384#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
385#[style_value(
386 initial = "none",
387 applies_to = "all elements except ruby base containers and ruby annotation containers",
388 inherited = "no",
389 percentages = "n/a",
390 canonical_order = "per grammar",
391 animation_type = "discrete"
392)]
393#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
394#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-style"))]
395#[visit]
396pub struct BorderLeftStyleStyleValue;
397
398/// 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).
399///
400/// 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.
401///
402/// The grammar is defined as:
403///
404/// ```text,ignore
405/// <line-style>
406/// ```
407///
408// https://drafts.csswg.org/css-borders-4/#border-block-start-style
409#[syntax(" <line-style> ")]
410#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
411#[style_value(
412 initial = "none",
413 applies_to = "all elements except ruby base containers and ruby annotation containers",
414 inherited = "no",
415 percentages = "n/a",
416 canonical_order = "per grammar",
417 animation_type = "discrete"
418)]
419#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
420#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-style"))]
421#[visit]
422pub struct BorderBlockStartStyleStyleValue;
423
424/// 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).
425///
426/// 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.
427///
428/// The grammar is defined as:
429///
430/// ```text,ignore
431/// <line-style>
432/// ```
433///
434// https://drafts.csswg.org/css-borders-4/#border-block-end-style
435#[syntax(" <line-style> ")]
436#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
437#[style_value(
438 initial = "none",
439 applies_to = "all elements except ruby base containers and ruby annotation containers",
440 inherited = "no",
441 percentages = "n/a",
442 canonical_order = "per grammar",
443 animation_type = "discrete"
444)]
445#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
446#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-style"))]
447#[visit]
448pub struct BorderBlockEndStyleStyleValue;
449
450/// 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).
451///
452/// 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.
453///
454/// The grammar is defined as:
455///
456/// ```text,ignore
457/// <line-style>
458/// ```
459///
460// https://drafts.csswg.org/css-borders-4/#border-inline-start-style
461#[syntax(" <line-style> ")]
462#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
463#[style_value(
464 initial = "none",
465 applies_to = "all elements except ruby base containers and ruby annotation containers",
466 inherited = "no",
467 percentages = "n/a",
468 canonical_order = "per grammar",
469 animation_type = "discrete"
470)]
471#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
472#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-style"))]
473#[visit]
474pub struct BorderInlineStartStyleStyleValue;
475
476/// 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).
477///
478/// 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.
479///
480/// The grammar is defined as:
481///
482/// ```text,ignore
483/// <line-style>
484/// ```
485///
486// https://drafts.csswg.org/css-borders-4/#border-inline-end-style
487#[syntax(" <line-style> ")]
488#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
489#[style_value(
490 initial = "none",
491 applies_to = "all elements except ruby base containers and ruby annotation containers",
492 inherited = "no",
493 percentages = "n/a",
494 canonical_order = "per grammar",
495 animation_type = "discrete"
496)]
497#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
498#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-style"))]
499#[visit]
500pub struct BorderInlineEndStyleStyleValue;
501
502/// Represents the style value for `border-block-style` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-block-style).
503///
504/// 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.
505///
506/// The grammar is defined as:
507///
508/// ```text,ignore
509/// <'border-top-style'>{1,2}
510/// ```
511///
512// https://drafts.csswg.org/css-borders-4/#border-block-style
513#[syntax(" <'border-top-style'>{1,2} ")]
514#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
515#[style_value(
516 initial = "see individual properties",
517 applies_to = "see individual properties",
518 inherited = "see individual properties",
519 percentages = "see individual properties",
520 canonical_order = "per grammar",
521 animation_type = "see individual properties"
522)]
523#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
524#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-style"))]
525#[visit]
526pub struct BorderBlockStyleStyleValue;
527
528/// Represents the style value for `border-inline-style` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-inline-style).
529///
530/// 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.
531///
532/// The grammar is defined as:
533///
534/// ```text,ignore
535/// <'border-top-style'>{1,2}
536/// ```
537///
538// https://drafts.csswg.org/css-borders-4/#border-inline-style
539#[syntax(" <'border-top-style'>{1,2} ")]
540#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
541#[style_value(
542 initial = "see individual properties",
543 applies_to = "see individual properties",
544 inherited = "see individual properties",
545 percentages = "see individual properties",
546 canonical_order = "per grammar",
547 animation_type = "see individual properties"
548)]
549#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
550#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-style"))]
551#[visit]
552pub struct BorderInlineStyleStyleValue;
553
554/// Represents the style value for `border-top-width` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-top-width).
555///
556/// The border CSS property sets the color, style, and width of the line around an element.
557///
558/// The grammar is defined as:
559///
560/// ```text,ignore
561/// <line-width>
562/// ```
563///
564// https://drafts.csswg.org/css-borders-4/#border-top-width
565#[syntax(" <line-width> ")]
566#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
567#[style_value(
568 initial = "medium",
569 applies_to = "all elements except ruby base containers and ruby annotation containers",
570 inherited = "no",
571 percentages = "n/a",
572 canonical_order = "per grammar",
573 animation_type = "by computed value"
574)]
575#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
576#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-width"))]
577#[visit]
578pub struct BorderTopWidthStyleValue;
579
580/// Represents the style value for `border-right-width` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-right-width).
581///
582/// The border CSS property sets the color, style, and width of the line around an element.
583///
584/// The grammar is defined as:
585///
586/// ```text,ignore
587/// <line-width>
588/// ```
589///
590// https://drafts.csswg.org/css-borders-4/#border-right-width
591#[syntax(" <line-width> ")]
592#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
593#[style_value(
594 initial = "medium",
595 applies_to = "all elements except ruby base containers and ruby annotation containers",
596 inherited = "no",
597 percentages = "n/a",
598 canonical_order = "per grammar",
599 animation_type = "by computed value"
600)]
601#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
602#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-width"))]
603#[visit]
604pub struct BorderRightWidthStyleValue;
605
606/// Represents the style value for `border-bottom-width` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-bottom-width).
607///
608/// The border CSS property sets the color, style, and width of the line around an element.
609///
610/// The grammar is defined as:
611///
612/// ```text,ignore
613/// <line-width>
614/// ```
615///
616// https://drafts.csswg.org/css-borders-4/#border-bottom-width
617#[syntax(" <line-width> ")]
618#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
619#[style_value(
620 initial = "medium",
621 applies_to = "all elements except ruby base containers and ruby annotation containers",
622 inherited = "no",
623 percentages = "n/a",
624 canonical_order = "per grammar",
625 animation_type = "by computed value"
626)]
627#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
628#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-width"))]
629#[visit]
630pub struct BorderBottomWidthStyleValue;
631
632/// Represents the style value for `border-left-width` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-left-width).
633///
634/// The border CSS property sets the color, style, and width of the line around an element.
635///
636/// The grammar is defined as:
637///
638/// ```text,ignore
639/// <line-width>
640/// ```
641///
642// https://drafts.csswg.org/css-borders-4/#border-left-width
643#[syntax(" <line-width> ")]
644#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
645#[style_value(
646 initial = "medium",
647 applies_to = "all elements except ruby base containers and ruby annotation containers",
648 inherited = "no",
649 percentages = "n/a",
650 canonical_order = "per grammar",
651 animation_type = "by computed value"
652)]
653#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
654#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-width"))]
655#[visit]
656pub struct BorderLeftWidthStyleValue;
657
658/// 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).
659///
660/// 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.
661///
662/// The grammar is defined as:
663///
664/// ```text,ignore
665/// <line-width>
666/// ```
667///
668// https://drafts.csswg.org/css-borders-4/#border-block-start-width
669#[syntax(" <line-width> ")]
670#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
671#[style_value(
672 initial = "medium",
673 applies_to = "all elements except ruby base containers and ruby annotation containers",
674 inherited = "no",
675 percentages = "n/a",
676 canonical_order = "per grammar",
677 animation_type = "by computed value"
678)]
679#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
680#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-width"))]
681#[visit]
682pub struct BorderBlockStartWidthStyleValue;
683
684/// 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).
685///
686/// 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.
687///
688/// The grammar is defined as:
689///
690/// ```text,ignore
691/// <line-width>
692/// ```
693///
694// https://drafts.csswg.org/css-borders-4/#border-block-end-width
695#[syntax(" <line-width> ")]
696#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
697#[style_value(
698 initial = "medium",
699 applies_to = "all elements except ruby base containers and ruby annotation containers",
700 inherited = "no",
701 percentages = "n/a",
702 canonical_order = "per grammar",
703 animation_type = "by computed value"
704)]
705#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
706#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-width"))]
707#[visit]
708pub struct BorderBlockEndWidthStyleValue;
709
710/// 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).
711///
712/// 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.
713///
714/// The grammar is defined as:
715///
716/// ```text,ignore
717/// <line-width>
718/// ```
719///
720// https://drafts.csswg.org/css-borders-4/#border-inline-start-width
721#[syntax(" <line-width> ")]
722#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
723#[style_value(
724 initial = "medium",
725 applies_to = "all elements except ruby base containers and ruby annotation containers",
726 inherited = "no",
727 percentages = "n/a",
728 canonical_order = "per grammar",
729 animation_type = "by computed value"
730)]
731#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
732#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-width"))]
733#[visit]
734pub struct BorderInlineStartWidthStyleValue;
735
736/// 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).
737///
738/// 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.
739///
740/// The grammar is defined as:
741///
742/// ```text,ignore
743/// <line-width>
744/// ```
745///
746// https://drafts.csswg.org/css-borders-4/#border-inline-end-width
747#[syntax(" <line-width> ")]
748#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
749#[style_value(
750 initial = "medium",
751 applies_to = "all elements except ruby base containers and ruby annotation containers",
752 inherited = "no",
753 percentages = "n/a",
754 canonical_order = "per grammar",
755 animation_type = "by computed value"
756)]
757#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
758#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-width"))]
759#[visit]
760pub struct BorderInlineEndWidthStyleValue;
761
762/// Represents the style value for `border-block-width` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-block-width).
763///
764/// 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.
765///
766/// The grammar is defined as:
767///
768/// ```text,ignore
769/// <'border-top-width'>{1,2}
770/// ```
771///
772// https://drafts.csswg.org/css-borders-4/#border-block-width
773#[syntax(" <'border-top-width'>{1,2} ")]
774#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
775#[style_value(
776 initial = "see individual properties",
777 applies_to = "see individual properties",
778 inherited = "see individual properties",
779 percentages = "see individual properties",
780 canonical_order = "per grammar",
781 animation_type = "see individual properties"
782)]
783#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
784#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-width"))]
785#[visit]
786pub struct BorderBlockWidthStyleValue;
787
788/// Represents the style value for `border-inline-width` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-inline-width).
789///
790/// 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.
791///
792/// The grammar is defined as:
793///
794/// ```text,ignore
795/// <'border-top-width'>{1,2}
796/// ```
797///
798// https://drafts.csswg.org/css-borders-4/#border-inline-width
799#[syntax(" <'border-top-width'>{1,2} ")]
800#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
801#[style_value(
802 initial = "see individual properties",
803 applies_to = "see individual properties",
804 inherited = "see individual properties",
805 percentages = "see individual properties",
806 canonical_order = "per grammar",
807 animation_type = "see individual properties"
808)]
809#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
810#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-width"))]
811#[visit]
812pub struct BorderInlineWidthStyleValue;
813
814/// Represents the style value for `border-top` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-top).
815///
816/// The border CSS property sets the color, style, and width of the line around an element.
817///
818/// The grammar is defined as:
819///
820/// ```text,ignore
821/// <line-width> || <line-style> || <color>
822/// ```
823///
824// https://drafts.csswg.org/css-borders-4/#border-top
825#[syntax(" <line-width> || <line-style> || <color> ")]
826#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
827#[style_value(
828 initial = "See individual properties",
829 applies_to = "all elements except ruby base containers and ruby annotation containers",
830 inherited = "no",
831 percentages = "n/a",
832 canonical_order = "per grammar",
833 animation_type = "see individual properties"
834)]
835#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
836#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top"))]
837#[visit]
838pub struct BorderTopStyleValue;
839
840/// Represents the style value for `border-right` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-right).
841///
842/// The border CSS property sets the color, style, and width of the line around an element.
843///
844/// The grammar is defined as:
845///
846/// ```text,ignore
847/// <line-width> || <line-style> || <color>
848/// ```
849///
850// https://drafts.csswg.org/css-borders-4/#border-right
851#[syntax(" <line-width> || <line-style> || <color> ")]
852#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
853#[style_value(
854 initial = "See individual properties",
855 applies_to = "all elements except ruby base containers and ruby annotation containers",
856 inherited = "no",
857 percentages = "n/a",
858 canonical_order = "per grammar",
859 animation_type = "see individual properties"
860)]
861#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
862#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right"))]
863#[visit]
864pub struct BorderRightStyleValue;
865
866/// Represents the style value for `border-bottom` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-bottom).
867///
868/// The border CSS property sets the color, style, and width of the line around an element.
869///
870/// The grammar is defined as:
871///
872/// ```text,ignore
873/// <line-width> || <line-style> || <color>
874/// ```
875///
876// https://drafts.csswg.org/css-borders-4/#border-bottom
877#[syntax(" <line-width> || <line-style> || <color> ")]
878#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
879#[style_value(
880 initial = "See individual properties",
881 applies_to = "all elements except ruby base containers and ruby annotation containers",
882 inherited = "no",
883 percentages = "n/a",
884 canonical_order = "per grammar",
885 animation_type = "see individual properties"
886)]
887#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
888#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom"))]
889#[visit]
890pub struct BorderBottomStyleValue;
891
892/// Represents the style value for `border-left` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-left).
893///
894/// The border CSS property sets the color, style, and width of the line around an element.
895///
896/// The grammar is defined as:
897///
898/// ```text,ignore
899/// <line-width> || <line-style> || <color>
900/// ```
901///
902// https://drafts.csswg.org/css-borders-4/#border-left
903#[syntax(" <line-width> || <line-style> || <color> ")]
904#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
905#[style_value(
906 initial = "See individual properties",
907 applies_to = "all elements except ruby base containers and ruby annotation containers",
908 inherited = "no",
909 percentages = "n/a",
910 canonical_order = "per grammar",
911 animation_type = "see individual properties"
912)]
913#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
914#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left"))]
915#[visit]
916pub struct BorderLeftStyleValue;
917
918/// Represents the style value for `border-block-start` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-block-start).
919///
920/// 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.
921///
922/// The grammar is defined as:
923///
924/// ```text,ignore
925/// <line-width> || <line-style> || <color>
926/// ```
927///
928// https://drafts.csswg.org/css-borders-4/#border-block-start
929#[syntax(" <line-width> || <line-style> || <color> ")]
930#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
931#[style_value(
932 initial = "See individual properties",
933 applies_to = "all elements except ruby base containers and ruby annotation containers",
934 inherited = "no",
935 percentages = "n/a",
936 canonical_order = "per grammar",
937 animation_type = "see individual properties"
938)]
939#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
940#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start"))]
941#[visit]
942pub struct BorderBlockStartStyleValue;
943
944/// Represents the style value for `border-block-end` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-block-end).
945///
946/// 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.
947///
948/// The grammar is defined as:
949///
950/// ```text,ignore
951/// <line-width> || <line-style> || <color>
952/// ```
953///
954// https://drafts.csswg.org/css-borders-4/#border-block-end
955#[syntax(" <line-width> || <line-style> || <color> ")]
956#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
957#[style_value(
958 initial = "See individual properties",
959 applies_to = "all elements except ruby base containers and ruby annotation containers",
960 inherited = "no",
961 percentages = "n/a",
962 canonical_order = "per grammar",
963 animation_type = "see individual properties"
964)]
965#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
966#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end"))]
967#[visit]
968pub struct BorderBlockEndStyleValue;
969
970/// Represents the style value for `border-inline-start` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-inline-start).
971///
972/// 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.
973///
974/// The grammar is defined as:
975///
976/// ```text,ignore
977/// <line-width> || <line-style> || <color>
978/// ```
979///
980// https://drafts.csswg.org/css-borders-4/#border-inline-start
981#[syntax(" <line-width> || <line-style> || <color> ")]
982#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
983#[style_value(
984 initial = "See individual properties",
985 applies_to = "all elements except ruby base containers and ruby annotation containers",
986 inherited = "no",
987 percentages = "n/a",
988 canonical_order = "per grammar",
989 animation_type = "see individual properties"
990)]
991#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
992#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start"))]
993#[visit]
994pub struct BorderInlineStartStyleValue;
995
996/// Represents the style value for `border-inline-end` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-inline-end).
997///
998/// 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.
999///
1000/// The grammar is defined as:
1001///
1002/// ```text,ignore
1003/// <line-width> || <line-style> || <color>
1004/// ```
1005///
1006// https://drafts.csswg.org/css-borders-4/#border-inline-end
1007#[syntax(" <line-width> || <line-style> || <color> ")]
1008#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1009#[style_value(
1010 initial = "See individual properties",
1011 applies_to = "all elements except ruby base containers and ruby annotation containers",
1012 inherited = "no",
1013 percentages = "n/a",
1014 canonical_order = "per grammar",
1015 animation_type = "see individual properties"
1016)]
1017#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1018#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end"))]
1019#[visit]
1020pub struct BorderInlineEndStyleValue;
1021
1022/// Represents the style value for `border-block` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-block).
1023///
1024/// 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.
1025///
1026/// The grammar is defined as:
1027///
1028/// ```text,ignore
1029/// <'border-block-start'>
1030/// ```
1031///
1032// https://drafts.csswg.org/css-borders-4/#border-block
1033#[syntax(" <'border-block-start'> ")]
1034#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1035#[style_value(
1036 initial = "see individual properties",
1037 applies_to = "see individual properties",
1038 inherited = "see individual properties",
1039 percentages = "see individual properties",
1040 canonical_order = "per grammar",
1041 animation_type = "see individual properties"
1042)]
1043#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1044#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block"))]
1045#[visit]
1046pub struct BorderBlockStyleValue;
1047
1048/// Represents the style value for `border-inline` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-inline).
1049///
1050/// 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.
1051///
1052/// The grammar is defined as:
1053///
1054/// ```text,ignore
1055/// <'border-block-start'>
1056/// ```
1057///
1058// https://drafts.csswg.org/css-borders-4/#border-inline
1059#[syntax(" <'border-block-start'> ")]
1060#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1061#[style_value(
1062 initial = "see individual properties",
1063 applies_to = "see individual properties",
1064 inherited = "see individual properties",
1065 percentages = "see individual properties",
1066 canonical_order = "per grammar",
1067 animation_type = "see individual properties"
1068)]
1069#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1070#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline"))]
1071#[visit]
1072pub struct BorderInlineStyleValue;
1073
1074/// 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).
1075///
1076/// The border-radius CSS property rounds the corners of the border drawn around an element.
1077///
1078/// The grammar is defined as:
1079///
1080/// ```text,ignore
1081/// <length-percentage [0,∞]>{1,2}
1082/// ```
1083///
1084// https://drafts.csswg.org/css-borders-4/#border-top-left-radius
1085#[syntax(" <length-percentage [0,∞]>{1,2} ")]
1086#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1087#[style_value(
1088 initial = "0",
1089 applies_to = "all elements (but see prose)",
1090 inherited = "no",
1091 percentages = "refer to corresponding dimension of the border box.",
1092 canonical_order = "per grammar",
1093 animation_type = "by computed value"
1094)]
1095#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1096#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-left-radius"))]
1097#[visit]
1098pub struct BorderTopLeftRadiusStyleValue;
1099
1100/// 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).
1101///
1102/// The border-radius CSS property rounds the corners of the border drawn around an element.
1103///
1104/// The grammar is defined as:
1105///
1106/// ```text,ignore
1107/// <length-percentage [0,∞]>{1,2}
1108/// ```
1109///
1110// https://drafts.csswg.org/css-borders-4/#border-top-right-radius
1111#[syntax(" <length-percentage [0,∞]>{1,2} ")]
1112#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1113#[style_value(
1114 initial = "0",
1115 applies_to = "all elements (but see prose)",
1116 inherited = "no",
1117 percentages = "refer to corresponding dimension of the border box.",
1118 canonical_order = "per grammar",
1119 animation_type = "by computed value"
1120)]
1121#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1122#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-right-radius"))]
1123#[visit]
1124pub struct BorderTopRightRadiusStyleValue;
1125
1126/// 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).
1127///
1128/// The border-radius CSS property rounds the corners of the border drawn around an element.
1129///
1130/// The grammar is defined as:
1131///
1132/// ```text,ignore
1133/// <length-percentage [0,∞]>{1,2}
1134/// ```
1135///
1136// https://drafts.csswg.org/css-borders-4/#border-bottom-right-radius
1137#[syntax(" <length-percentage [0,∞]>{1,2} ")]
1138#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1139#[style_value(
1140 initial = "0",
1141 applies_to = "all elements (but see prose)",
1142 inherited = "no",
1143 percentages = "refer to corresponding dimension of the border box.",
1144 canonical_order = "per grammar",
1145 animation_type = "by computed value"
1146)]
1147#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1148#[cfg_attr(
1149 feature = "css_feature_data",
1150 derive(ToCSSFeature),
1151 css_feature("css.properties.border-bottom-right-radius")
1152)]
1153#[visit]
1154pub struct BorderBottomRightRadiusStyleValue;
1155
1156/// 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).
1157///
1158/// The border-radius CSS property rounds the corners of the border drawn around an element.
1159///
1160/// The grammar is defined as:
1161///
1162/// ```text,ignore
1163/// <length-percentage [0,∞]>{1,2}
1164/// ```
1165///
1166// https://drafts.csswg.org/css-borders-4/#border-bottom-left-radius
1167#[syntax(" <length-percentage [0,∞]>{1,2} ")]
1168#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1169#[style_value(
1170 initial = "0",
1171 applies_to = "all elements (but see prose)",
1172 inherited = "no",
1173 percentages = "refer to corresponding dimension of the border box.",
1174 canonical_order = "per grammar",
1175 animation_type = "by computed value"
1176)]
1177#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1178#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-left-radius"))]
1179#[visit]
1180pub struct BorderBottomLeftRadiusStyleValue;
1181
1182/// 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).
1183///
1184/// 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.
1185///
1186/// The grammar is defined as:
1187///
1188/// ```text,ignore
1189/// <length-percentage [0,∞]>{1,2}
1190/// ```
1191///
1192// https://drafts.csswg.org/css-borders-4/#border-start-start-radius
1193#[syntax(" <length-percentage [0,∞]>{1,2} ")]
1194#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1195#[style_value(
1196 initial = "0",
1197 applies_to = "all elements (but see prose)",
1198 inherited = "no",
1199 percentages = "refer to corresponding dimension of the border box.",
1200 canonical_order = "per grammar",
1201 animation_type = "by computed value"
1202)]
1203#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1204#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-start-start-radius"))]
1205#[visit]
1206pub struct BorderStartStartRadiusStyleValue;
1207
1208/// 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).
1209///
1210/// 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.
1211///
1212/// The grammar is defined as:
1213///
1214/// ```text,ignore
1215/// <length-percentage [0,∞]>{1,2}
1216/// ```
1217///
1218// https://drafts.csswg.org/css-borders-4/#border-start-end-radius
1219#[syntax(" <length-percentage [0,∞]>{1,2} ")]
1220#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1221#[style_value(
1222 initial = "0",
1223 applies_to = "all elements (but see prose)",
1224 inherited = "no",
1225 percentages = "refer to corresponding dimension of the border box.",
1226 canonical_order = "per grammar",
1227 animation_type = "by computed value"
1228)]
1229#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1230#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-start-end-radius"))]
1231#[visit]
1232pub struct BorderStartEndRadiusStyleValue;
1233
1234/// 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).
1235///
1236/// 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.
1237///
1238/// The grammar is defined as:
1239///
1240/// ```text,ignore
1241/// <length-percentage [0,∞]>{1,2}
1242/// ```
1243///
1244// https://drafts.csswg.org/css-borders-4/#border-end-start-radius
1245#[syntax(" <length-percentage [0,∞]>{1,2} ")]
1246#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1247#[style_value(
1248 initial = "0",
1249 applies_to = "all elements (but see prose)",
1250 inherited = "no",
1251 percentages = "refer to corresponding dimension of the border box.",
1252 canonical_order = "per grammar",
1253 animation_type = "by computed value"
1254)]
1255#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1256#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-end-start-radius"))]
1257#[visit]
1258pub struct BorderEndStartRadiusStyleValue;
1259
1260/// 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).
1261///
1262/// 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.
1263///
1264/// The grammar is defined as:
1265///
1266/// ```text,ignore
1267/// <length-percentage [0,∞]>{1,2}
1268/// ```
1269///
1270// https://drafts.csswg.org/css-borders-4/#border-end-end-radius
1271#[syntax(" <length-percentage [0,∞]>{1,2} ")]
1272#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1273#[style_value(
1274 initial = "0",
1275 applies_to = "all elements (but see prose)",
1276 inherited = "no",
1277 percentages = "refer to corresponding dimension of the border box.",
1278 canonical_order = "per grammar",
1279 animation_type = "by computed value"
1280)]
1281#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1282#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-end-end-radius"))]
1283#[visit]
1284pub struct BorderEndEndRadiusStyleValue;
1285
1286// /// Represents the style value for `border-top-radius` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-top-radius).
1287// ///
1288// /// The grammar is defined as:
1289// ///
1290// /// ```text,ignore
1291// /// <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?
1292// /// ```
1293// ///
1294// // https://drafts.csswg.org/css-borders-4/#border-top-radius
1295// #[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1296// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1297// #[style_value(
1298// initial = "0",
1299// applies_to = "all elements (but see prose)",
1300// inherited = "no",
1301// percentages = "refer to corresponding dimension of the border box.",
1302// canonical_order = "per grammar",
1303// animation_type = "see individual properties",
1304// )]
1305// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1306// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-radius"))]
1307// #[visit]
1308// pub struct BorderTopRadiusStyleValue;
1309
1310// /// Represents the style value for `border-right-radius` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-right-radius).
1311// ///
1312// /// The grammar is defined as:
1313// ///
1314// /// ```text,ignore
1315// /// <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?
1316// /// ```
1317// ///
1318// // https://drafts.csswg.org/css-borders-4/#border-right-radius
1319// #[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1320// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1321// #[style_value(
1322// initial = "0",
1323// applies_to = "all elements (but see prose)",
1324// inherited = "no",
1325// percentages = "refer to corresponding dimension of the border box.",
1326// canonical_order = "per grammar",
1327// animation_type = "see individual properties",
1328// )]
1329// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1330// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-radius"))]
1331// #[visit]
1332// pub struct BorderRightRadiusStyleValue;
1333
1334// /// Represents the style value for `border-bottom-radius` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-bottom-radius).
1335// ///
1336// /// The grammar is defined as:
1337// ///
1338// /// ```text,ignore
1339// /// <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?
1340// /// ```
1341// ///
1342// // https://drafts.csswg.org/css-borders-4/#border-bottom-radius
1343// #[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1344// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1345// #[style_value(
1346// initial = "0",
1347// applies_to = "all elements (but see prose)",
1348// inherited = "no",
1349// percentages = "refer to corresponding dimension of the border box.",
1350// canonical_order = "per grammar",
1351// animation_type = "see individual properties",
1352// )]
1353// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1354// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-radius"))]
1355// #[visit]
1356// pub struct BorderBottomRadiusStyleValue;
1357
1358// /// Represents the style value for `border-left-radius` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-left-radius).
1359// ///
1360// /// The grammar is defined as:
1361// ///
1362// /// ```text,ignore
1363// /// <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?
1364// /// ```
1365// ///
1366// // https://drafts.csswg.org/css-borders-4/#border-left-radius
1367// #[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1368// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1369// #[style_value(
1370// initial = "0",
1371// applies_to = "all elements (but see prose)",
1372// inherited = "no",
1373// percentages = "refer to corresponding dimension of the border box.",
1374// canonical_order = "per grammar",
1375// animation_type = "see individual properties",
1376// )]
1377// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1378// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-radius"))]
1379// #[visit]
1380// pub struct BorderLeftRadiusStyleValue;
1381
1382// /// 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).
1383// ///
1384// /// The grammar is defined as:
1385// ///
1386// /// ```text,ignore
1387// /// <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?
1388// /// ```
1389// ///
1390// // https://drafts.csswg.org/css-borders-4/#border-block-start-radius
1391// #[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1392// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1393// #[style_value(
1394// initial = "0",
1395// applies_to = "all elements (but see prose)",
1396// inherited = "no",
1397// percentages = "refer to corresponding dimension of the border box.",
1398// canonical_order = "per grammar",
1399// animation_type = "see individual properties",
1400// )]
1401// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1402// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-radius"))]
1403// #[visit]
1404// pub struct BorderBlockStartRadiusStyleValue;
1405
1406// /// 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).
1407// ///
1408// /// The grammar is defined as:
1409// ///
1410// /// ```text,ignore
1411// /// <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?
1412// /// ```
1413// ///
1414// // https://drafts.csswg.org/css-borders-4/#border-block-end-radius
1415// #[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1416// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1417// #[style_value(
1418// initial = "0",
1419// applies_to = "all elements (but see prose)",
1420// inherited = "no",
1421// percentages = "refer to corresponding dimension of the border box.",
1422// canonical_order = "per grammar",
1423// animation_type = "see individual properties",
1424// )]
1425// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1426// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-radius"))]
1427// #[visit]
1428// pub struct BorderBlockEndRadiusStyleValue;
1429
1430// /// 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).
1431// ///
1432// /// The grammar is defined as:
1433// ///
1434// /// ```text,ignore
1435// /// <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?
1436// /// ```
1437// ///
1438// // https://drafts.csswg.org/css-borders-4/#border-inline-start-radius
1439// #[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1440// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1441// #[style_value(
1442// initial = "0",
1443// applies_to = "all elements (but see prose)",
1444// inherited = "no",
1445// percentages = "refer to corresponding dimension of the border box.",
1446// canonical_order = "per grammar",
1447// animation_type = "see individual properties",
1448// )]
1449// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1450// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-radius"))]
1451// #[visit]
1452// pub struct BorderInlineStartRadiusStyleValue;
1453
1454// /// 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).
1455// ///
1456// /// The grammar is defined as:
1457// ///
1458// /// ```text,ignore
1459// /// <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?
1460// /// ```
1461// ///
1462// // https://drafts.csswg.org/css-borders-4/#border-inline-end-radius
1463// #[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1464// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1465// #[style_value(
1466// initial = "0",
1467// applies_to = "all elements (but see prose)",
1468// inherited = "no",
1469// percentages = "refer to corresponding dimension of the border box.",
1470// canonical_order = "per grammar",
1471// animation_type = "see individual properties",
1472// )]
1473// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1474// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-radius"))]
1475// #[visit]
1476// pub struct BorderInlineEndRadiusStyleValue;
1477
1478// /// Represents the style value for `border-radius` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-radius).
1479// ///
1480// /// The border-radius CSS property rounds the corners of the border drawn around an element.
1481// ///
1482// /// The grammar is defined as:
1483// ///
1484// /// ```text,ignore
1485// /// <length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]?
1486// /// ```
1487// ///
1488// // https://drafts.csswg.org/css-borders-4/#border-radius
1489// #[syntax(" <length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]? ")]
1490// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1491// #[style_value(
1492// initial = "0",
1493// applies_to = "all elements, except table element when border-collapse is collapse",
1494// inherited = "no",
1495// percentages = "n/a",
1496// canonical_order = "per grammar",
1497// animation_type = "see individual properties",
1498// )]
1499// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1500// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-radius"))]
1501// #[visit]
1502// pub struct BorderRadiusStyleValue;
1503
1504/// 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).
1505///
1506/// The grammar is defined as:
1507///
1508/// ```text,ignore
1509/// <corner-shape-value>
1510/// ```
1511///
1512// https://drafts.csswg.org/css-borders-4/#corner-top-left-shape
1513#[syntax(" <corner-shape-value> ")]
1514#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1515#[style_value(
1516 initial = "round",
1517 applies_to = "all elements where border-radius can apply",
1518 inherited = "no",
1519 percentages = "n/a",
1520 canonical_order = "per grammar",
1521 animation_type = "see superellipse interpolation"
1522)]
1523#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1524#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-left-shape"))]
1525#[visit]
1526pub struct CornerTopLeftShapeStyleValue;
1527
1528/// 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).
1529///
1530/// The grammar is defined as:
1531///
1532/// ```text,ignore
1533/// <corner-shape-value>
1534/// ```
1535///
1536// https://drafts.csswg.org/css-borders-4/#corner-top-right-shape
1537#[syntax(" <corner-shape-value> ")]
1538#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1539#[style_value(
1540 initial = "round",
1541 applies_to = "all elements where border-radius can apply",
1542 inherited = "no",
1543 percentages = "n/a",
1544 canonical_order = "per grammar",
1545 animation_type = "see superellipse interpolation"
1546)]
1547#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1548#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-right-shape"))]
1549#[visit]
1550pub struct CornerTopRightShapeStyleValue;
1551
1552/// 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).
1553///
1554/// The grammar is defined as:
1555///
1556/// ```text,ignore
1557/// <corner-shape-value>
1558/// ```
1559///
1560// https://drafts.csswg.org/css-borders-4/#corner-bottom-right-shape
1561#[syntax(" <corner-shape-value> ")]
1562#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1563#[style_value(
1564 initial = "round",
1565 applies_to = "all elements where border-radius can apply",
1566 inherited = "no",
1567 percentages = "n/a",
1568 canonical_order = "per grammar",
1569 animation_type = "see superellipse interpolation"
1570)]
1571#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1572#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-right-shape"))]
1573#[visit]
1574pub struct CornerBottomRightShapeStyleValue;
1575
1576/// 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).
1577///
1578/// The grammar is defined as:
1579///
1580/// ```text,ignore
1581/// <corner-shape-value>
1582/// ```
1583///
1584// https://drafts.csswg.org/css-borders-4/#corner-bottom-left-shape
1585#[syntax(" <corner-shape-value> ")]
1586#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1587#[style_value(
1588 initial = "round",
1589 applies_to = "all elements where border-radius can apply",
1590 inherited = "no",
1591 percentages = "n/a",
1592 canonical_order = "per grammar",
1593 animation_type = "see superellipse interpolation"
1594)]
1595#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1596#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-left-shape"))]
1597#[visit]
1598pub struct CornerBottomLeftShapeStyleValue;
1599
1600/// 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).
1601///
1602/// The grammar is defined as:
1603///
1604/// ```text,ignore
1605/// <corner-shape-value>
1606/// ```
1607///
1608// https://drafts.csswg.org/css-borders-4/#corner-start-start-shape
1609#[syntax(" <corner-shape-value> ")]
1610#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1611#[style_value(
1612 initial = "round",
1613 applies_to = "all elements where border-radius can apply",
1614 inherited = "no",
1615 percentages = "n/a",
1616 canonical_order = "per grammar",
1617 animation_type = "see superellipse interpolation"
1618)]
1619#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1620#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-start-start-shape"))]
1621#[visit]
1622pub struct CornerStartStartShapeStyleValue;
1623
1624/// 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).
1625///
1626/// The grammar is defined as:
1627///
1628/// ```text,ignore
1629/// <corner-shape-value>
1630/// ```
1631///
1632// https://drafts.csswg.org/css-borders-4/#corner-start-end-shape
1633#[syntax(" <corner-shape-value> ")]
1634#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1635#[style_value(
1636 initial = "round",
1637 applies_to = "all elements where border-radius can apply",
1638 inherited = "no",
1639 percentages = "n/a",
1640 canonical_order = "per grammar",
1641 animation_type = "see superellipse interpolation"
1642)]
1643#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1644#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-start-end-shape"))]
1645#[visit]
1646pub struct CornerStartEndShapeStyleValue;
1647
1648/// 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).
1649///
1650/// The grammar is defined as:
1651///
1652/// ```text,ignore
1653/// <corner-shape-value>
1654/// ```
1655///
1656// https://drafts.csswg.org/css-borders-4/#corner-end-start-shape
1657#[syntax(" <corner-shape-value> ")]
1658#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1659#[style_value(
1660 initial = "round",
1661 applies_to = "all elements where border-radius can apply",
1662 inherited = "no",
1663 percentages = "n/a",
1664 canonical_order = "per grammar",
1665 animation_type = "see superellipse interpolation"
1666)]
1667#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1668#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-end-start-shape"))]
1669#[visit]
1670pub struct CornerEndStartShapeStyleValue;
1671
1672/// 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).
1673///
1674/// The grammar is defined as:
1675///
1676/// ```text,ignore
1677/// <corner-shape-value>
1678/// ```
1679///
1680// https://drafts.csswg.org/css-borders-4/#corner-end-end-shape
1681#[syntax(" <corner-shape-value> ")]
1682#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1683#[style_value(
1684 initial = "round",
1685 applies_to = "all elements where border-radius can apply",
1686 inherited = "no",
1687 percentages = "n/a",
1688 canonical_order = "per grammar",
1689 animation_type = "see superellipse interpolation"
1690)]
1691#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1692#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-end-end-shape"))]
1693#[visit]
1694pub struct CornerEndEndShapeStyleValue;
1695
1696/// Represents the style value for `corner-top-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-top-shape).
1697///
1698/// The grammar is defined as:
1699///
1700/// ```text,ignore
1701/// <'corner-top-left-shape'>{1,2}
1702/// ```
1703///
1704// https://drafts.csswg.org/css-borders-4/#corner-top-shape
1705#[syntax(" <'corner-top-left-shape'>{1,2} ")]
1706#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1707#[style_value(
1708 initial = "see individual properties",
1709 applies_to = "see individual properties",
1710 inherited = "see individual properties",
1711 percentages = "see individual properties",
1712 canonical_order = "per grammar",
1713 animation_type = "see individual properties"
1714)]
1715#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1716#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-shape"))]
1717#[visit]
1718pub struct CornerTopShapeStyleValue;
1719
1720/// Represents the style value for `corner-right-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-right-shape).
1721///
1722/// The grammar is defined as:
1723///
1724/// ```text,ignore
1725/// <'corner-top-left-shape'>{1,2}
1726/// ```
1727///
1728// https://drafts.csswg.org/css-borders-4/#corner-right-shape
1729#[syntax(" <'corner-top-left-shape'>{1,2} ")]
1730#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1731#[style_value(
1732 initial = "see individual properties",
1733 applies_to = "see individual properties",
1734 inherited = "see individual properties",
1735 percentages = "see individual properties",
1736 canonical_order = "per grammar",
1737 animation_type = "see individual properties"
1738)]
1739#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1740#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-right-shape"))]
1741#[visit]
1742pub struct CornerRightShapeStyleValue;
1743
1744/// Represents the style value for `corner-bottom-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-bottom-shape).
1745///
1746/// The grammar is defined as:
1747///
1748/// ```text,ignore
1749/// <'corner-top-left-shape'>{1,2}
1750/// ```
1751///
1752// https://drafts.csswg.org/css-borders-4/#corner-bottom-shape
1753#[syntax(" <'corner-top-left-shape'>{1,2} ")]
1754#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1755#[style_value(
1756 initial = "see individual properties",
1757 applies_to = "see individual properties",
1758 inherited = "see individual properties",
1759 percentages = "see individual properties",
1760 canonical_order = "per grammar",
1761 animation_type = "see individual properties"
1762)]
1763#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1764#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-shape"))]
1765#[visit]
1766pub struct CornerBottomShapeStyleValue;
1767
1768/// Represents the style value for `corner-left-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-left-shape).
1769///
1770/// The grammar is defined as:
1771///
1772/// ```text,ignore
1773/// <'corner-top-left-shape'>{1,2}
1774/// ```
1775///
1776// https://drafts.csswg.org/css-borders-4/#corner-left-shape
1777#[syntax(" <'corner-top-left-shape'>{1,2} ")]
1778#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1779#[style_value(
1780 initial = "see individual properties",
1781 applies_to = "see individual properties",
1782 inherited = "see individual properties",
1783 percentages = "see individual properties",
1784 canonical_order = "per grammar",
1785 animation_type = "see individual properties"
1786)]
1787#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1788#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-left-shape"))]
1789#[visit]
1790pub struct CornerLeftShapeStyleValue;
1791
1792/// 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).
1793///
1794/// The grammar is defined as:
1795///
1796/// ```text,ignore
1797/// <'corner-top-left-shape'>{1,2}
1798/// ```
1799///
1800// https://drafts.csswg.org/css-borders-4/#corner-block-start-shape
1801#[syntax(" <'corner-top-left-shape'>{1,2} ")]
1802#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1803#[style_value(
1804 initial = "see individual properties",
1805 applies_to = "see individual properties",
1806 inherited = "see individual properties",
1807 percentages = "see individual properties",
1808 canonical_order = "per grammar",
1809 animation_type = "see individual properties"
1810)]
1811#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1812#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-block-start-shape"))]
1813#[visit]
1814pub struct CornerBlockStartShapeStyleValue;
1815
1816/// 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).
1817///
1818/// The grammar is defined as:
1819///
1820/// ```text,ignore
1821/// <'corner-top-left-shape'>{1,2}
1822/// ```
1823///
1824// https://drafts.csswg.org/css-borders-4/#corner-block-end-shape
1825#[syntax(" <'corner-top-left-shape'>{1,2} ")]
1826#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1827#[style_value(
1828 initial = "see individual properties",
1829 applies_to = "see individual properties",
1830 inherited = "see individual properties",
1831 percentages = "see individual properties",
1832 canonical_order = "per grammar",
1833 animation_type = "see individual properties"
1834)]
1835#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1836#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-block-end-shape"))]
1837#[visit]
1838pub struct CornerBlockEndShapeStyleValue;
1839
1840/// 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).
1841///
1842/// The grammar is defined as:
1843///
1844/// ```text,ignore
1845/// <'corner-top-left-shape'>{1,2}
1846/// ```
1847///
1848// https://drafts.csswg.org/css-borders-4/#corner-inline-start-shape
1849#[syntax(" <'corner-top-left-shape'>{1,2} ")]
1850#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1851#[style_value(
1852 initial = "see individual properties",
1853 applies_to = "see individual properties",
1854 inherited = "see individual properties",
1855 percentages = "see individual properties",
1856 canonical_order = "per grammar",
1857 animation_type = "see individual properties"
1858)]
1859#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1860#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-inline-start-shape"))]
1861#[visit]
1862pub struct CornerInlineStartShapeStyleValue;
1863
1864/// 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).
1865///
1866/// The grammar is defined as:
1867///
1868/// ```text,ignore
1869/// <'corner-top-left-shape'>{1,2}
1870/// ```
1871///
1872// https://drafts.csswg.org/css-borders-4/#corner-inline-end-shape
1873#[syntax(" <'corner-top-left-shape'>{1,2} ")]
1874#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1875#[style_value(
1876 initial = "see individual properties",
1877 applies_to = "see individual properties",
1878 inherited = "see individual properties",
1879 percentages = "see individual properties",
1880 canonical_order = "per grammar",
1881 animation_type = "see individual properties"
1882)]
1883#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1884#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-inline-end-shape"))]
1885#[visit]
1886pub struct CornerInlineEndShapeStyleValue;
1887
1888/// Represents the style value for `corner-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-shape).
1889///
1890/// The grammar is defined as:
1891///
1892/// ```text,ignore
1893/// <'corner-top-left-shape'>{1,4}
1894/// ```
1895///
1896// https://drafts.csswg.org/css-borders-4/#corner-shape
1897#[syntax(" <'corner-top-left-shape'>{1,4} ")]
1898#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1899#[style_value(
1900 initial = "round",
1901 applies_to = "all elements where border-radius can apply",
1902 inherited = "no",
1903 percentages = "see individual properties",
1904 canonical_order = "per grammar",
1905 animation_type = "see individual properties"
1906)]
1907#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1908#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-shape"))]
1909#[visit]
1910pub struct CornerShapeStyleValue;
1911
1912// /// Represents the style value for `corner-top-left` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-top-left).
1913// ///
1914// /// The grammar is defined as:
1915// ///
1916// /// ```text,ignore
1917// /// <'border-top-left-radius'>{1,2} || <'corner-top-left-shape'>
1918// /// ```
1919// ///
1920// // https://drafts.csswg.org/css-borders-4/#corner-top-left
1921// #[syntax(" <'border-top-left-radius'>{1,2} || <'corner-top-left-shape'> ")]
1922// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1923// #[style_value(
1924// initial = "0",
1925// applies_to = "all elements (but see prose)",
1926// inherited = "no",
1927// percentages = "refer to corresponding dimension of the border box.",
1928// canonical_order = "per grammar",
1929// animation_type = "see individual properties",
1930// )]
1931// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1932// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-left"))]
1933// #[visit]
1934// pub struct CornerTopLeftStyleValue;
1935
1936// /// Represents the style value for `corner-top-right` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-top-right).
1937// ///
1938// /// The grammar is defined as:
1939// ///
1940// /// ```text,ignore
1941// /// <'border-top-left-radius'>{1,2} || <'corner-top-left-shape'>
1942// /// ```
1943// ///
1944// // https://drafts.csswg.org/css-borders-4/#corner-top-right
1945// #[syntax(" <'border-top-left-radius'>{1,2} || <'corner-top-left-shape'> ")]
1946// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1947// #[style_value(
1948// initial = "0",
1949// applies_to = "all elements (but see prose)",
1950// inherited = "no",
1951// percentages = "refer to corresponding dimension of the border box.",
1952// canonical_order = "per grammar",
1953// animation_type = "see individual properties",
1954// )]
1955// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1956// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-right"))]
1957// #[visit]
1958// pub struct CornerTopRightStyleValue;
1959
1960// /// Represents the style value for `corner-bottom-left` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-bottom-left).
1961// ///
1962// /// The grammar is defined as:
1963// ///
1964// /// ```text,ignore
1965// /// <'border-top-left-radius'>{1,2} || <'corner-top-left-shape'>
1966// /// ```
1967// ///
1968// // https://drafts.csswg.org/css-borders-4/#corner-bottom-left
1969// #[syntax(" <'border-top-left-radius'>{1,2} || <'corner-top-left-shape'> ")]
1970// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1971// #[style_value(
1972// initial = "0",
1973// applies_to = "all elements (but see prose)",
1974// inherited = "no",
1975// percentages = "refer to corresponding dimension of the border box.",
1976// canonical_order = "per grammar",
1977// animation_type = "see individual properties",
1978// )]
1979// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1980// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-left"))]
1981// #[visit]
1982// pub struct CornerBottomLeftStyleValue;
1983
1984// /// Represents the style value for `corner-bottom-right` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-bottom-right).
1985// ///
1986// /// The grammar is defined as:
1987// ///
1988// /// ```text,ignore
1989// /// <'border-top-left-radius'>{1,2} || <'corner-top-left-shape'>
1990// /// ```
1991// ///
1992// // https://drafts.csswg.org/css-borders-4/#corner-bottom-right
1993// #[syntax(" <'border-top-left-radius'>{1,2} || <'corner-top-left-shape'> ")]
1994// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
1995// #[style_value(
1996// initial = "0",
1997// applies_to = "all elements (but see prose)",
1998// inherited = "no",
1999// percentages = "refer to corresponding dimension of the border box.",
2000// canonical_order = "per grammar",
2001// animation_type = "see individual properties",
2002// )]
2003// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2004// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-right"))]
2005// #[visit]
2006// pub struct CornerBottomRightStyleValue;
2007
2008// /// Represents the style value for `corner-start-start` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-start-start).
2009// ///
2010// /// The grammar is defined as:
2011// ///
2012// /// ```text,ignore
2013// /// <'border-top-left-radius'>{1,2} || <'corner-top-left-shape'>
2014// /// ```
2015// ///
2016// // https://drafts.csswg.org/css-borders-4/#corner-start-start
2017// #[syntax(" <'border-top-left-radius'>{1,2} || <'corner-top-left-shape'> ")]
2018// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2019// #[style_value(
2020// initial = "0",
2021// applies_to = "all elements (but see prose)",
2022// inherited = "no",
2023// percentages = "refer to corresponding dimension of the border box.",
2024// canonical_order = "per grammar",
2025// animation_type = "see individual properties",
2026// )]
2027// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2028// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-start-start"))]
2029// #[visit]
2030// pub struct CornerStartStartStyleValue;
2031
2032// /// Represents the style value for `corner-start-end` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-start-end).
2033// ///
2034// /// The grammar is defined as:
2035// ///
2036// /// ```text,ignore
2037// /// <'border-top-left-radius'>{1,2} || <'corner-top-left-shape'>
2038// /// ```
2039// ///
2040// // https://drafts.csswg.org/css-borders-4/#corner-start-end
2041// #[syntax(" <'border-top-left-radius'>{1,2} || <'corner-top-left-shape'> ")]
2042// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2043// #[style_value(
2044// initial = "0",
2045// applies_to = "all elements (but see prose)",
2046// inherited = "no",
2047// percentages = "refer to corresponding dimension of the border box.",
2048// canonical_order = "per grammar",
2049// animation_type = "see individual properties",
2050// )]
2051// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2052// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-start-end"))]
2053// #[visit]
2054// pub struct CornerStartEndStyleValue;
2055
2056// /// Represents the style value for `corner-end-start` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-end-start).
2057// ///
2058// /// The grammar is defined as:
2059// ///
2060// /// ```text,ignore
2061// /// <'border-top-left-radius'>{1,2} || <'corner-top-left-shape'>
2062// /// ```
2063// ///
2064// // https://drafts.csswg.org/css-borders-4/#corner-end-start
2065// #[syntax(" <'border-top-left-radius'>{1,2} || <'corner-top-left-shape'> ")]
2066// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2067// #[style_value(
2068// initial = "0",
2069// applies_to = "all elements (but see prose)",
2070// inherited = "no",
2071// percentages = "refer to corresponding dimension of the border box.",
2072// canonical_order = "per grammar",
2073// animation_type = "see individual properties",
2074// )]
2075// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2076// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-end-start"))]
2077// #[visit]
2078// pub struct CornerEndStartStyleValue;
2079
2080// /// Represents the style value for `corner-end-end` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-end-end).
2081// ///
2082// /// The grammar is defined as:
2083// ///
2084// /// ```text,ignore
2085// /// <'border-top-left-radius'>{1,2} || <'corner-top-left-shape'>
2086// /// ```
2087// ///
2088// // https://drafts.csswg.org/css-borders-4/#corner-end-end
2089// #[syntax(" <'border-top-left-radius'>{1,2} || <'corner-top-left-shape'> ")]
2090// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2091// #[style_value(
2092// initial = "0",
2093// applies_to = "all elements (but see prose)",
2094// inherited = "no",
2095// percentages = "refer to corresponding dimension of the border box.",
2096// canonical_order = "per grammar",
2097// animation_type = "see individual properties",
2098// )]
2099// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2100// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-end-end"))]
2101// #[visit]
2102// pub struct CornerEndEndStyleValue;
2103
2104// /// Represents the style value for `corner-top` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-top).
2105// ///
2106// /// The grammar is defined as:
2107// ///
2108// /// ```text,ignore
2109// /// <'border-top-radius'> || <'corner-top-shape'>
2110// /// ```
2111// ///
2112// // https://drafts.csswg.org/css-borders-4/#corner-top
2113// #[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
2114// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2115// #[style_value(
2116// initial = "0",
2117// applies_to = "all elements (but see prose)",
2118// inherited = "no",
2119// percentages = "refer to corresponding dimension of the border box.",
2120// canonical_order = "per grammar",
2121// animation_type = "see individual properties",
2122// )]
2123// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2124// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top"))]
2125// #[visit]
2126// pub struct CornerTopStyleValue;
2127
2128// /// Represents the style value for `corner-right` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-right).
2129// ///
2130// /// The grammar is defined as:
2131// ///
2132// /// ```text,ignore
2133// /// <'border-top-radius'> || <'corner-top-shape'>
2134// /// ```
2135// ///
2136// // https://drafts.csswg.org/css-borders-4/#corner-right
2137// #[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
2138// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2139// #[style_value(
2140// initial = "0",
2141// applies_to = "all elements (but see prose)",
2142// inherited = "no",
2143// percentages = "refer to corresponding dimension of the border box.",
2144// canonical_order = "per grammar",
2145// animation_type = "see individual properties",
2146// )]
2147// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2148// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-right"))]
2149// #[visit]
2150// pub struct CornerRightStyleValue;
2151
2152// /// Represents the style value for `corner-bottom` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-bottom).
2153// ///
2154// /// The grammar is defined as:
2155// ///
2156// /// ```text,ignore
2157// /// <'border-top-radius'> || <'corner-top-shape'>
2158// /// ```
2159// ///
2160// // https://drafts.csswg.org/css-borders-4/#corner-bottom
2161// #[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
2162// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2163// #[style_value(
2164// initial = "0",
2165// applies_to = "all elements (but see prose)",
2166// inherited = "no",
2167// percentages = "refer to corresponding dimension of the border box.",
2168// canonical_order = "per grammar",
2169// animation_type = "see individual properties",
2170// )]
2171// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2172// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom"))]
2173// #[visit]
2174// pub struct CornerBottomStyleValue;
2175
2176// /// Represents the style value for `corner-left` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-left).
2177// ///
2178// /// The grammar is defined as:
2179// ///
2180// /// ```text,ignore
2181// /// <'border-top-radius'> || <'corner-top-shape'>
2182// /// ```
2183// ///
2184// // https://drafts.csswg.org/css-borders-4/#corner-left
2185// #[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
2186// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2187// #[style_value(
2188// initial = "0",
2189// applies_to = "all elements (but see prose)",
2190// inherited = "no",
2191// percentages = "refer to corresponding dimension of the border box.",
2192// canonical_order = "per grammar",
2193// animation_type = "see individual properties",
2194// )]
2195// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2196// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-left"))]
2197// #[visit]
2198// pub struct CornerLeftStyleValue;
2199
2200// /// Represents the style value for `corner-block-start` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-block-start).
2201// ///
2202// /// The grammar is defined as:
2203// ///
2204// /// ```text,ignore
2205// /// <'border-top-radius'> || <'corner-top-shape'>
2206// /// ```
2207// ///
2208// // https://drafts.csswg.org/css-borders-4/#corner-block-start
2209// #[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
2210// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2211// #[style_value(
2212// initial = "0",
2213// applies_to = "all elements (but see prose)",
2214// inherited = "no",
2215// percentages = "refer to corresponding dimension of the border box.",
2216// canonical_order = "per grammar",
2217// animation_type = "see individual properties",
2218// )]
2219// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2220// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-block-start"))]
2221// #[visit]
2222// pub struct CornerBlockStartStyleValue;
2223
2224// /// Represents the style value for `corner-block-end` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-block-end).
2225// ///
2226// /// The grammar is defined as:
2227// ///
2228// /// ```text,ignore
2229// /// <'border-top-radius'> || <'corner-top-shape'>
2230// /// ```
2231// ///
2232// // https://drafts.csswg.org/css-borders-4/#corner-block-end
2233// #[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
2234// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2235// #[style_value(
2236// initial = "0",
2237// applies_to = "all elements (but see prose)",
2238// inherited = "no",
2239// percentages = "refer to corresponding dimension of the border box.",
2240// canonical_order = "per grammar",
2241// animation_type = "see individual properties",
2242// )]
2243// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2244// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-block-end"))]
2245// #[visit]
2246// pub struct CornerBlockEndStyleValue;
2247
2248// /// Represents the style value for `corner-inline-start` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-inline-start).
2249// ///
2250// /// The grammar is defined as:
2251// ///
2252// /// ```text,ignore
2253// /// <'border-top-radius'> || <'corner-top-shape'>
2254// /// ```
2255// ///
2256// // https://drafts.csswg.org/css-borders-4/#corner-inline-start
2257// #[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
2258// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2259// #[style_value(
2260// initial = "0",
2261// applies_to = "all elements (but see prose)",
2262// inherited = "no",
2263// percentages = "refer to corresponding dimension of the border box.",
2264// canonical_order = "per grammar",
2265// animation_type = "see individual properties",
2266// )]
2267// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2268// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-inline-start"))]
2269// #[visit]
2270// pub struct CornerInlineStartStyleValue;
2271
2272// /// Represents the style value for `corner-inline-end` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner-inline-end).
2273// ///
2274// /// The grammar is defined as:
2275// ///
2276// /// ```text,ignore
2277// /// <'border-top-radius'> || <'corner-top-shape'>
2278// /// ```
2279// ///
2280// // https://drafts.csswg.org/css-borders-4/#corner-inline-end
2281// #[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
2282// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2283// #[style_value(
2284// initial = "0",
2285// applies_to = "all elements (but see prose)",
2286// inherited = "no",
2287// percentages = "refer to corresponding dimension of the border box.",
2288// canonical_order = "per grammar",
2289// animation_type = "see individual properties",
2290// )]
2291// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2292// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-inline-end"))]
2293// #[visit]
2294// pub struct CornerInlineEndStyleValue;
2295
2296// /// Represents the style value for `corner` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#corner).
2297// ///
2298// /// The grammar is defined as:
2299// ///
2300// /// ```text,ignore
2301// /// <'border-radius'> || <'corner-shape'>
2302// /// ```
2303// ///
2304// // https://drafts.csswg.org/css-borders-4/#corner
2305// #[syntax(" <'border-radius'> || <'corner-shape'> ")]
2306// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2307// #[style_value(
2308// initial = "0",
2309// applies_to = "all elements (but see prose)",
2310// inherited = "no",
2311// percentages = "refer to corresponding dimension of the border box.",
2312// canonical_order = "per grammar",
2313// animation_type = "see individual properties",
2314// )]
2315// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2316// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner"))]
2317// #[visit]
2318// pub struct CornerStyleValue;
2319
2320// /// Represents the style value for `border-limit` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-limit).
2321// ///
2322// /// The grammar is defined as:
2323// ///
2324// /// ```text,ignore
2325// /// all | [ sides | corners ] <length-percentage [0,∞]>? | [ top | right | bottom | left ] <length-percentage [0,∞]>
2326// /// ```
2327// ///
2328// // https://drafts.csswg.org/css-borders-4/#border-limit
2329// #[syntax(
2330// " all | [ sides | corners ] <length-percentage [0,∞]>? | [ top | right | bottom | left ] <length-percentage [0,∞]> "
2331// )]
2332// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2333// #[style_value(
2334// initial = "all",
2335// applies_to = "all elements, except table element when border-collapse is collapse",
2336// inherited = "no",
2337// percentages = "relative to border-box",
2338// canonical_order = "per grammar",
2339// animation_type = "discrete",
2340// )]
2341// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2342// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-limit"))]
2343// #[visit]
2344// pub enum BorderLimitStyleValue {}
2345
2346/// Represents the style value for `border-clip` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-clip).
2347///
2348/// The grammar is defined as:
2349///
2350/// ```text,ignore
2351/// normal | [ <length-percentage [0,∞]> | <flex> ]+
2352/// ```
2353///
2354// https://drafts.csswg.org/css-borders-4/#border-clip
2355#[syntax(" normal | [ <length-percentage [0,∞]> | <flex> ]+ ")]
2356#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2357#[style_value(
2358 initial = "normal",
2359 applies_to = "all elements",
2360 inherited = "no",
2361 percentages = "refer to length of border-edge side",
2362 canonical_order = "per grammar",
2363 animation_type = "by computed value"
2364)]
2365#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2366#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-clip"))]
2367#[visit]
2368pub enum BorderClipStyleValue<'a> {}
2369
2370/// Represents the style value for `border-clip-top` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-clip-top).
2371///
2372/// The grammar is defined as:
2373///
2374/// ```text,ignore
2375/// normal | [ <length-percentage [0,∞]> | <flex> ]+
2376/// ```
2377///
2378// https://drafts.csswg.org/css-borders-4/#border-clip-top
2379#[syntax(" normal | [ <length-percentage [0,∞]> | <flex> ]+ ")]
2380#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2381#[style_value(
2382 initial = "normal",
2383 applies_to = "all elements",
2384 inherited = "no",
2385 percentages = "refer to length of border-edge side",
2386 canonical_order = "per grammar",
2387 animation_type = "by computed value"
2388)]
2389#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2390#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-clip-top"))]
2391#[visit]
2392pub enum BorderClipTopStyleValue<'a> {}
2393
2394/// Represents the style value for `border-clip-right` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-clip-right).
2395///
2396/// The grammar is defined as:
2397///
2398/// ```text,ignore
2399/// normal | [ <length-percentage [0,∞]> | <flex> ]+
2400/// ```
2401///
2402// https://drafts.csswg.org/css-borders-4/#border-clip-right
2403#[syntax(" normal | [ <length-percentage [0,∞]> | <flex> ]+ ")]
2404#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2405#[style_value(
2406 initial = "normal",
2407 applies_to = "all elements",
2408 inherited = "no",
2409 percentages = "refer to length of border-edge side",
2410 canonical_order = "per grammar",
2411 animation_type = "by computed value"
2412)]
2413#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2414#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-clip-right"))]
2415#[visit]
2416pub enum BorderClipRightStyleValue<'a> {}
2417
2418/// Represents the style value for `border-clip-bottom` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-clip-bottom).
2419///
2420/// The grammar is defined as:
2421///
2422/// ```text,ignore
2423/// normal | [ <length-percentage [0,∞]> | <flex> ]+
2424/// ```
2425///
2426// https://drafts.csswg.org/css-borders-4/#border-clip-bottom
2427#[syntax(" normal | [ <length-percentage [0,∞]> | <flex> ]+ ")]
2428#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2429#[style_value(
2430 initial = "normal",
2431 applies_to = "all elements",
2432 inherited = "no",
2433 percentages = "refer to length of border-edge side",
2434 canonical_order = "per grammar",
2435 animation_type = "by computed value"
2436)]
2437#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2438#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-clip-bottom"))]
2439#[visit]
2440pub enum BorderClipBottomStyleValue<'a> {}
2441
2442/// Represents the style value for `border-clip-left` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-clip-left).
2443///
2444/// The grammar is defined as:
2445///
2446/// ```text,ignore
2447/// normal | [ <length-percentage [0,∞]> | <flex> ]+
2448/// ```
2449///
2450// https://drafts.csswg.org/css-borders-4/#border-clip-left
2451#[syntax(" normal | [ <length-percentage [0,∞]> | <flex> ]+ ")]
2452#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2453#[style_value(
2454 initial = "normal",
2455 applies_to = "all elements",
2456 inherited = "no",
2457 percentages = "refer to length of border-edge side",
2458 canonical_order = "per grammar",
2459 animation_type = "by computed value"
2460)]
2461#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2462#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-clip-left"))]
2463#[visit]
2464pub enum BorderClipLeftStyleValue<'a> {}
2465
2466/// Represents the style value for `box-shadow-color` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#box-shadow-color).
2467///
2468/// The grammar is defined as:
2469///
2470/// ```text,ignore
2471/// <color>#
2472/// ```
2473///
2474// https://drafts.csswg.org/css-borders-4/#box-shadow-color
2475#[syntax(" <color># ")]
2476#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2477#[style_value(
2478 initial = "currentcolor",
2479 applies_to = "all elements",
2480 inherited = "no",
2481 percentages = "n/a",
2482 canonical_order = "per grammar",
2483 animation_type = "by computed value"
2484)]
2485#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2486#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-color"))]
2487#[visit]
2488pub struct BoxShadowColorStyleValue<'a>;
2489
2490// /// Represents the style value for `box-shadow-offset` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#box-shadow-offset).
2491// ///
2492// /// The grammar is defined as:
2493// ///
2494// /// ```text,ignore
2495// /// [ none | <length>{2} ]#
2496// /// ```
2497// ///
2498// // https://drafts.csswg.org/css-borders-4/#box-shadow-offset
2499// #[syntax(" [ none | <length>{2} ]# ")]
2500// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2501// #[style_value(
2502// initial = "none",
2503// applies_to = "all elements",
2504// inherited = "no",
2505// percentages = "n/a",
2506// canonical_order = "per grammar",
2507// animation_type = "by computed value, treating none as 0 0 when interpolated with non-none values.",
2508// )]
2509// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2510// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-offset"))]
2511// #[visit]
2512// pub struct BoxShadowOffsetStyleValue<'a>;
2513
2514/// Represents the style value for `box-shadow-blur` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#box-shadow-blur).
2515///
2516/// The grammar is defined as:
2517///
2518/// ```text,ignore
2519/// <length [0,∞]>#
2520/// ```
2521///
2522// https://drafts.csswg.org/css-borders-4/#box-shadow-blur
2523#[syntax(" <length [0,∞]># ")]
2524#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2525#[style_value(
2526 initial = "0",
2527 applies_to = "all elements",
2528 inherited = "no",
2529 percentages = "n/a",
2530 canonical_order = "per grammar",
2531 animation_type = "by computed value"
2532)]
2533#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2534#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-blur"))]
2535#[visit]
2536pub struct BoxShadowBlurStyleValue<'a>;
2537
2538/// Represents the style value for `box-shadow-spread` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#box-shadow-spread).
2539///
2540/// The grammar is defined as:
2541///
2542/// ```text,ignore
2543/// <length>#
2544/// ```
2545///
2546// https://drafts.csswg.org/css-borders-4/#box-shadow-spread
2547#[syntax(" <length># ")]
2548#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2549#[style_value(
2550 initial = "0",
2551 applies_to = "all elements",
2552 inherited = "no",
2553 percentages = "n/a",
2554 canonical_order = "per grammar",
2555 animation_type = "by computed value"
2556)]
2557#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2558#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-spread"))]
2559#[visit]
2560pub struct BoxShadowSpreadStyleValue<'a>;
2561
2562/// Represents the style value for `box-shadow-position` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#box-shadow-position).
2563///
2564/// The grammar is defined as:
2565///
2566/// ```text,ignore
2567/// [ outset | inset ]#
2568/// ```
2569///
2570// https://drafts.csswg.org/css-borders-4/#box-shadow-position
2571#[syntax(" [ outset | inset ]# ")]
2572#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2573#[style_value(
2574 initial = "outset",
2575 applies_to = "all elements",
2576 inherited = "no",
2577 percentages = "n/a",
2578 canonical_order = "per grammar",
2579 animation_type = "by computed value"
2580)]
2581#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2582#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-position"))]
2583#[visit]
2584pub struct BoxShadowPositionStyleValue<'a>;
2585
2586/// Represents the style value for `box-shadow` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#box-shadow).
2587///
2588/// The box-shadow CSS property applies shadow effects around an element's frame. This can create drop shadow and inner shadow effects.
2589///
2590/// The grammar is defined as:
2591///
2592/// ```text,ignore
2593/// <spread-shadow>#
2594/// ```
2595///
2596// https://drafts.csswg.org/css-borders-4/#box-shadow
2597#[syntax(" <spread-shadow># ")]
2598#[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2599#[style_value(
2600 initial = "none",
2601 applies_to = "all elements",
2602 inherited = "no",
2603 percentages = "n/a",
2604 canonical_order = "per grammar",
2605 animation_type = "see individual properties"
2606)]
2607#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2608#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow"))]
2609#[visit]
2610pub struct BoxShadowStyleValue<'a>;
2611
2612// /// Represents the style value for `border-shape` as defined in [css-borders-4](https://drafts.csswg.org/css-borders-4/#border-shape).
2613// ///
2614// /// The grammar is defined as:
2615// ///
2616// /// ```text,ignore
2617// /// none | [ <basic-shape> <geometry-box>?]{1,2}
2618// /// ```
2619// ///
2620// // https://drafts.csswg.org/css-borders-4/#border-shape
2621// #[syntax(" none | [ <basic-shape> <geometry-box>?]{1,2} ")]
2622// #[derive(Parse, Peek, ToSpan, ToCursors, StyleValue, Visitable, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
2623// #[style_value(
2624// initial = "none",
2625// applies_to = "all elements",
2626// inherited = "no",
2627// percentages = "relative to the given <geometry-box>, or to border box if not given.",
2628// canonical_order = "per grammar",
2629// animation_type = "by computed value",
2630// )]
2631// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2632// #[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-shape"))]
2633// #[visit]
2634// pub enum BorderShapeStyleValue {}