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 = BorderBottomColor|BorderBottomStyle|BorderBottomWidth|BorderColor|BorderLeftColor|BorderLeftStyle|BorderLeftWidth|BorderRightColor|BorderRightStyle|BorderRightWidth|BorderStyle|BorderTopColor|BorderTopStyle|BorderTopWidth|BorderWidth,
32 shorthand_resets_known = true,
33 shorthand_resets = BorderImage,
34 property_group = Borders,
35 computed_value_type = Unknown,
36 canonical_order = "per grammar",
37 box_side = Top|Bottom|Left|Right,
38 box_portion = Border,
39)]
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 = BorderBlockColor|BorderBlockStyle|BorderBlockWidth,
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#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
75#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block"))]
76#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
77#[derive(csskit_derives::NodeWithMetadata)]
78pub struct BorderBlockStyleValue<'a>;
79
80#[syntax(" <'border-top-clip'> ")]
90#[derive(
91 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
92)]
93#[declaration_metadata(
94 initial = "see individual properties",
95 inherits = Unknown,
96 applies_to = Unknown,
97 animation_type = Unknown,
98 percentages = Unknown,
99 property_group = Borders,
100 computed_value_type = Unknown,
101 canonical_order = "per grammar",
102 box_side = BlockStart|BlockEnd,
103 box_portion = Border,
104)]
105#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
106#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-clip"))]
107#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
108#[derive(csskit_derives::NodeWithMetadata)]
109pub struct BorderBlockClipStyleValue<'a>;
110
111#[syntax(" <'border-top-color'>{1,2} ")]
123#[derive(
124 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
125)]
126#[declaration_metadata(
127 initial = "see individual properties",
128 inherits = Unknown,
129 applies_to = Unknown,
130 animation_type = Unknown,
131 percentages = Unknown,
132 shorthand_group = BorderBlock,
133 property_group = Borders,
134 computed_value_type = Unknown,
135 canonical_order = "per grammar",
136 box_side = BlockStart|BlockEnd,
137 box_portion = Border,
138)]
139#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
140#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-color"))]
141#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
142#[derive(csskit_derives::NodeWithMetadata)]
143pub struct BorderBlockColorStyleValue<'a>;
144
145#[syntax(" <line-width> || <line-style> || <color> ")]
157#[derive(
158 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
159)]
160#[declaration_metadata(
161 initial = "See individual properties",
162 applies_to = Unknown,
163 animation_type = Unknown,
164 longhands = BorderBlockEndColor|BorderBlockEndStyle|BorderBlockEndWidth,
165 property_group = Borders,
166 computed_value_type = Unknown,
167 canonical_order = "per grammar",
168 box_side = BlockEnd,
169 box_portion = Border,
170)]
171#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
172#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end"))]
173#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
174#[derive(csskit_derives::NodeWithMetadata)]
175pub struct BorderBlockEndStyleValue<'a>;
176
177#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
187#[derive(
188 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
189)]
190#[declaration_metadata(
191 initial = "none",
192 applies_to = Elements,
193 animation_type = ByComputedValue,
194 percentages = BorderEdge,
195 property_group = Borders,
196 computed_value_type = SpecifiedWithAbsoluteLengths,
197 canonical_order = "per grammar",
198 logical_property_group = BorderClip,
199 box_portion = Border,
200)]
201#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
202#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-clip"))]
203#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
204#[derive(csskit_derives::NodeWithMetadata)]
205pub struct BorderBlockEndClipStyleValue<'a>;
206
207#[syntax(" <color> | <image-1D> ")]
219#[derive(
220 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
221)]
222#[declaration_metadata(
223 initial = "currentcolor",
224 applies_to = Unknown,
225 animation_type = Unknown,
226 shorthand_group = BorderBlockEnd,
227 property_group = Borders,
228 computed_value_type = Unknown,
229 canonical_order = "per grammar",
230 logical_property_group = BorderColor,
231 box_portion = Border,
232)]
233#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
234#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-color"))]
235#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
236#[derive(csskit_derives::NodeWithMetadata)]
237pub enum BorderBlockEndColorStyleValue<'a> {}
238
239#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
249#[derive(
250 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
251)]
252#[declaration_metadata(
253 initial = "0",
254 applies_to = Elements,
255 animation_type = Unknown,
256 percentages = BorderBox,
257 property_group = Borders,
258 computed_value_type = Unknown,
259 canonical_order = "per grammar",
260 box_portion = Border,
261)]
262#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
263#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-radius"))]
264#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
265#[derive(csskit_derives::NodeWithMetadata)]
266pub struct BorderBlockEndRadiusStyleValue<'a>;
267
268#[syntax(" <line-style> ")]
280#[derive(
281 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
282)]
283#[declaration_metadata(
284 initial = "none",
285 applies_to = Unknown,
286 animation_type = Discrete,
287 shorthand_group = BorderBlockEnd,
288 property_group = Borders,
289 computed_value_type = Unknown,
290 canonical_order = "per grammar",
291 logical_property_group = BorderStyle,
292 box_portion = Border,
293)]
294#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
295#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-style"))]
296#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
297#[derive(csskit_derives::NodeWithMetadata)]
298pub struct BorderBlockEndStyleStyleValue<'a>;
299
300#[syntax(" <line-width> ")]
312#[derive(
313 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
314)]
315#[declaration_metadata(
316 initial = "medium",
317 applies_to = Unknown,
318 animation_type = ByComputedValue,
319 shorthand_group = BorderBlockEnd,
320 property_group = Borders,
321 computed_value_type = AbsoluteLength,
322 canonical_order = "per grammar",
323 logical_property_group = BorderWidth,
324 box_portion = Border,
325)]
326#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
327#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-width"))]
328#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
329#[derive(csskit_derives::NodeWithMetadata)]
330pub struct BorderBlockEndWidthStyleValue<'a>;
331
332#[syntax(" <line-width> || <line-style> || <color> ")]
344#[derive(
345 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
346)]
347#[declaration_metadata(
348 initial = "See individual properties",
349 applies_to = Unknown,
350 animation_type = Unknown,
351 longhands = BorderBlockStartColor|BorderBlockStartStyle|BorderBlockStartWidth,
352 property_group = Borders,
353 computed_value_type = Unknown,
354 canonical_order = "per grammar",
355 box_side = BlockStart,
356 box_portion = Border,
357)]
358#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
359#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start"))]
360#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
361#[derive(csskit_derives::NodeWithMetadata)]
362pub struct BorderBlockStartStyleValue<'a>;
363
364#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
374#[derive(
375 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
376)]
377#[declaration_metadata(
378 initial = "none",
379 applies_to = Elements,
380 animation_type = ByComputedValue,
381 percentages = BorderEdge,
382 property_group = Borders,
383 computed_value_type = SpecifiedWithAbsoluteLengths,
384 canonical_order = "per grammar",
385 logical_property_group = BorderClip,
386 box_portion = Border,
387)]
388#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
389#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-clip"))]
390#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
391#[derive(csskit_derives::NodeWithMetadata)]
392pub struct BorderBlockStartClipStyleValue<'a>;
393
394#[syntax(" <color> | <image-1D> ")]
406#[derive(
407 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
408)]
409#[declaration_metadata(
410 initial = "currentcolor",
411 applies_to = Unknown,
412 animation_type = Unknown,
413 shorthand_group = BorderBlockStart,
414 property_group = Borders,
415 computed_value_type = Unknown,
416 canonical_order = "per grammar",
417 logical_property_group = BorderColor,
418 box_portion = Border,
419)]
420#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
421#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-color"))]
422#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
423#[derive(csskit_derives::NodeWithMetadata)]
424pub enum BorderBlockStartColorStyleValue<'a> {}
425
426#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
436#[derive(
437 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
438)]
439#[declaration_metadata(
440 initial = "0",
441 applies_to = Elements,
442 animation_type = Unknown,
443 percentages = BorderBox,
444 property_group = Borders,
445 computed_value_type = Unknown,
446 canonical_order = "per grammar",
447 box_portion = Border,
448)]
449#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
450#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-radius"))]
451#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
452#[derive(csskit_derives::NodeWithMetadata)]
453pub struct BorderBlockStartRadiusStyleValue<'a>;
454
455#[syntax(" <line-style> ")]
467#[derive(
468 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
469)]
470#[declaration_metadata(
471 initial = "none",
472 applies_to = Unknown,
473 animation_type = Discrete,
474 shorthand_group = BorderBlockStart,
475 property_group = Borders,
476 computed_value_type = Unknown,
477 canonical_order = "per grammar",
478 logical_property_group = BorderStyle,
479 box_portion = Border,
480)]
481#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
482#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-style"))]
483#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
484#[derive(csskit_derives::NodeWithMetadata)]
485pub struct BorderBlockStartStyleStyleValue<'a>;
486
487#[syntax(" <line-width> ")]
499#[derive(
500 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
501)]
502#[declaration_metadata(
503 initial = "medium",
504 applies_to = Unknown,
505 animation_type = ByComputedValue,
506 shorthand_group = BorderBlockStart,
507 property_group = Borders,
508 computed_value_type = AbsoluteLength,
509 canonical_order = "per grammar",
510 logical_property_group = BorderWidth,
511 box_portion = Border,
512)]
513#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
514#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-width"))]
515#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
516#[derive(csskit_derives::NodeWithMetadata)]
517pub struct BorderBlockStartWidthStyleValue<'a>;
518
519#[syntax(" <'border-top-style'>{1,2} ")]
531#[derive(
532 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
533)]
534#[declaration_metadata(
535 initial = "see individual properties",
536 inherits = Unknown,
537 applies_to = Unknown,
538 animation_type = Unknown,
539 percentages = Unknown,
540 shorthand_group = BorderBlock,
541 property_group = Borders,
542 computed_value_type = Unknown,
543 canonical_order = "per grammar",
544 box_side = BlockStart|BlockEnd,
545 box_portion = Border,
546)]
547#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
548#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-style"))]
549#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
550#[derive(csskit_derives::NodeWithMetadata)]
551pub struct BorderBlockStyleStyleValue<'a>;
552
553#[syntax(" <'border-top-width'>{1,2} ")]
565#[derive(
566 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
567)]
568#[declaration_metadata(
569 initial = "see individual properties",
570 inherits = Unknown,
571 applies_to = Unknown,
572 animation_type = Unknown,
573 percentages = Unknown,
574 shorthand_group = BorderBlock,
575 property_group = Borders,
576 computed_value_type = Unknown,
577 canonical_order = "per grammar",
578 box_side = BlockStart|BlockEnd,
579 box_portion = Border,
580)]
581#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
582#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-width"))]
583#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
584#[derive(csskit_derives::NodeWithMetadata)]
585pub struct BorderBlockWidthStyleValue<'a>;
586
587#[syntax(" <line-width> || <line-style> || <color> ")]
599#[derive(
600 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
601)]
602#[declaration_metadata(
603 initial = "See individual properties",
604 applies_to = Unknown,
605 animation_type = Unknown,
606 longhands = BorderBottomColor|BorderBottomStyle|BorderBottomWidth,
607 property_group = Borders,
608 computed_value_type = Unknown,
609 canonical_order = "per grammar",
610 box_side = Bottom,
611 box_portion = Border,
612)]
613#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
614#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom"))]
615#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
616#[derive(csskit_derives::NodeWithMetadata)]
617pub struct BorderBottomStyleValue<'a>;
618
619#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
629#[derive(
630 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
631)]
632#[declaration_metadata(
633 initial = "none",
634 applies_to = Elements,
635 animation_type = ByComputedValue,
636 percentages = BorderEdge,
637 property_group = Borders,
638 computed_value_type = SpecifiedWithAbsoluteLengths,
639 canonical_order = "per grammar",
640 logical_property_group = BorderClip,
641 box_portion = Border,
642)]
643#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
644#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-clip"))]
645#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
646#[derive(csskit_derives::NodeWithMetadata)]
647pub struct BorderBottomClipStyleValue<'a>;
648
649#[syntax(" <color> | <image-1D> ")]
661#[derive(
662 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
663)]
664#[declaration_metadata(
665 initial = "currentcolor",
666 applies_to = Unknown,
667 animation_type = Unknown,
668 shorthand_group = Border,
669 property_group = Borders,
670 computed_value_type = Unknown,
671 canonical_order = "per grammar",
672 logical_property_group = BorderColor,
673 box_portion = Border,
674)]
675#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
676#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-color"))]
677#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
678#[derive(csskit_derives::NodeWithMetadata)]
679pub enum BorderBottomColorStyleValue<'a> {}
680
681#[syntax(" <border-radius> ")]
693#[derive(
694 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
695)]
696#[declaration_metadata(
697 initial = "0",
698 applies_to = Elements,
699 animation_type = ByComputedValue,
700 percentages = BorderBox,
701 shorthand_group = BorderRadius,
702 property_group = Borders,
703 computed_value_type = Unknown,
704 canonical_order = "per grammar",
705 logical_property_group = BorderRadius,
706 box_side = Bottom|Left,
707 box_portion = Border,
708)]
709#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
710#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-left-radius"))]
711#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
712#[derive(csskit_derives::NodeWithMetadata)]
713pub struct BorderBottomLeftRadiusStyleValue<'a>;
714
715#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
725#[derive(
726 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
727)]
728#[declaration_metadata(
729 initial = "0",
730 applies_to = Elements,
731 animation_type = Unknown,
732 percentages = BorderBox,
733 property_group = Borders,
734 computed_value_type = Unknown,
735 canonical_order = "per grammar",
736 box_portion = Border,
737)]
738#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
739#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-radius"))]
740#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
741#[derive(csskit_derives::NodeWithMetadata)]
742pub struct BorderBottomRadiusStyleValue<'a>;
743
744#[syntax(" <border-radius> ")]
756#[derive(
757 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
758)]
759#[declaration_metadata(
760 initial = "0",
761 applies_to = Elements,
762 animation_type = ByComputedValue,
763 percentages = BorderBox,
764 shorthand_group = BorderRadius,
765 property_group = Borders,
766 computed_value_type = Unknown,
767 canonical_order = "per grammar",
768 logical_property_group = BorderRadius,
769 box_side = Bottom|Right,
770 box_portion = Border,
771)]
772#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
773#[cfg_attr(
774 feature = "css_feature_data",
775 derive(ToCSSFeature),
776 css_feature("css.properties.border-bottom-right-radius")
777)]
778#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
779#[derive(csskit_derives::NodeWithMetadata)]
780pub struct BorderBottomRightRadiusStyleValue<'a>;
781
782#[syntax(" <line-style> ")]
794#[derive(
795 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
796)]
797#[declaration_metadata(
798 initial = "none",
799 applies_to = Unknown,
800 animation_type = Discrete,
801 shorthand_group = Border,
802 property_group = Borders,
803 computed_value_type = Unknown,
804 canonical_order = "per grammar",
805 logical_property_group = BorderStyle,
806 box_portion = Border,
807)]
808#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
809#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-style"))]
810#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
811#[derive(csskit_derives::NodeWithMetadata)]
812pub struct BorderBottomStyleStyleValue<'a>;
813
814#[syntax(" <line-width> ")]
826#[derive(
827 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
828)]
829#[declaration_metadata(
830 initial = "medium",
831 applies_to = Unknown,
832 animation_type = ByComputedValue,
833 shorthand_group = Border,
834 property_group = Borders,
835 computed_value_type = AbsoluteLength,
836 canonical_order = "per grammar",
837 logical_property_group = BorderWidth,
838 box_portion = Border,
839)]
840#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
841#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-width"))]
842#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
843#[derive(csskit_derives::NodeWithMetadata)]
844pub struct BorderBottomWidthStyleValue<'a>;
845
846#[syntax(" <'border-top-clip'> ")]
856#[derive(
857 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
858)]
859#[declaration_metadata(
860 initial = "see individual properties",
861 inherits = Unknown,
862 applies_to = Unknown,
863 animation_type = Unknown,
864 percentages = Unknown,
865 property_group = Borders,
866 computed_value_type = Unknown,
867 canonical_order = "per grammar",
868 box_portion = Border,
869)]
870#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
871#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-clip"))]
872#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
873#[derive(csskit_derives::NodeWithMetadata)]
874pub struct BorderClipStyleValue<'a>;
875
876#[syntax(" [ <color> | <image-1D> ]{1,4} ")]
888#[derive(
889 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
890)]
891#[declaration_metadata(
892 initial = "see individual properties",
893 inherits = Unknown,
894 applies_to = Unknown,
895 animation_type = Unknown,
896 percentages = Unknown,
897 longhands = BorderBottomColor|BorderLeftColor|BorderRightColor|BorderTopColor,
898 shorthand_group = Border,
899 property_group = Borders,
900 computed_value_type = Unknown,
901 canonical_order = "per grammar",
902 box_side = Top|Bottom|Left|Right,
903 box_portion = Border,
904)]
905#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
906#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-color"))]
907#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
908#[derive(csskit_derives::NodeWithMetadata)]
909pub struct BorderColorStyleValue<'a>;
910
911#[syntax(" <border-radius> ")]
923#[derive(
924 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
925)]
926#[declaration_metadata(
927 initial = "0",
928 applies_to = Elements,
929 animation_type = ByComputedValue,
930 percentages = BorderBox,
931 property_group = Borders,
932 computed_value_type = Unknown,
933 canonical_order = "per grammar",
934 logical_property_group = BorderRadius,
935 box_side = BlockEnd|InlineEnd,
936 box_portion = Border,
937)]
938#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
939#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-end-end-radius"))]
940#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
941#[derive(csskit_derives::NodeWithMetadata)]
942pub struct BorderEndEndRadiusStyleValue<'a>;
943
944#[syntax(" <border-radius> ")]
956#[derive(
957 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
958)]
959#[declaration_metadata(
960 initial = "0",
961 applies_to = Elements,
962 animation_type = ByComputedValue,
963 percentages = BorderBox,
964 property_group = Borders,
965 computed_value_type = Unknown,
966 canonical_order = "per grammar",
967 logical_property_group = BorderRadius,
968 box_side = BlockEnd|InlineStart,
969 box_portion = Border,
970)]
971#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
972#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-end-start-radius"))]
973#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
974#[derive(csskit_derives::NodeWithMetadata)]
975pub struct BorderEndStartRadiusStyleValue<'a>;
976
977#[syntax(
989 " <'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'> "
990)]
991#[derive(
992 Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
993)]
994#[declaration_metadata(
995 initial = "See individual properties",
996 applies_to = Unknown,
997 animation_type = Unknown,
998 longhands = BorderImageOutset|BorderImageRepeat|BorderImageSlice|BorderImageSource|BorderImageWidth,
999 reset_by_shorthands = Border,
1000 property_group = Borders,
1001 computed_value_type = Unknown,
1002 canonical_order = "per grammar",
1003 box_portion = Border,
1004)]
1005#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1006#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image"))]
1007#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1008#[derive(csskit_derives::NodeWithMetadata)]
1009pub enum BorderImageStyleValue<'a> {}
1010
1011#[syntax(" [ <length [0,∞]> | <number [0,∞]> ]{1,4} ")]
1023#[derive(
1024 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1025)]
1026#[declaration_metadata(
1027 initial = "0",
1028 applies_to = Unknown,
1029 animation_type = ByComputedValue,
1030 shorthand_group = BorderImage,
1031 reset_by_shorthands = Border,
1032 property_group = Borders,
1033 computed_value_type = AbsoluteLength,
1034 canonical_order = "per grammar",
1035 box_portion = Border,
1036)]
1037#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1038#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-outset"))]
1039#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1040#[derive(csskit_derives::NodeWithMetadata)]
1041pub struct BorderImageOutsetStyleValue<'a>;
1042
1043#[syntax(" [ stretch | repeat | round | space ]{1,2} ")]
1055#[derive(
1056 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1057)]
1058#[declaration_metadata(
1059 initial = "stretch",
1060 applies_to = Unknown,
1061 animation_type = Discrete,
1062 shorthand_group = BorderImage,
1063 reset_by_shorthands = Border,
1064 property_group = Borders,
1065 computed_value_type = Unknown,
1066 canonical_order = "per grammar",
1067 box_portion = Border,
1068)]
1069#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1070#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-repeat"))]
1071#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1072#[derive(csskit_derives::NodeWithMetadata)]
1073pub struct BorderImageRepeatStyleValue<'a>;
1074
1075#[syntax(" [<number [0,∞]> | <percentage [0,∞]>]{1,4} && fill? ")]
1087#[derive(
1088 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1089)]
1090#[declaration_metadata(
1091 initial = "100%",
1092 applies_to = Unknown,
1093 animation_type = ByComputedValue,
1094 percentages = BorderImageArea,
1095 shorthand_group = BorderImage,
1096 reset_by_shorthands = Border,
1097 property_group = Borders,
1098 computed_value_type = Unknown,
1099 canonical_order = "per grammar",
1100 box_portion = Border,
1101)]
1102#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1103#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-slice"))]
1104#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1105#[derive(csskit_derives::NodeWithMetadata)]
1106pub struct BorderImageSliceStyleValue<'a>;
1107
1108#[syntax(" none | <image> ")]
1120#[derive(
1121 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1122)]
1123#[declaration_metadata(
1124 initial = "none",
1125 applies_to = Unknown,
1126 animation_type = Discrete,
1127 shorthand_group = BorderImage,
1128 reset_by_shorthands = Border,
1129 property_group = Borders,
1130 computed_value_type = Unknown,
1131 canonical_order = "per grammar",
1132 box_portion = Border,
1133)]
1134#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1135#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-source"))]
1136#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1137#[derive(csskit_derives::NodeWithMetadata)]
1138pub struct BorderImageSourceStyleValue<'a>;
1139
1140#[syntax(" [ <length-percentage [0,∞]> | <number [0,∞]> | auto ]{1,4} ")]
1152#[derive(
1153 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1154)]
1155#[declaration_metadata(
1156 initial = "1",
1157 applies_to = Unknown,
1158 animation_type = ByComputedValue,
1159 percentages = BorderImageArea,
1160 shorthand_group = BorderImage,
1161 reset_by_shorthands = Border,
1162 property_group = Borders,
1163 computed_value_type = Unknown,
1164 canonical_order = "per grammar",
1165 box_portion = Border,
1166)]
1167#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1168#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-width"))]
1169#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1170#[derive(csskit_derives::NodeWithMetadata)]
1171pub struct BorderImageWidthStyleValue<'a>;
1172
1173#[syntax(" <'border-block-start'> ")]
1185#[derive(
1186 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1187)]
1188#[declaration_metadata(
1189 initial = "see individual properties",
1190 inherits = Unknown,
1191 applies_to = Unknown,
1192 animation_type = Unknown,
1193 percentages = Unknown,
1194 longhands = BorderInlineColor|BorderInlineStyle|BorderInlineWidth,
1195 property_group = Borders,
1196 computed_value_type = Unknown,
1197 canonical_order = "per grammar",
1198 box_side = InlineStart|InlineEnd,
1199 box_portion = Border,
1200)]
1201#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1202#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline"))]
1203#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1204#[derive(csskit_derives::NodeWithMetadata)]
1205pub struct BorderInlineStyleValue<'a>;
1206
1207#[syntax(" <'border-top-clip'> ")]
1217#[derive(
1218 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1219)]
1220#[declaration_metadata(
1221 initial = "see individual properties",
1222 inherits = Unknown,
1223 applies_to = Unknown,
1224 animation_type = Unknown,
1225 percentages = Unknown,
1226 property_group = Borders,
1227 computed_value_type = Unknown,
1228 canonical_order = "per grammar",
1229 box_side = InlineStart|InlineEnd,
1230 box_portion = Border,
1231)]
1232#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1233#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-clip"))]
1234#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1235#[derive(csskit_derives::NodeWithMetadata)]
1236pub struct BorderInlineClipStyleValue<'a>;
1237
1238#[syntax(" <'border-top-color'>{1,2} ")]
1250#[derive(
1251 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1252)]
1253#[declaration_metadata(
1254 initial = "see individual properties",
1255 inherits = Unknown,
1256 applies_to = Unknown,
1257 animation_type = Unknown,
1258 percentages = Unknown,
1259 shorthand_group = BorderInline,
1260 property_group = Borders,
1261 computed_value_type = Unknown,
1262 canonical_order = "per grammar",
1263 box_side = InlineStart|InlineEnd,
1264 box_portion = Border,
1265)]
1266#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1267#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-color"))]
1268#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1269#[derive(csskit_derives::NodeWithMetadata)]
1270pub struct BorderInlineColorStyleValue<'a>;
1271
1272#[syntax(" <line-width> || <line-style> || <color> ")]
1284#[derive(
1285 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1286)]
1287#[declaration_metadata(
1288 initial = "See individual properties",
1289 applies_to = Unknown,
1290 animation_type = Unknown,
1291 longhands = BorderInlineEndColor|BorderInlineEndStyle|BorderInlineEndWidth,
1292 property_group = Borders,
1293 computed_value_type = Unknown,
1294 canonical_order = "per grammar",
1295 box_side = InlineEnd,
1296 box_portion = Border,
1297)]
1298#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1299#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end"))]
1300#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1301#[derive(csskit_derives::NodeWithMetadata)]
1302pub struct BorderInlineEndStyleValue<'a>;
1303
1304#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
1314#[derive(
1315 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1316)]
1317#[declaration_metadata(
1318 initial = "none",
1319 applies_to = Elements,
1320 animation_type = ByComputedValue,
1321 percentages = BorderEdge,
1322 property_group = Borders,
1323 computed_value_type = SpecifiedWithAbsoluteLengths,
1324 canonical_order = "per grammar",
1325 logical_property_group = BorderClip,
1326 box_portion = Border,
1327)]
1328#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1329#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-clip"))]
1330#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1331#[derive(csskit_derives::NodeWithMetadata)]
1332pub struct BorderInlineEndClipStyleValue<'a>;
1333
1334#[syntax(" <color> | <image-1D> ")]
1346#[derive(
1347 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1348)]
1349#[declaration_metadata(
1350 initial = "currentcolor",
1351 applies_to = Unknown,
1352 animation_type = Unknown,
1353 shorthand_group = BorderInlineEnd,
1354 property_group = Borders,
1355 computed_value_type = Unknown,
1356 canonical_order = "per grammar",
1357 logical_property_group = BorderColor,
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-color"))]
1362#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1363#[derive(csskit_derives::NodeWithMetadata)]
1364pub enum BorderInlineEndColorStyleValue<'a> {}
1365
1366#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1376#[derive(
1377 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1378)]
1379#[declaration_metadata(
1380 initial = "0",
1381 applies_to = Elements,
1382 animation_type = Unknown,
1383 percentages = BorderBox,
1384 property_group = Borders,
1385 computed_value_type = Unknown,
1386 canonical_order = "per grammar",
1387 box_portion = Border,
1388)]
1389#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1390#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-radius"))]
1391#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1392#[derive(csskit_derives::NodeWithMetadata)]
1393pub struct BorderInlineEndRadiusStyleValue<'a>;
1394
1395#[syntax(" <line-style> ")]
1407#[derive(
1408 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1409)]
1410#[declaration_metadata(
1411 initial = "none",
1412 applies_to = Unknown,
1413 animation_type = Discrete,
1414 shorthand_group = BorderInlineEnd,
1415 property_group = Borders,
1416 computed_value_type = Unknown,
1417 canonical_order = "per grammar",
1418 logical_property_group = BorderStyle,
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-style"))]
1423#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1424#[derive(csskit_derives::NodeWithMetadata)]
1425pub struct BorderInlineEndStyleStyleValue<'a>;
1426
1427#[syntax(" <line-width> ")]
1439#[derive(
1440 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1441)]
1442#[declaration_metadata(
1443 initial = "medium",
1444 applies_to = Unknown,
1445 animation_type = ByComputedValue,
1446 shorthand_group = BorderInlineEnd,
1447 property_group = Borders,
1448 computed_value_type = AbsoluteLength,
1449 canonical_order = "per grammar",
1450 logical_property_group = BorderWidth,
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-width"))]
1455#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1456#[derive(csskit_derives::NodeWithMetadata)]
1457pub struct BorderInlineEndWidthStyleValue<'a>;
1458
1459#[syntax(" <line-width> || <line-style> || <color> ")]
1471#[derive(
1472 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1473)]
1474#[declaration_metadata(
1475 initial = "See individual properties",
1476 applies_to = Unknown,
1477 animation_type = Unknown,
1478 longhands = BorderInlineStartColor|BorderInlineStartStyle|BorderInlineStartWidth,
1479 property_group = Borders,
1480 computed_value_type = Unknown,
1481 canonical_order = "per grammar",
1482 box_side = InlineStart,
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-start"))]
1487#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1488#[derive(csskit_derives::NodeWithMetadata)]
1489pub struct BorderInlineStartStyleValue<'a>;
1490
1491#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
1501#[derive(
1502 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1503)]
1504#[declaration_metadata(
1505 initial = "none",
1506 applies_to = Elements,
1507 animation_type = ByComputedValue,
1508 percentages = BorderEdge,
1509 property_group = Borders,
1510 computed_value_type = SpecifiedWithAbsoluteLengths,
1511 canonical_order = "per grammar",
1512 logical_property_group = BorderClip,
1513 box_portion = Border,
1514)]
1515#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1516#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-clip"))]
1517#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1518#[derive(csskit_derives::NodeWithMetadata)]
1519pub struct BorderInlineStartClipStyleValue<'a>;
1520
1521#[syntax(" <color> | <image-1D> ")]
1533#[derive(
1534 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1535)]
1536#[declaration_metadata(
1537 initial = "currentcolor",
1538 applies_to = Unknown,
1539 animation_type = Unknown,
1540 shorthand_group = BorderInlineStart,
1541 property_group = Borders,
1542 computed_value_type = Unknown,
1543 canonical_order = "per grammar",
1544 logical_property_group = BorderColor,
1545 box_portion = Border,
1546)]
1547#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1548#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-color"))]
1549#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1550#[derive(csskit_derives::NodeWithMetadata)]
1551pub enum BorderInlineStartColorStyleValue<'a> {}
1552
1553#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1563#[derive(
1564 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1565)]
1566#[declaration_metadata(
1567 initial = "0",
1568 applies_to = Elements,
1569 animation_type = Unknown,
1570 percentages = BorderBox,
1571 property_group = Borders,
1572 computed_value_type = Unknown,
1573 canonical_order = "per grammar",
1574 box_portion = Border,
1575)]
1576#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1577#[cfg_attr(
1578 feature = "css_feature_data",
1579 derive(ToCSSFeature),
1580 css_feature("css.properties.border-inline-start-radius")
1581)]
1582#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1583#[derive(csskit_derives::NodeWithMetadata)]
1584pub struct BorderInlineStartRadiusStyleValue<'a>;
1585
1586#[syntax(" <line-style> ")]
1598#[derive(
1599 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1600)]
1601#[declaration_metadata(
1602 initial = "none",
1603 applies_to = Unknown,
1604 animation_type = Discrete,
1605 shorthand_group = BorderInlineStart,
1606 property_group = Borders,
1607 computed_value_type = Unknown,
1608 canonical_order = "per grammar",
1609 logical_property_group = BorderStyle,
1610 box_portion = Border,
1611)]
1612#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1613#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-style"))]
1614#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1615#[derive(csskit_derives::NodeWithMetadata)]
1616pub struct BorderInlineStartStyleStyleValue<'a>;
1617
1618#[syntax(" <line-width> ")]
1630#[derive(
1631 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1632)]
1633#[declaration_metadata(
1634 initial = "medium",
1635 applies_to = Unknown,
1636 animation_type = ByComputedValue,
1637 shorthand_group = BorderInlineStart,
1638 property_group = Borders,
1639 computed_value_type = AbsoluteLength,
1640 canonical_order = "per grammar",
1641 logical_property_group = BorderWidth,
1642 box_portion = Border,
1643)]
1644#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1645#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-width"))]
1646#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1647#[derive(csskit_derives::NodeWithMetadata)]
1648pub struct BorderInlineStartWidthStyleValue<'a>;
1649
1650#[syntax(" <'border-top-style'>{1,2} ")]
1662#[derive(
1663 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1664)]
1665#[declaration_metadata(
1666 initial = "see individual properties",
1667 inherits = Unknown,
1668 applies_to = Unknown,
1669 animation_type = Unknown,
1670 percentages = Unknown,
1671 shorthand_group = BorderInline,
1672 property_group = Borders,
1673 computed_value_type = Unknown,
1674 canonical_order = "per grammar",
1675 box_side = InlineStart|InlineEnd,
1676 box_portion = Border,
1677)]
1678#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1679#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-style"))]
1680#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1681#[derive(csskit_derives::NodeWithMetadata)]
1682pub struct BorderInlineStyleStyleValue<'a>;
1683
1684#[syntax(" <'border-top-width'>{1,2} ")]
1696#[derive(
1697 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1698)]
1699#[declaration_metadata(
1700 initial = "see individual properties",
1701 inherits = Unknown,
1702 applies_to = Unknown,
1703 animation_type = Unknown,
1704 percentages = Unknown,
1705 shorthand_group = BorderInline,
1706 property_group = Borders,
1707 computed_value_type = Unknown,
1708 canonical_order = "per grammar",
1709 box_side = InlineStart|InlineEnd,
1710 box_portion = Border,
1711)]
1712#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1713#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-width"))]
1714#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1715#[derive(csskit_derives::NodeWithMetadata)]
1716pub struct BorderInlineWidthStyleValue<'a>;
1717
1718#[syntax(" <line-width> || <line-style> || <color> ")]
1730#[derive(
1731 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1732)]
1733#[declaration_metadata(
1734 initial = "See individual properties",
1735 applies_to = Unknown,
1736 animation_type = Unknown,
1737 longhands = BorderLeftColor|BorderLeftStyle|BorderLeftWidth,
1738 property_group = Borders,
1739 computed_value_type = Unknown,
1740 canonical_order = "per grammar",
1741 box_side = Left,
1742 box_portion = Border,
1743)]
1744#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1745#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left"))]
1746#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1747#[derive(csskit_derives::NodeWithMetadata)]
1748pub struct BorderLeftStyleValue<'a>;
1749
1750#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
1760#[derive(
1761 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1762)]
1763#[declaration_metadata(
1764 initial = "none",
1765 applies_to = Elements,
1766 animation_type = ByComputedValue,
1767 percentages = BorderEdge,
1768 property_group = Borders,
1769 computed_value_type = SpecifiedWithAbsoluteLengths,
1770 canonical_order = "per grammar",
1771 logical_property_group = BorderClip,
1772 box_portion = Border,
1773)]
1774#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1775#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-clip"))]
1776#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1777#[derive(csskit_derives::NodeWithMetadata)]
1778pub struct BorderLeftClipStyleValue<'a>;
1779
1780#[syntax(" <color> | <image-1D> ")]
1792#[derive(
1793 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1794)]
1795#[declaration_metadata(
1796 initial = "currentcolor",
1797 applies_to = Unknown,
1798 animation_type = Unknown,
1799 shorthand_group = Border,
1800 property_group = Borders,
1801 computed_value_type = Unknown,
1802 canonical_order = "per grammar",
1803 logical_property_group = BorderColor,
1804 box_portion = Border,
1805)]
1806#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1807#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-color"))]
1808#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1809#[derive(csskit_derives::NodeWithMetadata)]
1810pub enum BorderLeftColorStyleValue<'a> {}
1811
1812#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1822#[derive(
1823 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1824)]
1825#[declaration_metadata(
1826 initial = "0",
1827 applies_to = Elements,
1828 animation_type = Unknown,
1829 percentages = BorderBox,
1830 property_group = Borders,
1831 computed_value_type = Unknown,
1832 canonical_order = "per grammar",
1833 box_portion = Border,
1834)]
1835#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1836#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-radius"))]
1837#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1838#[derive(csskit_derives::NodeWithMetadata)]
1839pub struct BorderLeftRadiusStyleValue<'a>;
1840
1841#[syntax(" <line-style> ")]
1853#[derive(
1854 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1855)]
1856#[declaration_metadata(
1857 initial = "none",
1858 applies_to = Unknown,
1859 animation_type = Discrete,
1860 shorthand_group = Border,
1861 property_group = Borders,
1862 computed_value_type = Unknown,
1863 canonical_order = "per grammar",
1864 logical_property_group = BorderStyle,
1865 box_portion = Border,
1866)]
1867#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1868#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-style"))]
1869#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1870#[derive(csskit_derives::NodeWithMetadata)]
1871pub struct BorderLeftStyleStyleValue<'a>;
1872
1873#[syntax(" <line-width> ")]
1885#[derive(
1886 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1887)]
1888#[declaration_metadata(
1889 initial = "medium",
1890 applies_to = Unknown,
1891 animation_type = ByComputedValue,
1892 shorthand_group = Border,
1893 property_group = Borders,
1894 computed_value_type = AbsoluteLength,
1895 canonical_order = "per grammar",
1896 logical_property_group = BorderWidth,
1897 box_portion = Border,
1898)]
1899#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1900#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-width"))]
1901#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1902#[derive(csskit_derives::NodeWithMetadata)]
1903pub struct BorderLeftWidthStyleValue<'a>;
1904
1905#[syntax(
1916 " all | [ sides | corners ] <length-percentage [0,∞]>? | [ top | right | bottom | left ] <length-percentage [0,∞]> "
1917)]
1918#[derive(
1919 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1920)]
1921#[declaration_metadata(
1922 initial = "all",
1923 applies_to = Unknown,
1924 animation_type = Discrete,
1925 percentages = BorderBox,
1926 property_group = Borders,
1927 computed_value_type = AsSpecified,
1928 canonical_order = "per grammar",
1929 box_portion = Border,
1930)]
1931#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1932#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-limit"))]
1933#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1934#[derive(csskit_derives::NodeWithMetadata)]
1935pub enum BorderLimitStyleValue<'a> {}
1936
1937#[syntax(" <length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]? ")]
1949#[derive(
1950 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1951)]
1952#[declaration_metadata(
1953 initial = "see individual properties",
1954 inherits = Unknown,
1955 applies_to = Unknown,
1956 animation_type = Unknown,
1957 percentages = Unknown,
1958 longhands = BorderBottomLeftRadius|BorderBottomRightRadius|BorderTopLeftRadius|BorderTopRightRadius,
1959 property_group = Borders,
1960 computed_value_type = Unknown,
1961 canonical_order = "per grammar",
1962 box_portion = Border,
1963)]
1964#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1965#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-radius"))]
1966#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1967#[derive(csskit_derives::NodeWithMetadata)]
1968pub struct BorderRadiusStyleValue<'a>;
1969
1970#[syntax(" <line-width> || <line-style> || <color> ")]
1982#[derive(
1983 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1984)]
1985#[declaration_metadata(
1986 initial = "See individual properties",
1987 applies_to = Unknown,
1988 animation_type = Unknown,
1989 longhands = BorderRightColor|BorderRightStyle|BorderRightWidth,
1990 property_group = Borders,
1991 computed_value_type = Unknown,
1992 canonical_order = "per grammar",
1993 box_side = Right,
1994 box_portion = Border,
1995)]
1996#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1997#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right"))]
1998#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1999#[derive(csskit_derives::NodeWithMetadata)]
2000pub struct BorderRightStyleValue<'a>;
2001
2002#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
2012#[derive(
2013 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2014)]
2015#[declaration_metadata(
2016 initial = "none",
2017 applies_to = Elements,
2018 animation_type = ByComputedValue,
2019 percentages = BorderEdge,
2020 property_group = Borders,
2021 computed_value_type = SpecifiedWithAbsoluteLengths,
2022 canonical_order = "per grammar",
2023 logical_property_group = BorderClip,
2024 box_portion = Border,
2025)]
2026#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2027#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-clip"))]
2028#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2029#[derive(csskit_derives::NodeWithMetadata)]
2030pub struct BorderRightClipStyleValue<'a>;
2031
2032#[syntax(" <color> | <image-1D> ")]
2044#[derive(
2045 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2046)]
2047#[declaration_metadata(
2048 initial = "currentcolor",
2049 applies_to = Unknown,
2050 animation_type = Unknown,
2051 shorthand_group = Border,
2052 property_group = Borders,
2053 computed_value_type = Unknown,
2054 canonical_order = "per grammar",
2055 logical_property_group = BorderColor,
2056 box_portion = Border,
2057)]
2058#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2059#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-color"))]
2060#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2061#[derive(csskit_derives::NodeWithMetadata)]
2062pub enum BorderRightColorStyleValue<'a> {}
2063
2064#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
2074#[derive(
2075 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2076)]
2077#[declaration_metadata(
2078 initial = "0",
2079 applies_to = Elements,
2080 animation_type = Unknown,
2081 percentages = BorderBox,
2082 property_group = Borders,
2083 computed_value_type = Unknown,
2084 canonical_order = "per grammar",
2085 box_portion = Border,
2086)]
2087#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2088#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-radius"))]
2089#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2090#[derive(csskit_derives::NodeWithMetadata)]
2091pub struct BorderRightRadiusStyleValue<'a>;
2092
2093#[syntax(" <line-style> ")]
2105#[derive(
2106 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2107)]
2108#[declaration_metadata(
2109 initial = "none",
2110 applies_to = Unknown,
2111 animation_type = Discrete,
2112 shorthand_group = Border,
2113 property_group = Borders,
2114 computed_value_type = Unknown,
2115 canonical_order = "per grammar",
2116 logical_property_group = BorderStyle,
2117 box_portion = Border,
2118)]
2119#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2120#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-style"))]
2121#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2122#[derive(csskit_derives::NodeWithMetadata)]
2123pub struct BorderRightStyleStyleValue<'a>;
2124
2125#[syntax(" <line-width> ")]
2137#[derive(
2138 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2139)]
2140#[declaration_metadata(
2141 initial = "medium",
2142 applies_to = Unknown,
2143 animation_type = ByComputedValue,
2144 shorthand_group = Border,
2145 property_group = Borders,
2146 computed_value_type = AbsoluteLength,
2147 canonical_order = "per grammar",
2148 logical_property_group = BorderWidth,
2149 box_portion = Border,
2150)]
2151#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2152#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-width"))]
2153#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2154#[derive(csskit_derives::NodeWithMetadata)]
2155pub struct BorderRightWidthStyleValue<'a>;
2156
2157#[syntax(" none | [ <basic-shape> <geometry-box>?]{1,2} ")]
2169#[derive(
2170 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2171)]
2172#[declaration_metadata(
2173 initial = "none",
2174 applies_to = Elements,
2175 animation_type = ByComputedValue,
2176 percentages = Unknown,
2177 property_group = Borders,
2178 computed_value_type = Unknown,
2179 canonical_order = "per grammar",
2180 box_portion = Border,
2181)]
2182#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2183#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-shape"))]
2184#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2185#[derive(csskit_derives::NodeWithMetadata)]
2186pub struct BorderShapeStyleValue<'a>;
2187
2188#[syntax(" <border-radius> ")]
2200#[derive(
2201 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2202)]
2203#[declaration_metadata(
2204 initial = "0",
2205 applies_to = Elements,
2206 animation_type = ByComputedValue,
2207 percentages = BorderBox,
2208 property_group = Borders,
2209 computed_value_type = Unknown,
2210 canonical_order = "per grammar",
2211 logical_property_group = BorderRadius,
2212 box_side = BlockStart|InlineEnd,
2213 box_portion = Border,
2214)]
2215#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2216#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-start-end-radius"))]
2217#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2218#[derive(csskit_derives::NodeWithMetadata)]
2219pub struct BorderStartEndRadiusStyleValue<'a>;
2220
2221#[syntax(" <border-radius> ")]
2233#[derive(
2234 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2235)]
2236#[declaration_metadata(
2237 initial = "0",
2238 applies_to = Elements,
2239 animation_type = ByComputedValue,
2240 percentages = BorderBox,
2241 property_group = Borders,
2242 computed_value_type = Unknown,
2243 canonical_order = "per grammar",
2244 logical_property_group = BorderRadius,
2245 box_side = BlockStart|InlineStart,
2246 box_portion = Border,
2247)]
2248#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2249#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-start-start-radius"))]
2250#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2251#[derive(csskit_derives::NodeWithMetadata)]
2252pub struct BorderStartStartRadiusStyleValue<'a>;
2253
2254#[syntax(" <'border-top-style'>{1,4} ")]
2266#[derive(
2267 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2268)]
2269#[declaration_metadata(
2270 initial = "see individual properties",
2271 inherits = Unknown,
2272 applies_to = Unknown,
2273 animation_type = Unknown,
2274 percentages = Unknown,
2275 longhands = BorderBottomStyle|BorderLeftStyle|BorderRightStyle|BorderTopStyle,
2276 shorthand_group = Border,
2277 property_group = Borders,
2278 computed_value_type = Unknown,
2279 canonical_order = "per grammar",
2280 box_side = Top|Bottom|Left|Right,
2281 box_portion = Border,
2282)]
2283#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2284#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-style"))]
2285#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2286#[derive(csskit_derives::NodeWithMetadata)]
2287pub struct BorderStyleStyleValue<'a>;
2288
2289#[syntax(" <line-width> || <line-style> || <color> ")]
2301#[derive(
2302 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2303)]
2304#[declaration_metadata(
2305 initial = "See individual properties",
2306 applies_to = Unknown,
2307 animation_type = Unknown,
2308 longhands = BorderTopColor|BorderTopStyle|BorderTopWidth,
2309 property_group = Borders,
2310 computed_value_type = Unknown,
2311 canonical_order = "per grammar",
2312 box_side = Top,
2313 box_portion = Border,
2314)]
2315#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2316#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top"))]
2317#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2318#[derive(csskit_derives::NodeWithMetadata)]
2319pub struct BorderTopStyleValue<'a>;
2320
2321#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
2331#[derive(
2332 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2333)]
2334#[declaration_metadata(
2335 initial = "none",
2336 applies_to = Elements,
2337 animation_type = ByComputedValue,
2338 percentages = BorderEdge,
2339 property_group = Borders,
2340 computed_value_type = SpecifiedWithAbsoluteLengths,
2341 canonical_order = "per grammar",
2342 logical_property_group = BorderClip,
2343 box_portion = Border,
2344)]
2345#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2346#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-clip"))]
2347#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2348#[derive(csskit_derives::NodeWithMetadata)]
2349pub struct BorderTopClipStyleValue<'a>;
2350
2351#[syntax(" <color> | <image-1D> ")]
2363#[derive(
2364 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2365)]
2366#[declaration_metadata(
2367 initial = "currentcolor",
2368 applies_to = Unknown,
2369 animation_type = Unknown,
2370 shorthand_group = Border,
2371 property_group = Borders,
2372 computed_value_type = Unknown,
2373 canonical_order = "per grammar",
2374 logical_property_group = BorderColor,
2375 box_portion = Border,
2376)]
2377#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2378#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-color"))]
2379#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2380#[derive(csskit_derives::NodeWithMetadata)]
2381pub enum BorderTopColorStyleValue<'a> {}
2382
2383#[syntax(" <border-radius> ")]
2395#[derive(
2396 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2397)]
2398#[declaration_metadata(
2399 initial = "0",
2400 applies_to = Elements,
2401 animation_type = ByComputedValue,
2402 percentages = BorderBox,
2403 shorthand_group = BorderRadius,
2404 property_group = Borders,
2405 computed_value_type = Unknown,
2406 canonical_order = "per grammar",
2407 logical_property_group = BorderRadius,
2408 box_side = Top|Left,
2409 box_portion = Border,
2410)]
2411#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2412#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-left-radius"))]
2413#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2414#[derive(csskit_derives::NodeWithMetadata)]
2415pub struct BorderTopLeftRadiusStyleValue<'a>;
2416
2417#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
2427#[derive(
2428 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2429)]
2430#[declaration_metadata(
2431 initial = "0",
2432 applies_to = Elements,
2433 animation_type = Unknown,
2434 percentages = BorderBox,
2435 property_group = Borders,
2436 computed_value_type = Unknown,
2437 canonical_order = "per grammar",
2438 box_portion = Border,
2439)]
2440#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2441#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-radius"))]
2442#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2443#[derive(csskit_derives::NodeWithMetadata)]
2444pub struct BorderTopRadiusStyleValue<'a>;
2445
2446#[syntax(" <border-radius> ")]
2458#[derive(
2459 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2460)]
2461#[declaration_metadata(
2462 initial = "0",
2463 applies_to = Elements,
2464 animation_type = ByComputedValue,
2465 percentages = BorderBox,
2466 shorthand_group = BorderRadius,
2467 property_group = Borders,
2468 computed_value_type = Unknown,
2469 canonical_order = "per grammar",
2470 logical_property_group = BorderRadius,
2471 box_side = Top|Right,
2472 box_portion = Border,
2473)]
2474#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2475#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-right-radius"))]
2476#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2477#[derive(csskit_derives::NodeWithMetadata)]
2478pub struct BorderTopRightRadiusStyleValue<'a>;
2479
2480#[syntax(" <line-style> ")]
2492#[derive(
2493 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2494)]
2495#[declaration_metadata(
2496 initial = "none",
2497 applies_to = Unknown,
2498 animation_type = Discrete,
2499 shorthand_group = Border,
2500 property_group = Borders,
2501 computed_value_type = Unknown,
2502 canonical_order = "per grammar",
2503 logical_property_group = BorderStyle,
2504 box_portion = Border,
2505)]
2506#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2507#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-style"))]
2508#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2509#[derive(csskit_derives::NodeWithMetadata)]
2510pub struct BorderTopStyleStyleValue<'a>;
2511
2512#[syntax(" <line-width> ")]
2524#[derive(
2525 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2526)]
2527#[declaration_metadata(
2528 initial = "medium",
2529 applies_to = Unknown,
2530 animation_type = ByComputedValue,
2531 shorthand_group = Border,
2532 property_group = Borders,
2533 computed_value_type = AbsoluteLength,
2534 canonical_order = "per grammar",
2535 logical_property_group = BorderWidth,
2536 box_portion = Border,
2537)]
2538#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2539#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-width"))]
2540#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2541#[derive(csskit_derives::NodeWithMetadata)]
2542pub struct BorderTopWidthStyleValue<'a>;
2543
2544#[syntax(" <'border-top-width'>{1,4} ")]
2556#[derive(
2557 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2558)]
2559#[declaration_metadata(
2560 initial = "see individual properties",
2561 inherits = Unknown,
2562 applies_to = Unknown,
2563 animation_type = Unknown,
2564 percentages = Unknown,
2565 longhands = BorderBottomWidth|BorderLeftWidth|BorderRightWidth|BorderTopWidth,
2566 shorthand_group = Border,
2567 property_group = Borders,
2568 computed_value_type = Unknown,
2569 canonical_order = "per grammar",
2570 box_side = Top|Bottom|Left|Right,
2571 box_portion = Border,
2572)]
2573#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2574#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-width"))]
2575#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2576#[derive(csskit_derives::NodeWithMetadata)]
2577pub struct BorderWidthStyleValue<'a>;
2578
2579#[syntax(" <spread-shadow># ")]
2591#[derive(
2592 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2593)]
2594#[declaration_metadata(
2595 initial = "none",
2596 applies_to = Elements,
2597 animation_type = Unknown,
2598 property_group = Borders,
2599 computed_value_type = Unknown,
2600 canonical_order = "per grammar",
2601)]
2602#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2603#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow"))]
2604#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2605#[derive(csskit_derives::NodeWithMetadata)]
2606pub struct BoxShadowStyleValue<'a>;
2607
2608#[syntax(" <length [0,∞]># ")]
2618#[derive(
2619 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2620)]
2621#[declaration_metadata(
2622 initial = "0",
2623 applies_to = Elements,
2624 animation_type = ByComputedValue,
2625 property_group = Borders,
2626 computed_value_type = Unknown,
2627 canonical_order = "per grammar",
2628)]
2629#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2630#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-blur"))]
2631#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2632#[derive(csskit_derives::NodeWithMetadata)]
2633pub struct BoxShadowBlurStyleValue<'a>;
2634
2635#[syntax(" <color># ")]
2645#[derive(
2646 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2647)]
2648#[declaration_metadata(
2649 initial = "currentcolor",
2650 applies_to = Elements,
2651 animation_type = ByComputedValue,
2652 property_group = Borders,
2653 computed_value_type = Unknown,
2654 canonical_order = "per grammar",
2655)]
2656#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2657#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-color"))]
2658#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2659#[derive(csskit_derives::NodeWithMetadata)]
2660pub struct BoxShadowColorStyleValue<'a>;
2661
2662#[syntax(" [ none | <length>{1,2} ]# ")]
2672#[derive(
2673 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2674)]
2675#[declaration_metadata(
2676 initial = "none",
2677 applies_to = Elements,
2678 animation_type = ByComputedValue,
2679 property_group = Borders,
2680 computed_value_type = Unknown,
2681 canonical_order = "per grammar",
2682)]
2683#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2684#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-offset"))]
2685#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2686#[derive(csskit_derives::NodeWithMetadata)]
2687pub struct BoxShadowOffsetStyleValue<'a>;
2688
2689#[syntax(" [ outset | inset ]# ")]
2699#[derive(
2700 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2701)]
2702#[declaration_metadata(
2703 initial = "outset",
2704 applies_to = Elements,
2705 animation_type = ByComputedValue,
2706 property_group = Borders,
2707 computed_value_type = Unknown,
2708 canonical_order = "per grammar",
2709)]
2710#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2711#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-position"))]
2712#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2713#[derive(csskit_derives::NodeWithMetadata)]
2714pub struct BoxShadowPositionStyleValue<'a>;
2715
2716#[syntax(" <length># ")]
2726#[derive(
2727 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2728)]
2729#[declaration_metadata(
2730 initial = "0",
2731 applies_to = Elements,
2732 animation_type = ByComputedValue,
2733 property_group = Borders,
2734 computed_value_type = Unknown,
2735 canonical_order = "per grammar",
2736)]
2737#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2738#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-spread"))]
2739#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2740#[derive(csskit_derives::NodeWithMetadata)]
2741pub struct BoxShadowSpreadStyleValue<'a>;
2742
2743#[syntax(" <'border-radius'> || <'corner-shape'> ")]
2753#[derive(
2754 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2755)]
2756#[declaration_metadata(
2757 initial = "0",
2758 applies_to = Elements,
2759 animation_type = Unknown,
2760 percentages = BorderBox,
2761 property_group = Borders,
2762 computed_value_type = Unknown,
2763 canonical_order = "per grammar",
2764)]
2765#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2766#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner"))]
2767#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2768#[derive(csskit_derives::NodeWithMetadata)]
2769pub struct CornerStyleValue<'a>;
2770
2771#[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
2781#[derive(
2782 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2783)]
2784#[declaration_metadata(
2785 initial = "0",
2786 applies_to = Elements,
2787 animation_type = Unknown,
2788 percentages = BorderBox,
2789 property_group = Borders,
2790 computed_value_type = Unknown,
2791 canonical_order = "per grammar",
2792 box_side = BlockEnd,
2793)]
2794#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2795#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-block-end"))]
2796#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2797#[derive(csskit_derives::NodeWithMetadata)]
2798pub struct CornerBlockEndStyleValue<'a>;
2799
2800#[syntax(" <'corner-top-left-shape'>{1,2} ")]
2812#[derive(
2813 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2814)]
2815#[declaration_metadata(
2816 initial = "see individual properties",
2817 inherits = Unknown,
2818 applies_to = Unknown,
2819 animation_type = Unknown,
2820 percentages = Unknown,
2821 property_group = Borders,
2822 computed_value_type = Unknown,
2823 canonical_order = "per grammar",
2824)]
2825#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2826#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-block-end-shape"))]
2827#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2828#[derive(csskit_derives::NodeWithMetadata)]
2829pub struct CornerBlockEndShapeStyleValue<'a>;
2830
2831#[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
2841#[derive(
2842 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2843)]
2844#[declaration_metadata(
2845 initial = "0",
2846 applies_to = Elements,
2847 animation_type = Unknown,
2848 percentages = BorderBox,
2849 property_group = Borders,
2850 computed_value_type = Unknown,
2851 canonical_order = "per grammar",
2852 box_side = BlockStart,
2853)]
2854#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2855#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-block-start"))]
2856#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2857#[derive(csskit_derives::NodeWithMetadata)]
2858pub struct CornerBlockStartStyleValue<'a>;
2859
2860#[syntax(" <'corner-top-left-shape'>{1,2} ")]
2872#[derive(
2873 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2874)]
2875#[declaration_metadata(
2876 initial = "see individual properties",
2877 inherits = Unknown,
2878 applies_to = Unknown,
2879 animation_type = Unknown,
2880 percentages = Unknown,
2881 property_group = Borders,
2882 computed_value_type = Unknown,
2883 canonical_order = "per grammar",
2884)]
2885#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2886#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-block-start-shape"))]
2887#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2888#[derive(csskit_derives::NodeWithMetadata)]
2889pub struct CornerBlockStartShapeStyleValue<'a>;
2890
2891#[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
2901#[derive(
2902 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2903)]
2904#[declaration_metadata(
2905 initial = "0",
2906 applies_to = Elements,
2907 animation_type = Unknown,
2908 percentages = BorderBox,
2909 property_group = Borders,
2910 computed_value_type = Unknown,
2911 canonical_order = "per grammar",
2912 box_side = Bottom,
2913)]
2914#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2915#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom"))]
2916#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2917#[derive(csskit_derives::NodeWithMetadata)]
2918pub struct CornerBottomStyleValue<'a>;
2919
2920#[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
2930#[derive(
2931 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2932)]
2933#[declaration_metadata(
2934 initial = "0",
2935 applies_to = Elements,
2936 animation_type = Unknown,
2937 percentages = BorderBox,
2938 property_group = Borders,
2939 computed_value_type = Unknown,
2940 canonical_order = "per grammar",
2941 box_side = Bottom|Left,
2942)]
2943#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2944#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-left"))]
2945#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2946#[derive(csskit_derives::NodeWithMetadata)]
2947pub struct CornerBottomLeftStyleValue<'a>;
2948
2949#[syntax(" <corner-shape-value> ")]
2961#[derive(
2962 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2963)]
2964#[declaration_metadata(
2965 initial = "round",
2966 applies_to = Unknown,
2967 animation_type = Unknown,
2968 property_group = Borders,
2969 computed_value_type = Unknown,
2970 canonical_order = "per grammar",
2971 logical_property_group = CornerShape,
2972 box_side = Bottom|Left,
2973)]
2974#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2975#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-left-shape"))]
2976#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2977#[derive(csskit_derives::NodeWithMetadata)]
2978pub struct CornerBottomLeftShapeStyleValue<'a>;
2979
2980#[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
2990#[derive(
2991 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2992)]
2993#[declaration_metadata(
2994 initial = "0",
2995 applies_to = Elements,
2996 animation_type = Unknown,
2997 percentages = BorderBox,
2998 property_group = Borders,
2999 computed_value_type = Unknown,
3000 canonical_order = "per grammar",
3001 box_side = Bottom|Right,
3002)]
3003#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3004#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-right"))]
3005#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3006#[derive(csskit_derives::NodeWithMetadata)]
3007pub struct CornerBottomRightStyleValue<'a>;
3008
3009#[syntax(" <corner-shape-value> ")]
3021#[derive(
3022 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3023)]
3024#[declaration_metadata(
3025 initial = "round",
3026 applies_to = Unknown,
3027 animation_type = Unknown,
3028 property_group = Borders,
3029 computed_value_type = Unknown,
3030 canonical_order = "per grammar",
3031 logical_property_group = CornerShape,
3032 box_side = Bottom|Right,
3033)]
3034#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3035#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-right-shape"))]
3036#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3037#[derive(csskit_derives::NodeWithMetadata)]
3038pub struct CornerBottomRightShapeStyleValue<'a>;
3039
3040#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3052#[derive(
3053 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3054)]
3055#[declaration_metadata(
3056 initial = "see individual properties",
3057 inherits = Unknown,
3058 applies_to = Unknown,
3059 animation_type = Unknown,
3060 percentages = Unknown,
3061 property_group = Borders,
3062 computed_value_type = Unknown,
3063 canonical_order = "per grammar",
3064)]
3065#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3066#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-shape"))]
3067#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3068#[derive(csskit_derives::NodeWithMetadata)]
3069pub struct CornerBottomShapeStyleValue<'a>;
3070
3071#[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
3081#[derive(
3082 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3083)]
3084#[declaration_metadata(
3085 initial = "0",
3086 applies_to = Elements,
3087 animation_type = Unknown,
3088 percentages = BorderBox,
3089 property_group = Borders,
3090 computed_value_type = Unknown,
3091 canonical_order = "per grammar",
3092 box_side = BlockEnd|InlineEnd,
3093)]
3094#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3095#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-end-end"))]
3096#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3097#[derive(csskit_derives::NodeWithMetadata)]
3098pub struct CornerEndEndStyleValue<'a>;
3099
3100#[syntax(" <corner-shape-value> ")]
3112#[derive(
3113 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3114)]
3115#[declaration_metadata(
3116 initial = "round",
3117 applies_to = Unknown,
3118 animation_type = Unknown,
3119 property_group = Borders,
3120 computed_value_type = Unknown,
3121 canonical_order = "per grammar",
3122 logical_property_group = CornerShape,
3123 box_side = BlockEnd|InlineEnd,
3124)]
3125#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3126#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-end-end-shape"))]
3127#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3128#[derive(csskit_derives::NodeWithMetadata)]
3129pub struct CornerEndEndShapeStyleValue<'a>;
3130
3131#[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
3141#[derive(
3142 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3143)]
3144#[declaration_metadata(
3145 initial = "0",
3146 applies_to = Elements,
3147 animation_type = Unknown,
3148 percentages = BorderBox,
3149 property_group = Borders,
3150 computed_value_type = Unknown,
3151 canonical_order = "per grammar",
3152 box_side = BlockEnd|InlineStart,
3153)]
3154#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3155#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-end-start"))]
3156#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3157#[derive(csskit_derives::NodeWithMetadata)]
3158pub struct CornerEndStartStyleValue<'a>;
3159
3160#[syntax(" <corner-shape-value> ")]
3172#[derive(
3173 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3174)]
3175#[declaration_metadata(
3176 initial = "round",
3177 applies_to = Unknown,
3178 animation_type = Unknown,
3179 property_group = Borders,
3180 computed_value_type = Unknown,
3181 canonical_order = "per grammar",
3182 logical_property_group = CornerShape,
3183 box_side = BlockEnd|InlineStart,
3184)]
3185#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3186#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-end-start-shape"))]
3187#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3188#[derive(csskit_derives::NodeWithMetadata)]
3189pub struct CornerEndStartShapeStyleValue<'a>;
3190
3191#[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
3201#[derive(
3202 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3203)]
3204#[declaration_metadata(
3205 initial = "0",
3206 applies_to = Elements,
3207 animation_type = Unknown,
3208 percentages = BorderBox,
3209 property_group = Borders,
3210 computed_value_type = Unknown,
3211 canonical_order = "per grammar",
3212 box_side = InlineEnd,
3213)]
3214#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3215#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-inline-end"))]
3216#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3217#[derive(csskit_derives::NodeWithMetadata)]
3218pub struct CornerInlineEndStyleValue<'a>;
3219
3220#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3232#[derive(
3233 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3234)]
3235#[declaration_metadata(
3236 initial = "see individual properties",
3237 inherits = Unknown,
3238 applies_to = Unknown,
3239 animation_type = Unknown,
3240 percentages = Unknown,
3241 property_group = Borders,
3242 computed_value_type = Unknown,
3243 canonical_order = "per grammar",
3244)]
3245#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3246#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-inline-end-shape"))]
3247#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3248#[derive(csskit_derives::NodeWithMetadata)]
3249pub struct CornerInlineEndShapeStyleValue<'a>;
3250
3251#[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
3261#[derive(
3262 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3263)]
3264#[declaration_metadata(
3265 initial = "0",
3266 applies_to = Elements,
3267 animation_type = Unknown,
3268 percentages = BorderBox,
3269 property_group = Borders,
3270 computed_value_type = Unknown,
3271 canonical_order = "per grammar",
3272 box_side = InlineStart,
3273)]
3274#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3275#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-inline-start"))]
3276#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3277#[derive(csskit_derives::NodeWithMetadata)]
3278pub struct CornerInlineStartStyleValue<'a>;
3279
3280#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3292#[derive(
3293 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3294)]
3295#[declaration_metadata(
3296 initial = "see individual properties",
3297 inherits = Unknown,
3298 applies_to = Unknown,
3299 animation_type = Unknown,
3300 percentages = Unknown,
3301 property_group = Borders,
3302 computed_value_type = Unknown,
3303 canonical_order = "per grammar",
3304)]
3305#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3306#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-inline-start-shape"))]
3307#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3308#[derive(csskit_derives::NodeWithMetadata)]
3309pub struct CornerInlineStartShapeStyleValue<'a>;
3310
3311#[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
3321#[derive(
3322 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3323)]
3324#[declaration_metadata(
3325 initial = "0",
3326 applies_to = Elements,
3327 animation_type = Unknown,
3328 percentages = BorderBox,
3329 property_group = Borders,
3330 computed_value_type = Unknown,
3331 canonical_order = "per grammar",
3332 box_side = Left,
3333)]
3334#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3335#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-left"))]
3336#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3337#[derive(csskit_derives::NodeWithMetadata)]
3338pub struct CornerLeftStyleValue<'a>;
3339
3340#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3352#[derive(
3353 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3354)]
3355#[declaration_metadata(
3356 initial = "see individual properties",
3357 inherits = Unknown,
3358 applies_to = Unknown,
3359 animation_type = Unknown,
3360 percentages = Unknown,
3361 property_group = Borders,
3362 computed_value_type = Unknown,
3363 canonical_order = "per grammar",
3364)]
3365#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3366#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-left-shape"))]
3367#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3368#[derive(csskit_derives::NodeWithMetadata)]
3369pub struct CornerLeftShapeStyleValue<'a>;
3370
3371#[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
3381#[derive(
3382 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3383)]
3384#[declaration_metadata(
3385 initial = "0",
3386 applies_to = Elements,
3387 animation_type = Unknown,
3388 percentages = BorderBox,
3389 property_group = Borders,
3390 computed_value_type = Unknown,
3391 canonical_order = "per grammar",
3392 box_side = Right,
3393)]
3394#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3395#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-right"))]
3396#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3397#[derive(csskit_derives::NodeWithMetadata)]
3398pub struct CornerRightStyleValue<'a>;
3399
3400#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3412#[derive(
3413 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3414)]
3415#[declaration_metadata(
3416 initial = "see individual properties",
3417 inherits = Unknown,
3418 applies_to = Unknown,
3419 animation_type = Unknown,
3420 percentages = Unknown,
3421 property_group = Borders,
3422 computed_value_type = Unknown,
3423 canonical_order = "per grammar",
3424)]
3425#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3426#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-right-shape"))]
3427#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3428#[derive(csskit_derives::NodeWithMetadata)]
3429pub struct CornerRightShapeStyleValue<'a>;
3430
3431#[syntax(" <'corner-top-left-shape'>{1,4} ")]
3443#[derive(
3444 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3445)]
3446#[declaration_metadata(
3447 initial = "round",
3448 applies_to = Unknown,
3449 animation_type = Unknown,
3450 percentages = Unknown,
3451 property_group = Borders,
3452 computed_value_type = Unknown,
3453 canonical_order = "per grammar",
3454)]
3455#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3456#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-shape"))]
3457#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3458#[derive(csskit_derives::NodeWithMetadata)]
3459pub struct CornerShapeStyleValue<'a>;
3460
3461#[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
3471#[derive(
3472 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3473)]
3474#[declaration_metadata(
3475 initial = "0",
3476 applies_to = Elements,
3477 animation_type = Unknown,
3478 percentages = BorderBox,
3479 property_group = Borders,
3480 computed_value_type = Unknown,
3481 canonical_order = "per grammar",
3482 box_side = BlockStart|InlineEnd,
3483)]
3484#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3485#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-start-end"))]
3486#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3487#[derive(csskit_derives::NodeWithMetadata)]
3488pub struct CornerStartEndStyleValue<'a>;
3489
3490#[syntax(" <corner-shape-value> ")]
3502#[derive(
3503 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3504)]
3505#[declaration_metadata(
3506 initial = "round",
3507 applies_to = Unknown,
3508 animation_type = Unknown,
3509 property_group = Borders,
3510 computed_value_type = Unknown,
3511 canonical_order = "per grammar",
3512 logical_property_group = CornerShape,
3513 box_side = BlockStart|InlineEnd,
3514)]
3515#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3516#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-start-end-shape"))]
3517#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3518#[derive(csskit_derives::NodeWithMetadata)]
3519pub struct CornerStartEndShapeStyleValue<'a>;
3520
3521#[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
3531#[derive(
3532 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3533)]
3534#[declaration_metadata(
3535 initial = "0",
3536 applies_to = Elements,
3537 animation_type = Unknown,
3538 percentages = BorderBox,
3539 property_group = Borders,
3540 computed_value_type = Unknown,
3541 canonical_order = "per grammar",
3542 box_side = BlockStart|InlineStart,
3543)]
3544#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3545#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-start-start"))]
3546#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3547#[derive(csskit_derives::NodeWithMetadata)]
3548pub struct CornerStartStartStyleValue<'a>;
3549
3550#[syntax(" <corner-shape-value> ")]
3562#[derive(
3563 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3564)]
3565#[declaration_metadata(
3566 initial = "round",
3567 applies_to = Unknown,
3568 animation_type = Unknown,
3569 property_group = Borders,
3570 computed_value_type = Unknown,
3571 canonical_order = "per grammar",
3572 logical_property_group = CornerShape,
3573 box_side = BlockStart|InlineStart,
3574)]
3575#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3576#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-start-start-shape"))]
3577#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3578#[derive(csskit_derives::NodeWithMetadata)]
3579pub struct CornerStartStartShapeStyleValue<'a>;
3580
3581#[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
3591#[derive(
3592 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3593)]
3594#[declaration_metadata(
3595 initial = "0",
3596 applies_to = Elements,
3597 animation_type = Unknown,
3598 percentages = BorderBox,
3599 property_group = Borders,
3600 computed_value_type = Unknown,
3601 canonical_order = "per grammar",
3602 box_side = Top,
3603)]
3604#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3605#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top"))]
3606#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3607#[derive(csskit_derives::NodeWithMetadata)]
3608pub struct CornerTopStyleValue<'a>;
3609
3610#[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
3620#[derive(
3621 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3622)]
3623#[declaration_metadata(
3624 initial = "0",
3625 applies_to = Elements,
3626 animation_type = Unknown,
3627 percentages = BorderBox,
3628 property_group = Borders,
3629 computed_value_type = Unknown,
3630 canonical_order = "per grammar",
3631 box_side = Top|Left,
3632)]
3633#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3634#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-left"))]
3635#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3636#[derive(csskit_derives::NodeWithMetadata)]
3637pub struct CornerTopLeftStyleValue<'a>;
3638
3639#[syntax(" <corner-shape-value> ")]
3651#[derive(
3652 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3653)]
3654#[declaration_metadata(
3655 initial = "round",
3656 applies_to = Unknown,
3657 animation_type = Unknown,
3658 property_group = Borders,
3659 computed_value_type = Unknown,
3660 canonical_order = "per grammar",
3661 logical_property_group = CornerShape,
3662 box_side = Top|Left,
3663)]
3664#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3665#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-left-shape"))]
3666#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3667#[derive(csskit_derives::NodeWithMetadata)]
3668pub struct CornerTopLeftShapeStyleValue<'a>;
3669
3670#[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
3680#[derive(
3681 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3682)]
3683#[declaration_metadata(
3684 initial = "0",
3685 applies_to = Elements,
3686 animation_type = Unknown,
3687 percentages = BorderBox,
3688 property_group = Borders,
3689 computed_value_type = Unknown,
3690 canonical_order = "per grammar",
3691 box_side = Top|Right,
3692)]
3693#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3694#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-right"))]
3695#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3696#[derive(csskit_derives::NodeWithMetadata)]
3697pub struct CornerTopRightStyleValue<'a>;
3698
3699#[syntax(" <corner-shape-value> ")]
3711#[derive(
3712 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3713)]
3714#[declaration_metadata(
3715 initial = "round",
3716 applies_to = Unknown,
3717 animation_type = Unknown,
3718 property_group = Borders,
3719 computed_value_type = Unknown,
3720 canonical_order = "per grammar",
3721 logical_property_group = CornerShape,
3722 box_side = Top|Right,
3723)]
3724#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3725#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-right-shape"))]
3726#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3727#[derive(csskit_derives::NodeWithMetadata)]
3728pub struct CornerTopRightShapeStyleValue<'a>;
3729
3730#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3742#[derive(
3743 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3744)]
3745#[declaration_metadata(
3746 initial = "see individual properties",
3747 inherits = Unknown,
3748 applies_to = Unknown,
3749 animation_type = Unknown,
3750 percentages = Unknown,
3751 property_group = Borders,
3752 computed_value_type = Unknown,
3753 canonical_order = "per grammar",
3754)]
3755#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3756#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-shape"))]
3757#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3758#[derive(csskit_derives::NodeWithMetadata)]
3759pub struct CornerTopShapeStyleValue<'a>;