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