1#![allow(warnings)]
5mod impls;
8use super::prelude::*;
9use impls::*;
10#[syntax(" <line-width> || <line-style> || <color> ")]
22#[derive(
23 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
24)]
25#[declaration_metadata(
26 initial = "see individual properties",
27 inherits = Unknown,
28 applies_to = Unknown,
29 animation_type = Unknown,
30 percentages = Unknown,
31 longhands = BorderWidth|BorderTopWidth|BorderRightWidth|BorderBottomWidth|BorderLeftWidth|BorderStyle|BorderTopStyle|BorderRightStyle|BorderBottomStyle|BorderLeftStyle|BorderColor|BorderTopColor|BorderRightColor|BorderBottomColor|BorderLeftColor,
32 resets = BorderImage,
33 property_group = Borders,
34 computed_value_type = Unknown,
35 canonical_order = "per grammar",
36 box_side = Top|Bottom|Left|Right,
37 box_portion = Border,
38)]
39#[declaration_writes(BorderWidth?, BorderStyle?, BorderColor?)]
40#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
41#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border"))]
42#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
43#[derive(csskit_derives::NodeWithMetadata)]
44pub struct BorderStyleValue<'a>;
45
46#[syntax(" <'border-block-start'> ")]
58#[derive(
59 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
60)]
61#[declaration_metadata(
62 initial = "see individual properties",
63 inherits = Unknown,
64 applies_to = Unknown,
65 animation_type = Unknown,
66 percentages = Unknown,
67 longhands = BorderBlockWidth|BorderBlockStartWidth|BorderBlockEndWidth|BorderBlockStyle|BorderBlockStartStyle|BorderBlockEndStyle|BorderBlockColor|BorderBlockStartColor|BorderBlockEndColor,
68 property_group = Borders,
69 computed_value_type = Unknown,
70 canonical_order = "per grammar",
71 box_side = BlockStart|BlockEnd,
72 box_portion = Border,
73)]
74#[declaration_writes(BorderBlockWidth?, BorderBlockStyle?, BorderBlockColor?)]
75#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
76#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block"))]
77#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
78#[derive(csskit_derives::NodeWithMetadata)]
79pub struct BorderBlockStyleValue<'a>;
80
81#[syntax(" <'border-top-clip'> ")]
91#[derive(
92 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
93)]
94#[declaration_metadata(
95 initial = "see individual properties",
96 inherits = Unknown,
97 applies_to = Unknown,
98 animation_type = Unknown,
99 percentages = Unknown,
100 property_group = Borders,
101 computed_value_type = Unknown,
102 canonical_order = "per grammar",
103 box_side = BlockStart|BlockEnd,
104 box_portion = Border,
105)]
106#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
107#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-clip"))]
108#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
109#[derive(csskit_derives::NodeWithMetadata)]
110pub struct BorderBlockClipStyleValue<'a>;
111
112#[syntax(" <'border-top-color'>{1,2} ")]
124#[derive(
125 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
126)]
127#[declaration_metadata(
128 initial = "see individual properties",
129 inherits = Unknown,
130 applies_to = Unknown,
131 animation_type = Unknown,
132 percentages = Unknown,
133 longhands = BorderBlockStartColor|BorderBlockEndColor,
134 shorthands = BorderBlock,
135 property_group = Borders,
136 computed_value_type = Unknown,
137 canonical_order = "per grammar",
138 box_side = BlockStart|BlockEnd,
139 box_portion = Border,
140)]
141#[declaration_writes(repeat)]
142#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
143#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-color"))]
144#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
145#[derive(csskit_derives::NodeWithMetadata)]
146pub struct BorderBlockColorStyleValue<'a>;
147
148#[syntax(" <line-width> || <line-style> || <color> ")]
160#[derive(
161 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
162)]
163#[declaration_metadata(
164 initial = "See individual properties",
165 applies_to = Unknown,
166 animation_type = Unknown,
167 longhands = BorderBlockEndWidth|BorderBlockEndStyle|BorderBlockEndColor,
168 property_group = Borders,
169 computed_value_type = Unknown,
170 canonical_order = "per grammar",
171 box_side = BlockEnd,
172 box_portion = Border,
173)]
174#[declaration_writes(BorderBlockEndWidth?, BorderBlockEndStyle?, BorderBlockEndColor?)]
175#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
176#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end"))]
177#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
178#[derive(csskit_derives::NodeWithMetadata)]
179pub struct BorderBlockEndStyleValue<'a>;
180
181#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
191#[derive(
192 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
193)]
194#[declaration_metadata(
195 initial = "none",
196 applies_to = Elements,
197 animation_type = ByComputedValue,
198 percentages = BorderEdge,
199 property_group = Borders,
200 computed_value_type = SpecifiedWithAbsoluteLengths,
201 canonical_order = "per grammar",
202 logical_property_group = BorderClip,
203 box_portion = Border,
204)]
205#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
206#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-clip"))]
207#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
208#[derive(csskit_derives::NodeWithMetadata)]
209pub struct BorderBlockEndClipStyleValue<'a>;
210
211#[syntax(" <color> | <image-1D> ")]
223#[derive(
224 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
225)]
226#[declaration_metadata(
227 initial = "currentcolor",
228 applies_to = Unknown,
229 animation_type = Unknown,
230 shorthands = BorderBlockColor|BorderBlockEnd|BorderBlock,
231 property_group = Borders,
232 computed_value_type = Unknown,
233 canonical_order = "per grammar",
234 logical_property_group = BorderColor,
235 box_portion = Border,
236)]
237#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
238#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-color"))]
239#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
240#[derive(csskit_derives::NodeWithMetadata)]
241pub enum BorderBlockEndColorStyleValue<'a> {}
242
243#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
253#[derive(
254 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
255)]
256#[declaration_metadata(
257 initial = "0",
258 applies_to = Elements,
259 animation_type = Unknown,
260 percentages = BorderBox,
261 property_group = Borders,
262 computed_value_type = Unknown,
263 canonical_order = "per grammar",
264 box_portion = Border,
265)]
266#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
267#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-radius"))]
268#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
269#[derive(csskit_derives::NodeWithMetadata)]
270pub struct BorderBlockEndRadiusStyleValue<'a>;
271
272#[syntax(" <line-style> ")]
284#[derive(
285 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
286)]
287#[declaration_metadata(
288 initial = "none",
289 applies_to = Unknown,
290 animation_type = Discrete,
291 shorthands = BorderBlockStyle|BorderBlockEnd|BorderBlock,
292 property_group = Borders,
293 computed_value_type = Unknown,
294 canonical_order = "per grammar",
295 logical_property_group = BorderStyle,
296 box_portion = Border,
297)]
298#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
299#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-style"))]
300#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
301#[derive(csskit_derives::NodeWithMetadata)]
302pub struct BorderBlockEndStyleStyleValue<'a>;
303
304#[syntax(" <line-width> ")]
316#[derive(
317 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
318)]
319#[declaration_metadata(
320 initial = "medium",
321 applies_to = Unknown,
322 animation_type = ByComputedValue,
323 shorthands = BorderBlockWidth|BorderBlockEnd|BorderBlock,
324 property_group = Borders,
325 computed_value_type = AbsoluteLength,
326 canonical_order = "per grammar",
327 logical_property_group = BorderWidth,
328 box_portion = Border,
329)]
330#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
331#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-width"))]
332#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
333#[derive(csskit_derives::NodeWithMetadata)]
334pub struct BorderBlockEndWidthStyleValue<'a>;
335
336#[syntax(" <line-width> || <line-style> || <color> ")]
348#[derive(
349 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
350)]
351#[declaration_metadata(
352 initial = "See individual properties",
353 applies_to = Unknown,
354 animation_type = Unknown,
355 longhands = BorderBlockStartWidth|BorderBlockStartStyle|BorderBlockStartColor,
356 property_group = Borders,
357 computed_value_type = Unknown,
358 canonical_order = "per grammar",
359 box_side = BlockStart,
360 box_portion = Border,
361)]
362#[declaration_writes(
363 BorderBlockStartWidth?,
364 BorderBlockStartStyle?,
365 BorderBlockStartColor?
366)]
367#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
368#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start"))]
369#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
370#[derive(csskit_derives::NodeWithMetadata)]
371pub struct BorderBlockStartStyleValue<'a>;
372
373#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
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 = Elements,
389 animation_type = ByComputedValue,
390 percentages = BorderEdge,
391 property_group = Borders,
392 computed_value_type = SpecifiedWithAbsoluteLengths,
393 canonical_order = "per grammar",
394 logical_property_group = BorderClip,
395 box_portion = Border,
396)]
397#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
398#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-clip"))]
399#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
400#[derive(csskit_derives::NodeWithMetadata)]
401pub struct BorderBlockStartClipStyleValue<'a>;
402
403#[syntax(" <color> | <image-1D> ")]
415#[derive(
416 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
417)]
418#[declaration_metadata(
419 initial = "currentcolor",
420 applies_to = Unknown,
421 animation_type = Unknown,
422 shorthands = BorderBlockColor|BorderBlockStart|BorderBlock,
423 property_group = Borders,
424 computed_value_type = Unknown,
425 canonical_order = "per grammar",
426 logical_property_group = BorderColor,
427 box_portion = Border,
428)]
429#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
430#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-color"))]
431#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
432#[derive(csskit_derives::NodeWithMetadata)]
433pub enum BorderBlockStartColorStyleValue<'a> {}
434
435#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
445#[derive(
446 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
447)]
448#[declaration_metadata(
449 initial = "0",
450 applies_to = Elements,
451 animation_type = Unknown,
452 percentages = BorderBox,
453 property_group = Borders,
454 computed_value_type = Unknown,
455 canonical_order = "per grammar",
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-start-radius"))]
460#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
461#[derive(csskit_derives::NodeWithMetadata)]
462pub struct BorderBlockStartRadiusStyleValue<'a>;
463
464#[syntax(" <line-style> ")]
476#[derive(
477 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
478)]
479#[declaration_metadata(
480 initial = "none",
481 applies_to = Unknown,
482 animation_type = Discrete,
483 shorthands = BorderBlockStyle|BorderBlockStart|BorderBlock,
484 property_group = Borders,
485 computed_value_type = Unknown,
486 canonical_order = "per grammar",
487 logical_property_group = BorderStyle,
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-start-style"))]
492#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
493#[derive(csskit_derives::NodeWithMetadata)]
494pub struct BorderBlockStartStyleStyleValue<'a>;
495
496#[syntax(" <line-width> ")]
508#[derive(
509 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
510)]
511#[declaration_metadata(
512 initial = "medium",
513 applies_to = Unknown,
514 animation_type = ByComputedValue,
515 shorthands = BorderBlockWidth|BorderBlockStart|BorderBlock,
516 property_group = Borders,
517 computed_value_type = AbsoluteLength,
518 canonical_order = "per grammar",
519 logical_property_group = BorderWidth,
520 box_portion = Border,
521)]
522#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
523#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-width"))]
524#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
525#[derive(csskit_derives::NodeWithMetadata)]
526pub struct BorderBlockStartWidthStyleValue<'a>;
527
528#[syntax(" <'border-top-style'>{1,2} ")]
540#[derive(
541 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
542)]
543#[declaration_metadata(
544 initial = "see individual properties",
545 inherits = Unknown,
546 applies_to = Unknown,
547 animation_type = Unknown,
548 percentages = Unknown,
549 longhands = BorderBlockStartStyle|BorderBlockEndStyle,
550 shorthands = BorderBlock,
551 property_group = Borders,
552 computed_value_type = Unknown,
553 canonical_order = "per grammar",
554 box_side = BlockStart|BlockEnd,
555 box_portion = Border,
556)]
557#[declaration_writes(repeat)]
558#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
559#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-style"))]
560#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
561#[derive(csskit_derives::NodeWithMetadata)]
562pub struct BorderBlockStyleStyleValue<'a>;
563
564#[syntax(" <'border-top-width'>{1,2} ")]
576#[derive(
577 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
578)]
579#[declaration_metadata(
580 initial = "see individual properties",
581 inherits = Unknown,
582 applies_to = Unknown,
583 animation_type = Unknown,
584 percentages = Unknown,
585 longhands = BorderBlockStartWidth|BorderBlockEndWidth,
586 shorthands = BorderBlock,
587 property_group = Borders,
588 computed_value_type = Unknown,
589 canonical_order = "per grammar",
590 box_side = BlockStart|BlockEnd,
591 box_portion = Border,
592)]
593#[declaration_writes(repeat)]
594#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
595#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-width"))]
596#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
597#[derive(csskit_derives::NodeWithMetadata)]
598pub struct BorderBlockWidthStyleValue<'a>;
599
600#[syntax(" <line-width> || <line-style> || <color> ")]
612#[derive(
613 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
614)]
615#[declaration_metadata(
616 initial = "See individual properties",
617 applies_to = Unknown,
618 animation_type = Unknown,
619 longhands = BorderBottomWidth|BorderBottomStyle|BorderBottomColor,
620 property_group = Borders,
621 computed_value_type = Unknown,
622 canonical_order = "per grammar",
623 box_side = Bottom,
624 box_portion = Border,
625)]
626#[declaration_writes(BorderBottomWidth?, BorderBottomStyle?, BorderBottomColor?)]
627#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
628#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom"))]
629#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
630#[derive(csskit_derives::NodeWithMetadata)]
631pub struct BorderBottomStyleValue<'a>;
632
633#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
643#[derive(
644 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
645)]
646#[declaration_metadata(
647 initial = "none",
648 applies_to = Elements,
649 animation_type = ByComputedValue,
650 percentages = BorderEdge,
651 property_group = Borders,
652 computed_value_type = SpecifiedWithAbsoluteLengths,
653 canonical_order = "per grammar",
654 logical_property_group = BorderClip,
655 box_portion = Border,
656)]
657#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
658#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-clip"))]
659#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
660#[derive(csskit_derives::NodeWithMetadata)]
661pub struct BorderBottomClipStyleValue<'a>;
662
663#[syntax(" <color> | <image-1D> ")]
675#[derive(
676 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
677)]
678#[declaration_metadata(
679 initial = "currentcolor",
680 applies_to = Unknown,
681 animation_type = Unknown,
682 shorthands = BorderBottom|BorderColor|Border,
683 property_group = Borders,
684 computed_value_type = Unknown,
685 canonical_order = "per grammar",
686 logical_property_group = BorderColor,
687 box_portion = Border,
688)]
689#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
690#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-color"))]
691#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
692#[derive(csskit_derives::NodeWithMetadata)]
693pub enum BorderBottomColorStyleValue<'a> {}
694
695#[syntax(" <border-radius> ")]
707#[derive(
708 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
709)]
710#[declaration_metadata(
711 initial = "0",
712 applies_to = Elements,
713 animation_type = ByComputedValue,
714 percentages = BorderBox,
715 shorthands = BorderRadius,
716 property_group = Borders,
717 computed_value_type = Unknown,
718 canonical_order = "per grammar",
719 logical_property_group = BorderRadius,
720 box_side = Bottom|Left,
721 box_portion = Border,
722)]
723#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
724#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-left-radius"))]
725#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
726#[derive(csskit_derives::NodeWithMetadata)]
727pub struct BorderBottomLeftRadiusStyleValue<'a>;
728
729#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
739#[derive(
740 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
741)]
742#[declaration_metadata(
743 initial = "0",
744 applies_to = Elements,
745 animation_type = Unknown,
746 percentages = BorderBox,
747 property_group = Borders,
748 computed_value_type = Unknown,
749 canonical_order = "per grammar",
750 box_portion = Border,
751)]
752#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
753#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-radius"))]
754#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
755#[derive(csskit_derives::NodeWithMetadata)]
756pub struct BorderBottomRadiusStyleValue<'a>;
757
758#[syntax(" <border-radius> ")]
770#[derive(
771 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
772)]
773#[declaration_metadata(
774 initial = "0",
775 applies_to = Elements,
776 animation_type = ByComputedValue,
777 percentages = BorderBox,
778 shorthands = BorderRadius,
779 property_group = Borders,
780 computed_value_type = Unknown,
781 canonical_order = "per grammar",
782 logical_property_group = BorderRadius,
783 box_side = Bottom|Right,
784 box_portion = Border,
785)]
786#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
787#[cfg_attr(
788 feature = "css_feature_data",
789 derive(ToCSSFeature),
790 css_feature("css.properties.border-bottom-right-radius")
791)]
792#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
793#[derive(csskit_derives::NodeWithMetadata)]
794pub struct BorderBottomRightRadiusStyleValue<'a>;
795
796#[syntax(" <line-style> ")]
808#[derive(
809 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
810)]
811#[declaration_metadata(
812 initial = "none",
813 applies_to = Unknown,
814 animation_type = Discrete,
815 shorthands = BorderBottom|BorderStyle|Border,
816 property_group = Borders,
817 computed_value_type = Unknown,
818 canonical_order = "per grammar",
819 logical_property_group = BorderStyle,
820 box_portion = Border,
821)]
822#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
823#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-style"))]
824#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
825#[derive(csskit_derives::NodeWithMetadata)]
826pub struct BorderBottomStyleStyleValue<'a>;
827
828#[syntax(" <line-width> ")]
840#[derive(
841 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
842)]
843#[declaration_metadata(
844 initial = "medium",
845 applies_to = Unknown,
846 animation_type = ByComputedValue,
847 shorthands = BorderBottom|BorderWidth|Border,
848 property_group = Borders,
849 computed_value_type = AbsoluteLength,
850 canonical_order = "per grammar",
851 logical_property_group = BorderWidth,
852 box_portion = Border,
853)]
854#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
855#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-width"))]
856#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
857#[derive(csskit_derives::NodeWithMetadata)]
858pub struct BorderBottomWidthStyleValue<'a>;
859
860#[syntax(" <'border-top-clip'> ")]
870#[derive(
871 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
872)]
873#[declaration_metadata(
874 initial = "see individual properties",
875 inherits = Unknown,
876 applies_to = Unknown,
877 animation_type = Unknown,
878 percentages = Unknown,
879 property_group = Borders,
880 computed_value_type = Unknown,
881 canonical_order = "per grammar",
882 box_portion = Border,
883)]
884#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
885#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-clip"))]
886#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
887#[derive(csskit_derives::NodeWithMetadata)]
888pub struct BorderClipStyleValue<'a>;
889
890#[syntax(" [ <color> | <image-1D> ]{1,4} ")]
902#[derive(
903 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
904)]
905#[declaration_metadata(
906 initial = "see individual properties",
907 inherits = Unknown,
908 applies_to = Unknown,
909 animation_type = Unknown,
910 percentages = Unknown,
911 longhands = BorderTopColor|BorderRightColor|BorderBottomColor|BorderLeftColor,
912 shorthands = Border,
913 property_group = Borders,
914 computed_value_type = Unknown,
915 canonical_order = "per grammar",
916 box_side = Top|Bottom|Left|Right,
917 box_portion = Border,
918)]
919#[declaration_writes(repeat)]
920#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
921#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-color"))]
922#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
923#[derive(csskit_derives::NodeWithMetadata)]
924pub struct BorderColorStyleValue<'a>;
925
926#[syntax(" <border-radius> ")]
938#[derive(
939 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
940)]
941#[declaration_metadata(
942 initial = "0",
943 applies_to = Elements,
944 animation_type = ByComputedValue,
945 percentages = BorderBox,
946 property_group = Borders,
947 computed_value_type = Unknown,
948 canonical_order = "per grammar",
949 logical_property_group = BorderRadius,
950 box_side = BlockEnd|InlineEnd,
951 box_portion = Border,
952)]
953#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
954#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-end-end-radius"))]
955#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
956#[derive(csskit_derives::NodeWithMetadata)]
957pub struct BorderEndEndRadiusStyleValue<'a>;
958
959#[syntax(" <border-radius> ")]
971#[derive(
972 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
973)]
974#[declaration_metadata(
975 initial = "0",
976 applies_to = Elements,
977 animation_type = ByComputedValue,
978 percentages = BorderBox,
979 property_group = Borders,
980 computed_value_type = Unknown,
981 canonical_order = "per grammar",
982 logical_property_group = BorderRadius,
983 box_side = BlockEnd|InlineStart,
984 box_portion = Border,
985)]
986#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
987#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-end-start-radius"))]
988#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
989#[derive(csskit_derives::NodeWithMetadata)]
990pub struct BorderEndStartRadiusStyleValue<'a>;
991
992#[syntax(
1004 " <'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'> "
1005)]
1006#[derive(
1007 Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1008)]
1009#[declaration_metadata(
1010 initial = "See individual properties",
1011 applies_to = Unknown,
1012 animation_type = Unknown,
1013 longhands = BorderImageSource|BorderImageSlice|BorderImageWidth|BorderImageOutset|BorderImageRepeat,
1014 reset_by = Border,
1015 property_group = Borders,
1016 computed_value_type = Unknown,
1017 canonical_order = "per grammar",
1018 box_portion = Border,
1019)]
1020#[declaration_writes(
1021 BorderImageSource?,
1022 BorderImageSlice?,
1023 "/"
1024 BorderImageWidth?,
1025 "/"
1026 BorderImageOutset?,
1027 BorderImageRepeat?
1028)]
1029#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1030#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image"))]
1031#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1032#[derive(csskit_derives::NodeWithMetadata)]
1033pub enum BorderImageStyleValue<'a> {}
1034
1035#[syntax(" [ <length [0,∞]> | <number [0,∞]> ]{1,4} ")]
1047#[derive(
1048 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1049)]
1050#[declaration_metadata(
1051 initial = "0",
1052 applies_to = Unknown,
1053 animation_type = ByComputedValue,
1054 shorthands = BorderImage,
1055 reset_by = Border,
1056 property_group = Borders,
1057 computed_value_type = AbsoluteLength,
1058 canonical_order = "per grammar",
1059 box_portion = Border,
1060)]
1061#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1062#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-outset"))]
1063#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1064#[derive(csskit_derives::NodeWithMetadata)]
1065pub struct BorderImageOutsetStyleValue<'a>;
1066
1067#[syntax(" [ stretch | repeat | round | space ]{1,2} ")]
1079#[derive(
1080 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1081)]
1082#[declaration_metadata(
1083 initial = "stretch",
1084 applies_to = Unknown,
1085 animation_type = Discrete,
1086 shorthands = BorderImage,
1087 reset_by = Border,
1088 property_group = Borders,
1089 computed_value_type = Unknown,
1090 canonical_order = "per grammar",
1091 box_portion = Border,
1092)]
1093#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1094#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-repeat"))]
1095#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1096#[derive(csskit_derives::NodeWithMetadata)]
1097pub struct BorderImageRepeatStyleValue<'a>;
1098
1099#[syntax(" [<number [0,∞]> | <percentage [0,∞]>]{1,4} && fill? ")]
1111#[derive(
1112 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1113)]
1114#[declaration_metadata(
1115 initial = "100%",
1116 applies_to = Unknown,
1117 animation_type = ByComputedValue,
1118 percentages = BorderImageArea,
1119 shorthands = BorderImage,
1120 reset_by = Border,
1121 property_group = Borders,
1122 computed_value_type = Unknown,
1123 canonical_order = "per grammar",
1124 box_portion = Border,
1125)]
1126#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1127#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-slice"))]
1128#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1129#[derive(csskit_derives::NodeWithMetadata)]
1130pub struct BorderImageSliceStyleValue<'a>;
1131
1132#[syntax(" none | <image> ")]
1144#[derive(
1145 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1146)]
1147#[declaration_metadata(
1148 initial = "none",
1149 applies_to = Unknown,
1150 animation_type = Discrete,
1151 shorthands = BorderImage,
1152 reset_by = Border,
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)]
1161#[derive(csskit_derives::NodeWithMetadata)]
1162pub struct BorderImageSourceStyleValue<'a>;
1163
1164#[syntax(" [ <length-percentage [0,∞]> | <number [0,∞]> | auto ]{1,4} ")]
1176#[derive(
1177 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1178)]
1179#[declaration_metadata(
1180 initial = "1",
1181 applies_to = Unknown,
1182 animation_type = ByComputedValue,
1183 percentages = BorderImageArea,
1184 shorthands = BorderImage,
1185 reset_by = Border,
1186 property_group = Borders,
1187 computed_value_type = Unknown,
1188 canonical_order = "per grammar",
1189 box_portion = Border,
1190)]
1191#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1192#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-width"))]
1193#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1194#[derive(csskit_derives::NodeWithMetadata)]
1195pub struct BorderImageWidthStyleValue<'a>;
1196
1197#[syntax(" <'border-block-start'> ")]
1209#[derive(
1210 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1211)]
1212#[declaration_metadata(
1213 initial = "see individual properties",
1214 inherits = Unknown,
1215 applies_to = Unknown,
1216 animation_type = Unknown,
1217 percentages = Unknown,
1218 longhands = BorderInlineWidth|BorderInlineStartWidth|BorderInlineEndWidth|BorderInlineStyle|BorderInlineStartStyle|BorderInlineEndStyle|BorderInlineColor|BorderInlineStartColor|BorderInlineEndColor,
1219 property_group = Borders,
1220 computed_value_type = Unknown,
1221 canonical_order = "per grammar",
1222 box_side = InlineStart|InlineEnd,
1223 box_portion = Border,
1224)]
1225#[declaration_writes(BorderInlineWidth?, BorderInlineStyle?, BorderInlineColor?)]
1226#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1227#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline"))]
1228#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1229#[derive(csskit_derives::NodeWithMetadata)]
1230pub struct BorderInlineStyleValue<'a>;
1231
1232#[syntax(" <'border-top-clip'> ")]
1242#[derive(
1243 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1244)]
1245#[declaration_metadata(
1246 initial = "see individual properties",
1247 inherits = Unknown,
1248 applies_to = Unknown,
1249 animation_type = Unknown,
1250 percentages = Unknown,
1251 property_group = Borders,
1252 computed_value_type = Unknown,
1253 canonical_order = "per grammar",
1254 box_side = InlineStart|InlineEnd,
1255 box_portion = Border,
1256)]
1257#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1258#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-clip"))]
1259#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1260#[derive(csskit_derives::NodeWithMetadata)]
1261pub struct BorderInlineClipStyleValue<'a>;
1262
1263#[syntax(" <'border-top-color'>{1,2} ")]
1275#[derive(
1276 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1277)]
1278#[declaration_metadata(
1279 initial = "see individual properties",
1280 inherits = Unknown,
1281 applies_to = Unknown,
1282 animation_type = Unknown,
1283 percentages = Unknown,
1284 longhands = BorderInlineStartColor|BorderInlineEndColor,
1285 shorthands = BorderInline,
1286 property_group = Borders,
1287 computed_value_type = Unknown,
1288 canonical_order = "per grammar",
1289 box_side = InlineStart|InlineEnd,
1290 box_portion = Border,
1291)]
1292#[declaration_writes(repeat)]
1293#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1294#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-color"))]
1295#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1296#[derive(csskit_derives::NodeWithMetadata)]
1297pub struct BorderInlineColorStyleValue<'a>;
1298
1299#[syntax(" <line-width> || <line-style> || <color> ")]
1311#[derive(
1312 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1313)]
1314#[declaration_metadata(
1315 initial = "See individual properties",
1316 applies_to = Unknown,
1317 animation_type = Unknown,
1318 longhands = BorderInlineEndWidth|BorderInlineEndStyle|BorderInlineEndColor,
1319 property_group = Borders,
1320 computed_value_type = Unknown,
1321 canonical_order = "per grammar",
1322 box_side = InlineEnd,
1323 box_portion = Border,
1324)]
1325#[declaration_writes(
1326 BorderInlineEndWidth?,
1327 BorderInlineEndStyle?,
1328 BorderInlineEndColor?
1329)]
1330#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1331#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end"))]
1332#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1333#[derive(csskit_derives::NodeWithMetadata)]
1334pub struct BorderInlineEndStyleValue<'a>;
1335
1336#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
1346#[derive(
1347 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1348)]
1349#[declaration_metadata(
1350 initial = "none",
1351 applies_to = Elements,
1352 animation_type = ByComputedValue,
1353 percentages = BorderEdge,
1354 property_group = Borders,
1355 computed_value_type = SpecifiedWithAbsoluteLengths,
1356 canonical_order = "per grammar",
1357 logical_property_group = BorderClip,
1358 box_portion = Border,
1359)]
1360#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1361#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-clip"))]
1362#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1363#[derive(csskit_derives::NodeWithMetadata)]
1364pub struct BorderInlineEndClipStyleValue<'a>;
1365
1366#[syntax(" <color> | <image-1D> ")]
1378#[derive(
1379 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1380)]
1381#[declaration_metadata(
1382 initial = "currentcolor",
1383 applies_to = Unknown,
1384 animation_type = Unknown,
1385 shorthands = BorderInlineColor|BorderInlineEnd|BorderInline,
1386 property_group = Borders,
1387 computed_value_type = Unknown,
1388 canonical_order = "per grammar",
1389 logical_property_group = BorderColor,
1390 box_portion = Border,
1391)]
1392#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1393#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-color"))]
1394#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1395#[derive(csskit_derives::NodeWithMetadata)]
1396pub enum BorderInlineEndColorStyleValue<'a> {}
1397
1398#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1408#[derive(
1409 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1410)]
1411#[declaration_metadata(
1412 initial = "0",
1413 applies_to = Elements,
1414 animation_type = Unknown,
1415 percentages = BorderBox,
1416 property_group = Borders,
1417 computed_value_type = Unknown,
1418 canonical_order = "per grammar",
1419 box_portion = Border,
1420)]
1421#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1422#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-radius"))]
1423#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1424#[derive(csskit_derives::NodeWithMetadata)]
1425pub struct BorderInlineEndRadiusStyleValue<'a>;
1426
1427#[syntax(" <line-style> ")]
1439#[derive(
1440 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1441)]
1442#[declaration_metadata(
1443 initial = "none",
1444 applies_to = Unknown,
1445 animation_type = Discrete,
1446 shorthands = BorderInlineStyle|BorderInlineEnd|BorderInline,
1447 property_group = Borders,
1448 computed_value_type = Unknown,
1449 canonical_order = "per grammar",
1450 logical_property_group = BorderStyle,
1451 box_portion = Border,
1452)]
1453#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1454#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-style"))]
1455#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1456#[derive(csskit_derives::NodeWithMetadata)]
1457pub struct BorderInlineEndStyleStyleValue<'a>;
1458
1459#[syntax(" <line-width> ")]
1471#[derive(
1472 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1473)]
1474#[declaration_metadata(
1475 initial = "medium",
1476 applies_to = Unknown,
1477 animation_type = ByComputedValue,
1478 shorthands = BorderInlineWidth|BorderInlineEnd|BorderInline,
1479 property_group = Borders,
1480 computed_value_type = AbsoluteLength,
1481 canonical_order = "per grammar",
1482 logical_property_group = BorderWidth,
1483 box_portion = Border,
1484)]
1485#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1486#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-width"))]
1487#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1488#[derive(csskit_derives::NodeWithMetadata)]
1489pub struct BorderInlineEndWidthStyleValue<'a>;
1490
1491#[syntax(" <line-width> || <line-style> || <color> ")]
1503#[derive(
1504 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1505)]
1506#[declaration_metadata(
1507 initial = "See individual properties",
1508 applies_to = Unknown,
1509 animation_type = Unknown,
1510 longhands = BorderInlineStartWidth|BorderInlineStartStyle|BorderInlineStartColor,
1511 property_group = Borders,
1512 computed_value_type = Unknown,
1513 canonical_order = "per grammar",
1514 box_side = InlineStart,
1515 box_portion = Border,
1516)]
1517#[declaration_writes(
1518 BorderInlineStartWidth?,
1519 BorderInlineStartStyle?,
1520 BorderInlineStartColor?
1521)]
1522#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1523#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start"))]
1524#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1525#[derive(csskit_derives::NodeWithMetadata)]
1526pub struct BorderInlineStartStyleValue<'a>;
1527
1528#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
1538#[derive(
1539 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1540)]
1541#[declaration_metadata(
1542 initial = "none",
1543 applies_to = Elements,
1544 animation_type = ByComputedValue,
1545 percentages = BorderEdge,
1546 property_group = Borders,
1547 computed_value_type = SpecifiedWithAbsoluteLengths,
1548 canonical_order = "per grammar",
1549 logical_property_group = BorderClip,
1550 box_portion = Border,
1551)]
1552#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1553#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-clip"))]
1554#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1555#[derive(csskit_derives::NodeWithMetadata)]
1556pub struct BorderInlineStartClipStyleValue<'a>;
1557
1558#[syntax(" <color> | <image-1D> ")]
1570#[derive(
1571 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1572)]
1573#[declaration_metadata(
1574 initial = "currentcolor",
1575 applies_to = Unknown,
1576 animation_type = Unknown,
1577 shorthands = BorderInlineColor|BorderInlineStart|BorderInline,
1578 property_group = Borders,
1579 computed_value_type = Unknown,
1580 canonical_order = "per grammar",
1581 logical_property_group = BorderColor,
1582 box_portion = Border,
1583)]
1584#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1585#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-color"))]
1586#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1587#[derive(csskit_derives::NodeWithMetadata)]
1588pub enum BorderInlineStartColorStyleValue<'a> {}
1589
1590#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1600#[derive(
1601 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1602)]
1603#[declaration_metadata(
1604 initial = "0",
1605 applies_to = Elements,
1606 animation_type = Unknown,
1607 percentages = BorderBox,
1608 property_group = Borders,
1609 computed_value_type = Unknown,
1610 canonical_order = "per grammar",
1611 box_portion = Border,
1612)]
1613#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1614#[cfg_attr(
1615 feature = "css_feature_data",
1616 derive(ToCSSFeature),
1617 css_feature("css.properties.border-inline-start-radius")
1618)]
1619#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1620#[derive(csskit_derives::NodeWithMetadata)]
1621pub struct BorderInlineStartRadiusStyleValue<'a>;
1622
1623#[syntax(" <line-style> ")]
1635#[derive(
1636 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1637)]
1638#[declaration_metadata(
1639 initial = "none",
1640 applies_to = Unknown,
1641 animation_type = Discrete,
1642 shorthands = BorderInlineStyle|BorderInlineStart|BorderInline,
1643 property_group = Borders,
1644 computed_value_type = Unknown,
1645 canonical_order = "per grammar",
1646 logical_property_group = BorderStyle,
1647 box_portion = Border,
1648)]
1649#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1650#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-style"))]
1651#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1652#[derive(csskit_derives::NodeWithMetadata)]
1653pub struct BorderInlineStartStyleStyleValue<'a>;
1654
1655#[syntax(" <line-width> ")]
1667#[derive(
1668 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1669)]
1670#[declaration_metadata(
1671 initial = "medium",
1672 applies_to = Unknown,
1673 animation_type = ByComputedValue,
1674 shorthands = BorderInlineWidth|BorderInlineStart|BorderInline,
1675 property_group = Borders,
1676 computed_value_type = AbsoluteLength,
1677 canonical_order = "per grammar",
1678 logical_property_group = BorderWidth,
1679 box_portion = Border,
1680)]
1681#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1682#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-width"))]
1683#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1684#[derive(csskit_derives::NodeWithMetadata)]
1685pub struct BorderInlineStartWidthStyleValue<'a>;
1686
1687#[syntax(" <'border-top-style'>{1,2} ")]
1699#[derive(
1700 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1701)]
1702#[declaration_metadata(
1703 initial = "see individual properties",
1704 inherits = Unknown,
1705 applies_to = Unknown,
1706 animation_type = Unknown,
1707 percentages = Unknown,
1708 longhands = BorderInlineStartStyle|BorderInlineEndStyle,
1709 shorthands = BorderInline,
1710 property_group = Borders,
1711 computed_value_type = Unknown,
1712 canonical_order = "per grammar",
1713 box_side = InlineStart|InlineEnd,
1714 box_portion = Border,
1715)]
1716#[declaration_writes(repeat)]
1717#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1718#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-style"))]
1719#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1720#[derive(csskit_derives::NodeWithMetadata)]
1721pub struct BorderInlineStyleStyleValue<'a>;
1722
1723#[syntax(" <'border-top-width'>{1,2} ")]
1735#[derive(
1736 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1737)]
1738#[declaration_metadata(
1739 initial = "see individual properties",
1740 inherits = Unknown,
1741 applies_to = Unknown,
1742 animation_type = Unknown,
1743 percentages = Unknown,
1744 longhands = BorderInlineStartWidth|BorderInlineEndWidth,
1745 shorthands = BorderInline,
1746 property_group = Borders,
1747 computed_value_type = Unknown,
1748 canonical_order = "per grammar",
1749 box_side = InlineStart|InlineEnd,
1750 box_portion = Border,
1751)]
1752#[declaration_writes(repeat)]
1753#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1754#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-width"))]
1755#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1756#[derive(csskit_derives::NodeWithMetadata)]
1757pub struct BorderInlineWidthStyleValue<'a>;
1758
1759#[syntax(" <line-width> || <line-style> || <color> ")]
1771#[derive(
1772 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1773)]
1774#[declaration_metadata(
1775 initial = "See individual properties",
1776 applies_to = Unknown,
1777 animation_type = Unknown,
1778 longhands = BorderLeftWidth|BorderLeftStyle|BorderLeftColor,
1779 property_group = Borders,
1780 computed_value_type = Unknown,
1781 canonical_order = "per grammar",
1782 box_side = Left,
1783 box_portion = Border,
1784)]
1785#[declaration_writes(BorderLeftWidth?, BorderLeftStyle?, BorderLeftColor?)]
1786#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1787#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left"))]
1788#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1789#[derive(csskit_derives::NodeWithMetadata)]
1790pub struct BorderLeftStyleValue<'a>;
1791
1792#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
1802#[derive(
1803 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1804)]
1805#[declaration_metadata(
1806 initial = "none",
1807 applies_to = Elements,
1808 animation_type = ByComputedValue,
1809 percentages = BorderEdge,
1810 property_group = Borders,
1811 computed_value_type = SpecifiedWithAbsoluteLengths,
1812 canonical_order = "per grammar",
1813 logical_property_group = BorderClip,
1814 box_portion = Border,
1815)]
1816#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1817#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-clip"))]
1818#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1819#[derive(csskit_derives::NodeWithMetadata)]
1820pub struct BorderLeftClipStyleValue<'a>;
1821
1822#[syntax(" <color> | <image-1D> ")]
1834#[derive(
1835 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1836)]
1837#[declaration_metadata(
1838 initial = "currentcolor",
1839 applies_to = Unknown,
1840 animation_type = Unknown,
1841 shorthands = BorderLeft|BorderColor|Border,
1842 property_group = Borders,
1843 computed_value_type = Unknown,
1844 canonical_order = "per grammar",
1845 logical_property_group = BorderColor,
1846 box_portion = Border,
1847)]
1848#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1849#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-color"))]
1850#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1851#[derive(csskit_derives::NodeWithMetadata)]
1852pub enum BorderLeftColorStyleValue<'a> {}
1853
1854#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1864#[derive(
1865 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1866)]
1867#[declaration_metadata(
1868 initial = "0",
1869 applies_to = Elements,
1870 animation_type = Unknown,
1871 percentages = BorderBox,
1872 property_group = Borders,
1873 computed_value_type = Unknown,
1874 canonical_order = "per grammar",
1875 box_portion = Border,
1876)]
1877#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1878#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-radius"))]
1879#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1880#[derive(csskit_derives::NodeWithMetadata)]
1881pub struct BorderLeftRadiusStyleValue<'a>;
1882
1883#[syntax(" <line-style> ")]
1895#[derive(
1896 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1897)]
1898#[declaration_metadata(
1899 initial = "none",
1900 applies_to = Unknown,
1901 animation_type = Discrete,
1902 shorthands = BorderLeft|BorderStyle|Border,
1903 property_group = Borders,
1904 computed_value_type = Unknown,
1905 canonical_order = "per grammar",
1906 logical_property_group = BorderStyle,
1907 box_portion = Border,
1908)]
1909#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1910#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-style"))]
1911#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1912#[derive(csskit_derives::NodeWithMetadata)]
1913pub struct BorderLeftStyleStyleValue<'a>;
1914
1915#[syntax(" <line-width> ")]
1927#[derive(
1928 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1929)]
1930#[declaration_metadata(
1931 initial = "medium",
1932 applies_to = Unknown,
1933 animation_type = ByComputedValue,
1934 shorthands = BorderLeft|BorderWidth|Border,
1935 property_group = Borders,
1936 computed_value_type = AbsoluteLength,
1937 canonical_order = "per grammar",
1938 logical_property_group = BorderWidth,
1939 box_portion = Border,
1940)]
1941#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1942#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-width"))]
1943#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1944#[derive(csskit_derives::NodeWithMetadata)]
1945pub struct BorderLeftWidthStyleValue<'a>;
1946
1947#[syntax(
1958 " all | [ sides | corners ] <length-percentage [0,∞]>? | [ top | right | bottom | left ] <length-percentage [0,∞]> "
1959)]
1960#[derive(
1961 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1962)]
1963#[declaration_metadata(
1964 initial = "all",
1965 applies_to = Unknown,
1966 animation_type = Discrete,
1967 percentages = BorderBox,
1968 property_group = Borders,
1969 computed_value_type = AsSpecified,
1970 canonical_order = "per grammar",
1971 box_portion = Border,
1972)]
1973#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1974#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-limit"))]
1975#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1976#[derive(csskit_derives::NodeWithMetadata)]
1977pub enum BorderLimitStyleValue<'a> {}
1978
1979#[syntax(" <length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]? ")]
1991#[derive(
1992 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1993)]
1994#[declaration_metadata(
1995 initial = "see individual properties",
1996 inherits = Unknown,
1997 applies_to = Unknown,
1998 animation_type = Unknown,
1999 percentages = Unknown,
2000 longhands = BorderTopLeftRadius|BorderTopRightRadius|BorderBottomRightRadius|BorderBottomLeftRadius,
2001 property_group = Borders,
2002 computed_value_type = Unknown,
2003 canonical_order = "per grammar",
2004 box_portion = Border,
2005)]
2006#[declaration_writes(repeat)]
2007#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2008#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-radius"))]
2009#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2010#[derive(csskit_derives::NodeWithMetadata)]
2011pub struct BorderRadiusStyleValue<'a>;
2012
2013#[syntax(" <line-width> || <line-style> || <color> ")]
2025#[derive(
2026 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2027)]
2028#[declaration_metadata(
2029 initial = "See individual properties",
2030 applies_to = Unknown,
2031 animation_type = Unknown,
2032 longhands = BorderRightWidth|BorderRightStyle|BorderRightColor,
2033 property_group = Borders,
2034 computed_value_type = Unknown,
2035 canonical_order = "per grammar",
2036 box_side = Right,
2037 box_portion = Border,
2038)]
2039#[declaration_writes(BorderRightWidth?, BorderRightStyle?, BorderRightColor?)]
2040#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2041#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right"))]
2042#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2043#[derive(csskit_derives::NodeWithMetadata)]
2044pub struct BorderRightStyleValue<'a>;
2045
2046#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
2056#[derive(
2057 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2058)]
2059#[declaration_metadata(
2060 initial = "none",
2061 applies_to = Elements,
2062 animation_type = ByComputedValue,
2063 percentages = BorderEdge,
2064 property_group = Borders,
2065 computed_value_type = SpecifiedWithAbsoluteLengths,
2066 canonical_order = "per grammar",
2067 logical_property_group = BorderClip,
2068 box_portion = Border,
2069)]
2070#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2071#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-clip"))]
2072#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2073#[derive(csskit_derives::NodeWithMetadata)]
2074pub struct BorderRightClipStyleValue<'a>;
2075
2076#[syntax(" <color> | <image-1D> ")]
2088#[derive(
2089 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2090)]
2091#[declaration_metadata(
2092 initial = "currentcolor",
2093 applies_to = Unknown,
2094 animation_type = Unknown,
2095 shorthands = BorderRight|BorderColor|Border,
2096 property_group = Borders,
2097 computed_value_type = Unknown,
2098 canonical_order = "per grammar",
2099 logical_property_group = BorderColor,
2100 box_portion = Border,
2101)]
2102#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2103#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-color"))]
2104#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2105#[derive(csskit_derives::NodeWithMetadata)]
2106pub enum BorderRightColorStyleValue<'a> {}
2107
2108#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
2118#[derive(
2119 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2120)]
2121#[declaration_metadata(
2122 initial = "0",
2123 applies_to = Elements,
2124 animation_type = Unknown,
2125 percentages = BorderBox,
2126 property_group = Borders,
2127 computed_value_type = Unknown,
2128 canonical_order = "per grammar",
2129 box_portion = Border,
2130)]
2131#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2132#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-radius"))]
2133#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2134#[derive(csskit_derives::NodeWithMetadata)]
2135pub struct BorderRightRadiusStyleValue<'a>;
2136
2137#[syntax(" <line-style> ")]
2149#[derive(
2150 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2151)]
2152#[declaration_metadata(
2153 initial = "none",
2154 applies_to = Unknown,
2155 animation_type = Discrete,
2156 shorthands = BorderRight|BorderStyle|Border,
2157 property_group = Borders,
2158 computed_value_type = Unknown,
2159 canonical_order = "per grammar",
2160 logical_property_group = BorderStyle,
2161 box_portion = Border,
2162)]
2163#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2164#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-style"))]
2165#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2166#[derive(csskit_derives::NodeWithMetadata)]
2167pub struct BorderRightStyleStyleValue<'a>;
2168
2169#[syntax(" <line-width> ")]
2181#[derive(
2182 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2183)]
2184#[declaration_metadata(
2185 initial = "medium",
2186 applies_to = Unknown,
2187 animation_type = ByComputedValue,
2188 shorthands = BorderRight|BorderWidth|Border,
2189 property_group = Borders,
2190 computed_value_type = AbsoluteLength,
2191 canonical_order = "per grammar",
2192 logical_property_group = BorderWidth,
2193 box_portion = Border,
2194)]
2195#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2196#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-width"))]
2197#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2198#[derive(csskit_derives::NodeWithMetadata)]
2199pub struct BorderRightWidthStyleValue<'a>;
2200
2201#[syntax(" none | [ <basic-shape> <geometry-box>?]{1,2} ")]
2213#[derive(
2214 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2215)]
2216#[declaration_metadata(
2217 initial = "none",
2218 applies_to = Elements,
2219 animation_type = ByComputedValue,
2220 percentages = Unknown,
2221 property_group = Borders,
2222 computed_value_type = Unknown,
2223 canonical_order = "per grammar",
2224 box_portion = Border,
2225)]
2226#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2227#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-shape"))]
2228#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2229#[derive(csskit_derives::NodeWithMetadata)]
2230pub struct BorderShapeStyleValue<'a>;
2231
2232#[syntax(" <border-radius> ")]
2244#[derive(
2245 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2246)]
2247#[declaration_metadata(
2248 initial = "0",
2249 applies_to = Elements,
2250 animation_type = ByComputedValue,
2251 percentages = BorderBox,
2252 property_group = Borders,
2253 computed_value_type = Unknown,
2254 canonical_order = "per grammar",
2255 logical_property_group = BorderRadius,
2256 box_side = BlockStart|InlineEnd,
2257 box_portion = Border,
2258)]
2259#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2260#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-start-end-radius"))]
2261#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2262#[derive(csskit_derives::NodeWithMetadata)]
2263pub struct BorderStartEndRadiusStyleValue<'a>;
2264
2265#[syntax(" <border-radius> ")]
2277#[derive(
2278 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2279)]
2280#[declaration_metadata(
2281 initial = "0",
2282 applies_to = Elements,
2283 animation_type = ByComputedValue,
2284 percentages = BorderBox,
2285 property_group = Borders,
2286 computed_value_type = Unknown,
2287 canonical_order = "per grammar",
2288 logical_property_group = BorderRadius,
2289 box_side = BlockStart|InlineStart,
2290 box_portion = Border,
2291)]
2292#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2293#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-start-start-radius"))]
2294#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2295#[derive(csskit_derives::NodeWithMetadata)]
2296pub struct BorderStartStartRadiusStyleValue<'a>;
2297
2298#[syntax(" <'border-top-style'>{1,4} ")]
2310#[derive(
2311 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2312)]
2313#[declaration_metadata(
2314 initial = "see individual properties",
2315 inherits = Unknown,
2316 applies_to = Unknown,
2317 animation_type = Unknown,
2318 percentages = Unknown,
2319 longhands = BorderTopStyle|BorderRightStyle|BorderBottomStyle|BorderLeftStyle,
2320 shorthands = Border,
2321 property_group = Borders,
2322 computed_value_type = Unknown,
2323 canonical_order = "per grammar",
2324 box_side = Top|Bottom|Left|Right,
2325 box_portion = Border,
2326)]
2327#[declaration_writes(repeat)]
2328#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2329#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-style"))]
2330#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2331#[derive(csskit_derives::NodeWithMetadata)]
2332pub struct BorderStyleStyleValue<'a>;
2333
2334#[syntax(" <line-width> || <line-style> || <color> ")]
2346#[derive(
2347 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2348)]
2349#[declaration_metadata(
2350 initial = "See individual properties",
2351 applies_to = Unknown,
2352 animation_type = Unknown,
2353 longhands = BorderTopWidth|BorderTopStyle|BorderTopColor,
2354 property_group = Borders,
2355 computed_value_type = Unknown,
2356 canonical_order = "per grammar",
2357 box_side = Top,
2358 box_portion = Border,
2359)]
2360#[declaration_writes(BorderTopWidth?, BorderTopStyle?, BorderTopColor?)]
2361#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2362#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top"))]
2363#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2364#[derive(csskit_derives::NodeWithMetadata)]
2365pub struct BorderTopStyleValue<'a>;
2366
2367#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
2377#[derive(
2378 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2379)]
2380#[declaration_metadata(
2381 initial = "none",
2382 applies_to = Elements,
2383 animation_type = ByComputedValue,
2384 percentages = BorderEdge,
2385 property_group = Borders,
2386 computed_value_type = SpecifiedWithAbsoluteLengths,
2387 canonical_order = "per grammar",
2388 logical_property_group = BorderClip,
2389 box_portion = Border,
2390)]
2391#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2392#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-clip"))]
2393#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2394#[derive(csskit_derives::NodeWithMetadata)]
2395pub struct BorderTopClipStyleValue<'a>;
2396
2397#[syntax(" <color> | <image-1D> ")]
2409#[derive(
2410 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2411)]
2412#[declaration_metadata(
2413 initial = "currentcolor",
2414 applies_to = Unknown,
2415 animation_type = Unknown,
2416 shorthands = BorderTop|BorderColor|Border,
2417 property_group = Borders,
2418 computed_value_type = Unknown,
2419 canonical_order = "per grammar",
2420 logical_property_group = BorderColor,
2421 box_portion = Border,
2422)]
2423#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2424#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-color"))]
2425#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2426#[derive(csskit_derives::NodeWithMetadata)]
2427pub enum BorderTopColorStyleValue<'a> {}
2428
2429#[syntax(" <border-radius> ")]
2441#[derive(
2442 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2443)]
2444#[declaration_metadata(
2445 initial = "0",
2446 applies_to = Elements,
2447 animation_type = ByComputedValue,
2448 percentages = BorderBox,
2449 shorthands = BorderRadius,
2450 property_group = Borders,
2451 computed_value_type = Unknown,
2452 canonical_order = "per grammar",
2453 logical_property_group = BorderRadius,
2454 box_side = Top|Left,
2455 box_portion = Border,
2456)]
2457#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2458#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-left-radius"))]
2459#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2460#[derive(csskit_derives::NodeWithMetadata)]
2461pub struct BorderTopLeftRadiusStyleValue<'a>;
2462
2463#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
2473#[derive(
2474 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2475)]
2476#[declaration_metadata(
2477 initial = "0",
2478 applies_to = Elements,
2479 animation_type = Unknown,
2480 percentages = BorderBox,
2481 property_group = Borders,
2482 computed_value_type = Unknown,
2483 canonical_order = "per grammar",
2484 box_portion = Border,
2485)]
2486#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2487#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-radius"))]
2488#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2489#[derive(csskit_derives::NodeWithMetadata)]
2490pub struct BorderTopRadiusStyleValue<'a>;
2491
2492#[syntax(" <border-radius> ")]
2504#[derive(
2505 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2506)]
2507#[declaration_metadata(
2508 initial = "0",
2509 applies_to = Elements,
2510 animation_type = ByComputedValue,
2511 percentages = BorderBox,
2512 shorthands = BorderRadius,
2513 property_group = Borders,
2514 computed_value_type = Unknown,
2515 canonical_order = "per grammar",
2516 logical_property_group = BorderRadius,
2517 box_side = Top|Right,
2518 box_portion = Border,
2519)]
2520#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2521#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-right-radius"))]
2522#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2523#[derive(csskit_derives::NodeWithMetadata)]
2524pub struct BorderTopRightRadiusStyleValue<'a>;
2525
2526#[syntax(" <line-style> ")]
2538#[derive(
2539 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2540)]
2541#[declaration_metadata(
2542 initial = "none",
2543 applies_to = Unknown,
2544 animation_type = Discrete,
2545 shorthands = BorderTop|BorderStyle|Border,
2546 property_group = Borders,
2547 computed_value_type = Unknown,
2548 canonical_order = "per grammar",
2549 logical_property_group = BorderStyle,
2550 box_portion = Border,
2551)]
2552#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2553#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-style"))]
2554#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2555#[derive(csskit_derives::NodeWithMetadata)]
2556pub struct BorderTopStyleStyleValue<'a>;
2557
2558#[syntax(" <line-width> ")]
2570#[derive(
2571 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2572)]
2573#[declaration_metadata(
2574 initial = "medium",
2575 applies_to = Unknown,
2576 animation_type = ByComputedValue,
2577 shorthands = BorderTop|BorderWidth|Border,
2578 property_group = Borders,
2579 computed_value_type = AbsoluteLength,
2580 canonical_order = "per grammar",
2581 logical_property_group = BorderWidth,
2582 box_portion = Border,
2583)]
2584#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2585#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-width"))]
2586#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2587#[derive(csskit_derives::NodeWithMetadata)]
2588pub struct BorderTopWidthStyleValue<'a>;
2589
2590#[syntax(" <'border-top-width'>{1,4} ")]
2602#[derive(
2603 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2604)]
2605#[declaration_metadata(
2606 initial = "see individual properties",
2607 inherits = Unknown,
2608 applies_to = Unknown,
2609 animation_type = Unknown,
2610 percentages = Unknown,
2611 longhands = BorderTopWidth|BorderRightWidth|BorderBottomWidth|BorderLeftWidth,
2612 shorthands = Border,
2613 property_group = Borders,
2614 computed_value_type = Unknown,
2615 canonical_order = "per grammar",
2616 box_side = Top|Bottom|Left|Right,
2617 box_portion = Border,
2618)]
2619#[declaration_writes(repeat)]
2620#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2621#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-width"))]
2622#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2623#[derive(csskit_derives::NodeWithMetadata)]
2624pub struct BorderWidthStyleValue<'a>;
2625
2626#[syntax(" <spread-shadow># ")]
2638#[derive(
2639 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2640)]
2641#[declaration_metadata(
2642 initial = "none",
2643 applies_to = Elements,
2644 animation_type = Unknown,
2645 property_group = Borders,
2646 computed_value_type = Unknown,
2647 canonical_order = "per grammar",
2648)]
2649#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2650#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow"))]
2651#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2652#[derive(csskit_derives::NodeWithMetadata)]
2653pub struct BoxShadowStyleValue<'a>;
2654
2655#[syntax(" <length [0,∞]># ")]
2665#[derive(
2666 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2667)]
2668#[declaration_metadata(
2669 initial = "0",
2670 applies_to = Elements,
2671 animation_type = ByComputedValue,
2672 property_group = Borders,
2673 computed_value_type = Unknown,
2674 canonical_order = "per grammar",
2675)]
2676#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2677#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-blur"))]
2678#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2679#[derive(csskit_derives::NodeWithMetadata)]
2680pub struct BoxShadowBlurStyleValue<'a>;
2681
2682#[syntax(" <color># ")]
2692#[derive(
2693 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2694)]
2695#[declaration_metadata(
2696 initial = "currentcolor",
2697 applies_to = Elements,
2698 animation_type = ByComputedValue,
2699 property_group = Borders,
2700 computed_value_type = Unknown,
2701 canonical_order = "per grammar",
2702)]
2703#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2704#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-color"))]
2705#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2706#[derive(csskit_derives::NodeWithMetadata)]
2707pub struct BoxShadowColorStyleValue<'a>;
2708
2709#[syntax(" [ none | <length>{1,2} ]# ")]
2719#[derive(
2720 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2721)]
2722#[declaration_metadata(
2723 initial = "none",
2724 applies_to = Elements,
2725 animation_type = ByComputedValue,
2726 property_group = Borders,
2727 computed_value_type = Unknown,
2728 canonical_order = "per grammar",
2729)]
2730#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2731#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-offset"))]
2732#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2733#[derive(csskit_derives::NodeWithMetadata)]
2734pub struct BoxShadowOffsetStyleValue<'a>;
2735
2736#[syntax(" [ outset | inset ]# ")]
2746#[derive(
2747 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2748)]
2749#[declaration_metadata(
2750 initial = "outset",
2751 applies_to = Elements,
2752 animation_type = ByComputedValue,
2753 property_group = Borders,
2754 computed_value_type = Unknown,
2755 canonical_order = "per grammar",
2756)]
2757#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2758#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-position"))]
2759#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2760#[derive(csskit_derives::NodeWithMetadata)]
2761pub struct BoxShadowPositionStyleValue<'a>;
2762
2763#[syntax(" <length># ")]
2773#[derive(
2774 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2775)]
2776#[declaration_metadata(
2777 initial = "0",
2778 applies_to = Elements,
2779 animation_type = ByComputedValue,
2780 property_group = Borders,
2781 computed_value_type = Unknown,
2782 canonical_order = "per grammar",
2783)]
2784#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2785#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-spread"))]
2786#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2787#[derive(csskit_derives::NodeWithMetadata)]
2788pub struct BoxShadowSpreadStyleValue<'a>;
2789
2790#[syntax(" <'corner-shape'> || <'border-radius'> ")]
2800#[derive(
2801 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2802)]
2803#[declaration_metadata(
2804 initial = "0",
2805 applies_to = Elements,
2806 animation_type = Unknown,
2807 percentages = BorderBox,
2808 property_group = Borders,
2809 computed_value_type = Unknown,
2810 canonical_order = "per grammar",
2811)]
2812#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2813#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner"))]
2814#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2815#[derive(csskit_derives::NodeWithMetadata)]
2816pub struct CornerStyleValue<'a>;
2817
2818#[syntax(" <'corner-top-shape'> || <'border-top-radius'> ")]
2828#[derive(
2829 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2830)]
2831#[declaration_metadata(
2832 initial = "0",
2833 applies_to = Elements,
2834 animation_type = Unknown,
2835 percentages = BorderBox,
2836 property_group = Borders,
2837 computed_value_type = Unknown,
2838 canonical_order = "per grammar",
2839 box_side = BlockEnd,
2840)]
2841#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2842#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-block-end"))]
2843#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2844#[derive(csskit_derives::NodeWithMetadata)]
2845pub struct CornerBlockEndStyleValue<'a>;
2846
2847#[syntax(" <'corner-top-left-shape'>{1,2} ")]
2859#[derive(
2860 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2861)]
2862#[declaration_metadata(
2863 initial = "see individual properties",
2864 inherits = Unknown,
2865 applies_to = Unknown,
2866 animation_type = Unknown,
2867 percentages = Unknown,
2868 property_group = Borders,
2869 computed_value_type = Unknown,
2870 canonical_order = "per grammar",
2871)]
2872#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2873#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-block-end-shape"))]
2874#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2875#[derive(csskit_derives::NodeWithMetadata)]
2876pub struct CornerBlockEndShapeStyleValue<'a>;
2877
2878#[syntax(" <'corner-top-shape'> || <'border-top-radius'> ")]
2888#[derive(
2889 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2890)]
2891#[declaration_metadata(
2892 initial = "0",
2893 applies_to = Elements,
2894 animation_type = Unknown,
2895 percentages = BorderBox,
2896 property_group = Borders,
2897 computed_value_type = Unknown,
2898 canonical_order = "per grammar",
2899 box_side = BlockStart,
2900)]
2901#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2902#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-block-start"))]
2903#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2904#[derive(csskit_derives::NodeWithMetadata)]
2905pub struct CornerBlockStartStyleValue<'a>;
2906
2907#[syntax(" <'corner-top-left-shape'>{1,2} ")]
2919#[derive(
2920 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2921)]
2922#[declaration_metadata(
2923 initial = "see individual properties",
2924 inherits = Unknown,
2925 applies_to = Unknown,
2926 animation_type = Unknown,
2927 percentages = Unknown,
2928 property_group = Borders,
2929 computed_value_type = Unknown,
2930 canonical_order = "per grammar",
2931)]
2932#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2933#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-block-start-shape"))]
2934#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2935#[derive(csskit_derives::NodeWithMetadata)]
2936pub struct CornerBlockStartShapeStyleValue<'a>;
2937
2938#[syntax(" <'corner-top-shape'> || <'border-top-radius'> ")]
2948#[derive(
2949 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2950)]
2951#[declaration_metadata(
2952 initial = "0",
2953 applies_to = Elements,
2954 animation_type = Unknown,
2955 percentages = BorderBox,
2956 property_group = Borders,
2957 computed_value_type = Unknown,
2958 canonical_order = "per grammar",
2959 box_side = Bottom,
2960)]
2961#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2962#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom"))]
2963#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2964#[derive(csskit_derives::NodeWithMetadata)]
2965pub struct CornerBottomStyleValue<'a>;
2966
2967#[syntax(" <'corner-top-left-shape'> || <'border-top-left-radius'> ")]
2977#[derive(
2978 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2979)]
2980#[declaration_metadata(
2981 initial = "0",
2982 applies_to = Elements,
2983 animation_type = Unknown,
2984 percentages = BorderBox,
2985 property_group = Borders,
2986 computed_value_type = Unknown,
2987 canonical_order = "per grammar",
2988 box_side = Bottom|Left,
2989)]
2990#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2991#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-left"))]
2992#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2993#[derive(csskit_derives::NodeWithMetadata)]
2994pub struct CornerBottomLeftStyleValue<'a>;
2995
2996#[syntax(" <corner-shape-value> ")]
3008#[derive(
3009 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3010)]
3011#[declaration_metadata(
3012 initial = "round",
3013 applies_to = Unknown,
3014 animation_type = Unknown,
3015 property_group = Borders,
3016 computed_value_type = Unknown,
3017 canonical_order = "per grammar",
3018 logical_property_group = CornerShape,
3019 box_side = Bottom|Left,
3020)]
3021#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3022#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-left-shape"))]
3023#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3024#[derive(csskit_derives::NodeWithMetadata)]
3025pub struct CornerBottomLeftShapeStyleValue<'a>;
3026
3027#[syntax(" <'corner-top-left-shape'> || <'border-top-left-radius'> ")]
3037#[derive(
3038 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3039)]
3040#[declaration_metadata(
3041 initial = "0",
3042 applies_to = Elements,
3043 animation_type = Unknown,
3044 percentages = BorderBox,
3045 property_group = Borders,
3046 computed_value_type = Unknown,
3047 canonical_order = "per grammar",
3048 box_side = Bottom|Right,
3049)]
3050#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3051#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-right"))]
3052#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3053#[derive(csskit_derives::NodeWithMetadata)]
3054pub struct CornerBottomRightStyleValue<'a>;
3055
3056#[syntax(" <corner-shape-value> ")]
3068#[derive(
3069 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3070)]
3071#[declaration_metadata(
3072 initial = "round",
3073 applies_to = Unknown,
3074 animation_type = Unknown,
3075 property_group = Borders,
3076 computed_value_type = Unknown,
3077 canonical_order = "per grammar",
3078 logical_property_group = CornerShape,
3079 box_side = Bottom|Right,
3080)]
3081#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3082#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-right-shape"))]
3083#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3084#[derive(csskit_derives::NodeWithMetadata)]
3085pub struct CornerBottomRightShapeStyleValue<'a>;
3086
3087#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3099#[derive(
3100 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3101)]
3102#[declaration_metadata(
3103 initial = "see individual properties",
3104 inherits = Unknown,
3105 applies_to = Unknown,
3106 animation_type = Unknown,
3107 percentages = Unknown,
3108 property_group = Borders,
3109 computed_value_type = Unknown,
3110 canonical_order = "per grammar",
3111)]
3112#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3113#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-shape"))]
3114#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3115#[derive(csskit_derives::NodeWithMetadata)]
3116pub struct CornerBottomShapeStyleValue<'a>;
3117
3118#[syntax(" <'corner-top-left-shape'> || <'border-top-left-radius'> ")]
3128#[derive(
3129 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3130)]
3131#[declaration_metadata(
3132 initial = "0",
3133 applies_to = Elements,
3134 animation_type = Unknown,
3135 percentages = BorderBox,
3136 property_group = Borders,
3137 computed_value_type = Unknown,
3138 canonical_order = "per grammar",
3139 box_side = BlockEnd|InlineEnd,
3140)]
3141#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3142#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-end-end"))]
3143#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3144#[derive(csskit_derives::NodeWithMetadata)]
3145pub struct CornerEndEndStyleValue<'a>;
3146
3147#[syntax(" <corner-shape-value> ")]
3159#[derive(
3160 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3161)]
3162#[declaration_metadata(
3163 initial = "round",
3164 applies_to = Unknown,
3165 animation_type = Unknown,
3166 property_group = Borders,
3167 computed_value_type = Unknown,
3168 canonical_order = "per grammar",
3169 logical_property_group = CornerShape,
3170 box_side = BlockEnd|InlineEnd,
3171)]
3172#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3173#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-end-end-shape"))]
3174#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3175#[derive(csskit_derives::NodeWithMetadata)]
3176pub struct CornerEndEndShapeStyleValue<'a>;
3177
3178#[syntax(" <'corner-top-left-shape'> || <'border-top-left-radius'> ")]
3188#[derive(
3189 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3190)]
3191#[declaration_metadata(
3192 initial = "0",
3193 applies_to = Elements,
3194 animation_type = Unknown,
3195 percentages = BorderBox,
3196 property_group = Borders,
3197 computed_value_type = Unknown,
3198 canonical_order = "per grammar",
3199 box_side = BlockEnd|InlineStart,
3200)]
3201#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3202#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-end-start"))]
3203#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3204#[derive(csskit_derives::NodeWithMetadata)]
3205pub struct CornerEndStartStyleValue<'a>;
3206
3207#[syntax(" <corner-shape-value> ")]
3219#[derive(
3220 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3221)]
3222#[declaration_metadata(
3223 initial = "round",
3224 applies_to = Unknown,
3225 animation_type = Unknown,
3226 property_group = Borders,
3227 computed_value_type = Unknown,
3228 canonical_order = "per grammar",
3229 logical_property_group = CornerShape,
3230 box_side = BlockEnd|InlineStart,
3231)]
3232#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3233#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-end-start-shape"))]
3234#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3235#[derive(csskit_derives::NodeWithMetadata)]
3236pub struct CornerEndStartShapeStyleValue<'a>;
3237
3238#[syntax(" <'corner-top-shape'> || <'border-top-radius'> ")]
3248#[derive(
3249 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3250)]
3251#[declaration_metadata(
3252 initial = "0",
3253 applies_to = Elements,
3254 animation_type = Unknown,
3255 percentages = BorderBox,
3256 property_group = Borders,
3257 computed_value_type = Unknown,
3258 canonical_order = "per grammar",
3259 box_side = InlineEnd,
3260)]
3261#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3262#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-inline-end"))]
3263#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3264#[derive(csskit_derives::NodeWithMetadata)]
3265pub struct CornerInlineEndStyleValue<'a>;
3266
3267#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3279#[derive(
3280 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3281)]
3282#[declaration_metadata(
3283 initial = "see individual properties",
3284 inherits = Unknown,
3285 applies_to = Unknown,
3286 animation_type = Unknown,
3287 percentages = Unknown,
3288 property_group = Borders,
3289 computed_value_type = Unknown,
3290 canonical_order = "per grammar",
3291)]
3292#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3293#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-inline-end-shape"))]
3294#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3295#[derive(csskit_derives::NodeWithMetadata)]
3296pub struct CornerInlineEndShapeStyleValue<'a>;
3297
3298#[syntax(" <'corner-top-shape'> || <'border-top-radius'> ")]
3308#[derive(
3309 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3310)]
3311#[declaration_metadata(
3312 initial = "0",
3313 applies_to = Elements,
3314 animation_type = Unknown,
3315 percentages = BorderBox,
3316 property_group = Borders,
3317 computed_value_type = Unknown,
3318 canonical_order = "per grammar",
3319 box_side = InlineStart,
3320)]
3321#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3322#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-inline-start"))]
3323#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3324#[derive(csskit_derives::NodeWithMetadata)]
3325pub struct CornerInlineStartStyleValue<'a>;
3326
3327#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3339#[derive(
3340 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3341)]
3342#[declaration_metadata(
3343 initial = "see individual properties",
3344 inherits = Unknown,
3345 applies_to = Unknown,
3346 animation_type = Unknown,
3347 percentages = Unknown,
3348 property_group = Borders,
3349 computed_value_type = Unknown,
3350 canonical_order = "per grammar",
3351)]
3352#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3353#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-inline-start-shape"))]
3354#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3355#[derive(csskit_derives::NodeWithMetadata)]
3356pub struct CornerInlineStartShapeStyleValue<'a>;
3357
3358#[syntax(" <'corner-top-shape'> || <'border-top-radius'> ")]
3368#[derive(
3369 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3370)]
3371#[declaration_metadata(
3372 initial = "0",
3373 applies_to = Elements,
3374 animation_type = Unknown,
3375 percentages = BorderBox,
3376 property_group = Borders,
3377 computed_value_type = Unknown,
3378 canonical_order = "per grammar",
3379 box_side = Left,
3380)]
3381#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3382#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-left"))]
3383#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3384#[derive(csskit_derives::NodeWithMetadata)]
3385pub struct CornerLeftStyleValue<'a>;
3386
3387#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3399#[derive(
3400 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3401)]
3402#[declaration_metadata(
3403 initial = "see individual properties",
3404 inherits = Unknown,
3405 applies_to = Unknown,
3406 animation_type = Unknown,
3407 percentages = Unknown,
3408 property_group = Borders,
3409 computed_value_type = Unknown,
3410 canonical_order = "per grammar",
3411)]
3412#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3413#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-left-shape"))]
3414#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3415#[derive(csskit_derives::NodeWithMetadata)]
3416pub struct CornerLeftShapeStyleValue<'a>;
3417
3418#[syntax(" <'corner-top-shape'> || <'border-top-radius'> ")]
3428#[derive(
3429 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3430)]
3431#[declaration_metadata(
3432 initial = "0",
3433 applies_to = Elements,
3434 animation_type = Unknown,
3435 percentages = BorderBox,
3436 property_group = Borders,
3437 computed_value_type = Unknown,
3438 canonical_order = "per grammar",
3439 box_side = Right,
3440)]
3441#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3442#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-right"))]
3443#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3444#[derive(csskit_derives::NodeWithMetadata)]
3445pub struct CornerRightStyleValue<'a>;
3446
3447#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3459#[derive(
3460 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3461)]
3462#[declaration_metadata(
3463 initial = "see individual properties",
3464 inherits = Unknown,
3465 applies_to = Unknown,
3466 animation_type = Unknown,
3467 percentages = Unknown,
3468 property_group = Borders,
3469 computed_value_type = Unknown,
3470 canonical_order = "per grammar",
3471)]
3472#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3473#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-right-shape"))]
3474#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3475#[derive(csskit_derives::NodeWithMetadata)]
3476pub struct CornerRightShapeStyleValue<'a>;
3477
3478#[syntax(" <'corner-top-left-shape'>{1,4} ")]
3490#[derive(
3491 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3492)]
3493#[declaration_metadata(
3494 initial = "round",
3495 applies_to = Unknown,
3496 animation_type = Unknown,
3497 percentages = Unknown,
3498 property_group = Borders,
3499 computed_value_type = Unknown,
3500 canonical_order = "per grammar",
3501)]
3502#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3503#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-shape"))]
3504#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3505#[derive(csskit_derives::NodeWithMetadata)]
3506pub struct CornerShapeStyleValue<'a>;
3507
3508#[syntax(" <'corner-top-left-shape'> || <'border-top-left-radius'> ")]
3518#[derive(
3519 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3520)]
3521#[declaration_metadata(
3522 initial = "0",
3523 applies_to = Elements,
3524 animation_type = Unknown,
3525 percentages = BorderBox,
3526 property_group = Borders,
3527 computed_value_type = Unknown,
3528 canonical_order = "per grammar",
3529 box_side = BlockStart|InlineEnd,
3530)]
3531#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3532#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-start-end"))]
3533#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3534#[derive(csskit_derives::NodeWithMetadata)]
3535pub struct CornerStartEndStyleValue<'a>;
3536
3537#[syntax(" <corner-shape-value> ")]
3549#[derive(
3550 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3551)]
3552#[declaration_metadata(
3553 initial = "round",
3554 applies_to = Unknown,
3555 animation_type = Unknown,
3556 property_group = Borders,
3557 computed_value_type = Unknown,
3558 canonical_order = "per grammar",
3559 logical_property_group = CornerShape,
3560 box_side = BlockStart|InlineEnd,
3561)]
3562#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3563#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-start-end-shape"))]
3564#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3565#[derive(csskit_derives::NodeWithMetadata)]
3566pub struct CornerStartEndShapeStyleValue<'a>;
3567
3568#[syntax(" <'corner-top-left-shape'> || <'border-top-left-radius'> ")]
3578#[derive(
3579 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3580)]
3581#[declaration_metadata(
3582 initial = "0",
3583 applies_to = Elements,
3584 animation_type = Unknown,
3585 percentages = BorderBox,
3586 property_group = Borders,
3587 computed_value_type = Unknown,
3588 canonical_order = "per grammar",
3589 box_side = BlockStart|InlineStart,
3590)]
3591#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3592#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-start-start"))]
3593#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3594#[derive(csskit_derives::NodeWithMetadata)]
3595pub struct CornerStartStartStyleValue<'a>;
3596
3597#[syntax(" <corner-shape-value> ")]
3609#[derive(
3610 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3611)]
3612#[declaration_metadata(
3613 initial = "round",
3614 applies_to = Unknown,
3615 animation_type = Unknown,
3616 property_group = Borders,
3617 computed_value_type = Unknown,
3618 canonical_order = "per grammar",
3619 logical_property_group = CornerShape,
3620 box_side = BlockStart|InlineStart,
3621)]
3622#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3623#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-start-start-shape"))]
3624#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3625#[derive(csskit_derives::NodeWithMetadata)]
3626pub struct CornerStartStartShapeStyleValue<'a>;
3627
3628#[syntax(" <'corner-top-shape'> || <'border-top-radius'> ")]
3638#[derive(
3639 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3640)]
3641#[declaration_metadata(
3642 initial = "0",
3643 applies_to = Elements,
3644 animation_type = Unknown,
3645 percentages = BorderBox,
3646 property_group = Borders,
3647 computed_value_type = Unknown,
3648 canonical_order = "per grammar",
3649 box_side = Top,
3650)]
3651#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3652#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top"))]
3653#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3654#[derive(csskit_derives::NodeWithMetadata)]
3655pub struct CornerTopStyleValue<'a>;
3656
3657#[syntax(" <'corner-top-left-shape'> || <'border-top-left-radius'> ")]
3667#[derive(
3668 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3669)]
3670#[declaration_metadata(
3671 initial = "0",
3672 applies_to = Elements,
3673 animation_type = Unknown,
3674 percentages = BorderBox,
3675 property_group = Borders,
3676 computed_value_type = Unknown,
3677 canonical_order = "per grammar",
3678 box_side = Top|Left,
3679)]
3680#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3681#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-left"))]
3682#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3683#[derive(csskit_derives::NodeWithMetadata)]
3684pub struct CornerTopLeftStyleValue<'a>;
3685
3686#[syntax(" <corner-shape-value> ")]
3698#[derive(
3699 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3700)]
3701#[declaration_metadata(
3702 initial = "round",
3703 applies_to = Unknown,
3704 animation_type = Unknown,
3705 property_group = Borders,
3706 computed_value_type = Unknown,
3707 canonical_order = "per grammar",
3708 logical_property_group = CornerShape,
3709 box_side = Top|Left,
3710)]
3711#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3712#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-left-shape"))]
3713#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3714#[derive(csskit_derives::NodeWithMetadata)]
3715pub struct CornerTopLeftShapeStyleValue<'a>;
3716
3717#[syntax(" <'corner-top-left-shape'> || <'border-top-left-radius'> ")]
3727#[derive(
3728 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3729)]
3730#[declaration_metadata(
3731 initial = "0",
3732 applies_to = Elements,
3733 animation_type = Unknown,
3734 percentages = BorderBox,
3735 property_group = Borders,
3736 computed_value_type = Unknown,
3737 canonical_order = "per grammar",
3738 box_side = Top|Right,
3739)]
3740#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3741#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-right"))]
3742#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3743#[derive(csskit_derives::NodeWithMetadata)]
3744pub struct CornerTopRightStyleValue<'a>;
3745
3746#[syntax(" <corner-shape-value> ")]
3758#[derive(
3759 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3760)]
3761#[declaration_metadata(
3762 initial = "round",
3763 applies_to = Unknown,
3764 animation_type = Unknown,
3765 property_group = Borders,
3766 computed_value_type = Unknown,
3767 canonical_order = "per grammar",
3768 logical_property_group = CornerShape,
3769 box_side = Top|Right,
3770)]
3771#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3772#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-right-shape"))]
3773#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3774#[derive(csskit_derives::NodeWithMetadata)]
3775pub struct CornerTopRightShapeStyleValue<'a>;
3776
3777#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3789#[derive(
3790 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3791)]
3792#[declaration_metadata(
3793 initial = "see individual properties",
3794 inherits = Unknown,
3795 applies_to = Unknown,
3796 animation_type = Unknown,
3797 percentages = Unknown,
3798 property_group = Borders,
3799 computed_value_type = Unknown,
3800 canonical_order = "per grammar",
3801)]
3802#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3803#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-shape"))]
3804#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3805#[derive(csskit_derives::NodeWithMetadata)]
3806pub struct CornerTopShapeStyleValue<'a>;