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 property_group = Borders,
33 computed_value_type = Unknown,
34 canonical_order = "per grammar",
35 box_side = Top|Bottom|Left|Right,
36 box_portion = Border,
37)]
38#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
39#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border"))]
40#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
41#[derive(csskit_derives::NodeWithMetadata)]
42pub struct BorderStyleValue<'a>;
43
44#[syntax(" <'border-block-start'> ")]
56#[derive(
57 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
58)]
59#[declaration_metadata(
60 initial = "see individual properties",
61 inherits = Unknown,
62 applies_to = Unknown,
63 animation_type = Unknown,
64 percentages = Unknown,
65 longhands = BorderBlockColor|BorderBlockStyle|BorderBlockWidth,
66 property_group = Borders,
67 computed_value_type = Unknown,
68 canonical_order = "per grammar",
69 box_side = BlockStart|BlockEnd,
70 box_portion = Border,
71)]
72#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
73#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block"))]
74#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
75#[derive(csskit_derives::NodeWithMetadata)]
76pub struct BorderBlockStyleValue<'a>;
77
78#[syntax(" <'border-top-clip'> ")]
88#[derive(
89 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
90)]
91#[declaration_metadata(
92 initial = "see individual properties",
93 inherits = Unknown,
94 applies_to = Unknown,
95 animation_type = Unknown,
96 percentages = Unknown,
97 property_group = Borders,
98 computed_value_type = Unknown,
99 canonical_order = "per grammar",
100 box_side = BlockStart|BlockEnd,
101 box_portion = Border,
102)]
103#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
104#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-clip"))]
105#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
106#[derive(csskit_derives::NodeWithMetadata)]
107pub struct BorderBlockClipStyleValue<'a>;
108
109#[syntax(" <'border-top-color'>{1,2} ")]
121#[derive(
122 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
123)]
124#[declaration_metadata(
125 initial = "see individual properties",
126 inherits = Unknown,
127 applies_to = Unknown,
128 animation_type = Unknown,
129 percentages = Unknown,
130 shorthand_group = BorderBlock,
131 property_group = Borders,
132 computed_value_type = Unknown,
133 canonical_order = "per grammar",
134 box_side = BlockStart|BlockEnd,
135 box_portion = Border,
136)]
137#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
138#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-color"))]
139#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
140#[derive(csskit_derives::NodeWithMetadata)]
141pub struct BorderBlockColorStyleValue<'a>;
142
143#[syntax(" <line-width> || <line-style> || <color> ")]
155#[derive(
156 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
157)]
158#[declaration_metadata(
159 initial = "See individual properties",
160 applies_to = Unknown,
161 animation_type = Unknown,
162 longhands = BorderBlockEndColor|BorderBlockEndStyle|BorderBlockEndWidth,
163 property_group = Borders,
164 computed_value_type = Unknown,
165 canonical_order = "per grammar",
166 box_side = BlockEnd,
167 box_portion = Border,
168)]
169#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
170#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end"))]
171#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
172#[derive(csskit_derives::NodeWithMetadata)]
173pub struct BorderBlockEndStyleValue<'a>;
174
175#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
185#[derive(
186 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
187)]
188#[declaration_metadata(
189 initial = "none",
190 applies_to = Elements,
191 animation_type = ByComputedValue,
192 percentages = BorderEdge,
193 property_group = Borders,
194 computed_value_type = SpecifiedWithAbsoluteLengths,
195 canonical_order = "per grammar",
196 logical_property_group = BorderClip,
197 box_portion = Border,
198)]
199#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
200#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-clip"))]
201#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
202#[derive(csskit_derives::NodeWithMetadata)]
203pub struct BorderBlockEndClipStyleValue<'a>;
204
205#[syntax(" <color> | <image-1D> ")]
217#[derive(
218 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
219)]
220#[declaration_metadata(
221 initial = "currentcolor",
222 applies_to = Unknown,
223 animation_type = Unknown,
224 shorthand_group = BorderBlockEnd,
225 property_group = Borders,
226 computed_value_type = Unknown,
227 canonical_order = "per grammar",
228 logical_property_group = BorderColor,
229 box_portion = Border,
230)]
231#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
232#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-color"))]
233#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
234#[derive(csskit_derives::NodeWithMetadata)]
235pub enum BorderBlockEndColorStyleValue<'a> {}
236
237#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
247#[derive(
248 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
249)]
250#[declaration_metadata(
251 initial = "0",
252 applies_to = Elements,
253 animation_type = Unknown,
254 percentages = BorderBox,
255 property_group = Borders,
256 computed_value_type = Unknown,
257 canonical_order = "per grammar",
258 box_portion = Border,
259)]
260#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
261#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-radius"))]
262#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
263#[derive(csskit_derives::NodeWithMetadata)]
264pub struct BorderBlockEndRadiusStyleValue;
265
266#[syntax(" <line-style> ")]
278#[derive(
279 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
280)]
281#[declaration_metadata(
282 initial = "none",
283 applies_to = Unknown,
284 animation_type = Discrete,
285 shorthand_group = BorderBlockEnd,
286 property_group = Borders,
287 computed_value_type = Unknown,
288 canonical_order = "per grammar",
289 logical_property_group = BorderStyle,
290 box_portion = Border,
291)]
292#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
293#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-style"))]
294#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
295#[derive(csskit_derives::NodeWithMetadata)]
296pub struct BorderBlockEndStyleStyleValue;
297
298#[syntax(" <line-width> ")]
310#[derive(
311 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
312)]
313#[declaration_metadata(
314 initial = "medium",
315 applies_to = Unknown,
316 animation_type = ByComputedValue,
317 shorthand_group = BorderBlockEnd,
318 property_group = Borders,
319 computed_value_type = AbsoluteLength,
320 canonical_order = "per grammar",
321 logical_property_group = BorderWidth,
322 box_portion = Border,
323)]
324#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
325#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-end-width"))]
326#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
327#[derive(csskit_derives::NodeWithMetadata)]
328pub struct BorderBlockEndWidthStyleValue;
329
330#[syntax(" <line-width> || <line-style> || <color> ")]
342#[derive(
343 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
344)]
345#[declaration_metadata(
346 initial = "See individual properties",
347 applies_to = Unknown,
348 animation_type = Unknown,
349 longhands = BorderBlockStartColor|BorderBlockStartStyle|BorderBlockStartWidth,
350 property_group = Borders,
351 computed_value_type = Unknown,
352 canonical_order = "per grammar",
353 box_side = BlockStart,
354 box_portion = Border,
355)]
356#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
357#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start"))]
358#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
359#[derive(csskit_derives::NodeWithMetadata)]
360pub struct BorderBlockStartStyleValue<'a>;
361
362#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
372#[derive(
373 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
374)]
375#[declaration_metadata(
376 initial = "none",
377 applies_to = Elements,
378 animation_type = ByComputedValue,
379 percentages = BorderEdge,
380 property_group = Borders,
381 computed_value_type = SpecifiedWithAbsoluteLengths,
382 canonical_order = "per grammar",
383 logical_property_group = BorderClip,
384 box_portion = Border,
385)]
386#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
387#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-clip"))]
388#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
389#[derive(csskit_derives::NodeWithMetadata)]
390pub struct BorderBlockStartClipStyleValue<'a>;
391
392#[syntax(" <color> | <image-1D> ")]
404#[derive(
405 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
406)]
407#[declaration_metadata(
408 initial = "currentcolor",
409 applies_to = Unknown,
410 animation_type = Unknown,
411 shorthand_group = BorderBlockStart,
412 property_group = Borders,
413 computed_value_type = Unknown,
414 canonical_order = "per grammar",
415 logical_property_group = BorderColor,
416 box_portion = Border,
417)]
418#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
419#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-color"))]
420#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
421#[derive(csskit_derives::NodeWithMetadata)]
422pub enum BorderBlockStartColorStyleValue<'a> {}
423
424#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
434#[derive(
435 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
436)]
437#[declaration_metadata(
438 initial = "0",
439 applies_to = Elements,
440 animation_type = Unknown,
441 percentages = BorderBox,
442 property_group = Borders,
443 computed_value_type = Unknown,
444 canonical_order = "per grammar",
445 box_portion = Border,
446)]
447#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
448#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-radius"))]
449#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
450#[derive(csskit_derives::NodeWithMetadata)]
451pub struct BorderBlockStartRadiusStyleValue;
452
453#[syntax(" <line-style> ")]
465#[derive(
466 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
467)]
468#[declaration_metadata(
469 initial = "none",
470 applies_to = Unknown,
471 animation_type = Discrete,
472 shorthand_group = BorderBlockStart,
473 property_group = Borders,
474 computed_value_type = Unknown,
475 canonical_order = "per grammar",
476 logical_property_group = BorderStyle,
477 box_portion = Border,
478)]
479#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
480#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-style"))]
481#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
482#[derive(csskit_derives::NodeWithMetadata)]
483pub struct BorderBlockStartStyleStyleValue;
484
485#[syntax(" <line-width> ")]
497#[derive(
498 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
499)]
500#[declaration_metadata(
501 initial = "medium",
502 applies_to = Unknown,
503 animation_type = ByComputedValue,
504 shorthand_group = BorderBlockStart,
505 property_group = Borders,
506 computed_value_type = AbsoluteLength,
507 canonical_order = "per grammar",
508 logical_property_group = BorderWidth,
509 box_portion = Border,
510)]
511#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
512#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-start-width"))]
513#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
514#[derive(csskit_derives::NodeWithMetadata)]
515pub struct BorderBlockStartWidthStyleValue;
516
517#[syntax(" <'border-top-style'>{1,2} ")]
529#[derive(
530 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
531)]
532#[declaration_metadata(
533 initial = "see individual properties",
534 inherits = Unknown,
535 applies_to = Unknown,
536 animation_type = Unknown,
537 percentages = Unknown,
538 shorthand_group = BorderBlock,
539 property_group = Borders,
540 computed_value_type = Unknown,
541 canonical_order = "per grammar",
542 box_side = BlockStart|BlockEnd,
543 box_portion = Border,
544)]
545#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
546#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-style"))]
547#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
548#[derive(csskit_derives::NodeWithMetadata)]
549pub struct BorderBlockStyleStyleValue;
550
551#[syntax(" <'border-top-width'>{1,2} ")]
563#[derive(
564 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
565)]
566#[declaration_metadata(
567 initial = "see individual properties",
568 inherits = Unknown,
569 applies_to = Unknown,
570 animation_type = Unknown,
571 percentages = Unknown,
572 shorthand_group = BorderBlock,
573 property_group = Borders,
574 computed_value_type = Unknown,
575 canonical_order = "per grammar",
576 box_side = BlockStart|BlockEnd,
577 box_portion = Border,
578)]
579#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
580#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-block-width"))]
581#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
582#[derive(csskit_derives::NodeWithMetadata)]
583pub struct BorderBlockWidthStyleValue;
584
585#[syntax(" <line-width> || <line-style> || <color> ")]
597#[derive(
598 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
599)]
600#[declaration_metadata(
601 initial = "See individual properties",
602 applies_to = Unknown,
603 animation_type = Unknown,
604 longhands = BorderBottomColor|BorderBottomStyle|BorderBottomWidth,
605 property_group = Borders,
606 computed_value_type = Unknown,
607 canonical_order = "per grammar",
608 box_side = Bottom,
609 box_portion = Border,
610)]
611#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
612#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom"))]
613#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
614#[derive(csskit_derives::NodeWithMetadata)]
615pub struct BorderBottomStyleValue<'a>;
616
617#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
627#[derive(
628 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
629)]
630#[declaration_metadata(
631 initial = "none",
632 applies_to = Elements,
633 animation_type = ByComputedValue,
634 percentages = BorderEdge,
635 property_group = Borders,
636 computed_value_type = SpecifiedWithAbsoluteLengths,
637 canonical_order = "per grammar",
638 logical_property_group = BorderClip,
639 box_portion = Border,
640)]
641#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
642#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-clip"))]
643#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
644#[derive(csskit_derives::NodeWithMetadata)]
645pub struct BorderBottomClipStyleValue<'a>;
646
647#[syntax(" <color> | <image-1D> ")]
659#[derive(
660 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
661)]
662#[declaration_metadata(
663 initial = "currentcolor",
664 applies_to = Unknown,
665 animation_type = Unknown,
666 shorthand_group = Border,
667 property_group = Borders,
668 computed_value_type = Unknown,
669 canonical_order = "per grammar",
670 logical_property_group = BorderColor,
671 box_portion = Border,
672)]
673#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
674#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-color"))]
675#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
676#[derive(csskit_derives::NodeWithMetadata)]
677pub enum BorderBottomColorStyleValue<'a> {}
678
679#[syntax(" <border-radius> ")]
691#[derive(
692 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
693)]
694#[declaration_metadata(
695 initial = "0",
696 applies_to = Elements,
697 animation_type = ByComputedValue,
698 percentages = BorderBox,
699 shorthand_group = BorderRadius,
700 property_group = Borders,
701 computed_value_type = Unknown,
702 canonical_order = "per grammar",
703 logical_property_group = BorderRadius,
704 box_side = Bottom|Left,
705 box_portion = Border,
706)]
707#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
708#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-left-radius"))]
709#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
710#[derive(csskit_derives::NodeWithMetadata)]
711pub struct BorderBottomLeftRadiusStyleValue;
712
713#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
723#[derive(
724 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
725)]
726#[declaration_metadata(
727 initial = "0",
728 applies_to = Elements,
729 animation_type = Unknown,
730 percentages = BorderBox,
731 property_group = Borders,
732 computed_value_type = Unknown,
733 canonical_order = "per grammar",
734 box_portion = Border,
735)]
736#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
737#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-radius"))]
738#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
739#[derive(csskit_derives::NodeWithMetadata)]
740pub struct BorderBottomRadiusStyleValue;
741
742#[syntax(" <border-radius> ")]
754#[derive(
755 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
756)]
757#[declaration_metadata(
758 initial = "0",
759 applies_to = Elements,
760 animation_type = ByComputedValue,
761 percentages = BorderBox,
762 shorthand_group = BorderRadius,
763 property_group = Borders,
764 computed_value_type = Unknown,
765 canonical_order = "per grammar",
766 logical_property_group = BorderRadius,
767 box_side = Bottom|Right,
768 box_portion = Border,
769)]
770#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
771#[cfg_attr(
772 feature = "css_feature_data",
773 derive(ToCSSFeature),
774 css_feature("css.properties.border-bottom-right-radius")
775)]
776#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
777#[derive(csskit_derives::NodeWithMetadata)]
778pub struct BorderBottomRightRadiusStyleValue;
779
780#[syntax(" <line-style> ")]
792#[derive(
793 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
794)]
795#[declaration_metadata(
796 initial = "none",
797 applies_to = Unknown,
798 animation_type = Discrete,
799 shorthand_group = Border,
800 property_group = Borders,
801 computed_value_type = Unknown,
802 canonical_order = "per grammar",
803 logical_property_group = BorderStyle,
804 box_portion = Border,
805)]
806#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
807#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-style"))]
808#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
809#[derive(csskit_derives::NodeWithMetadata)]
810pub struct BorderBottomStyleStyleValue;
811
812#[syntax(" <line-width> ")]
824#[derive(
825 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
826)]
827#[declaration_metadata(
828 initial = "medium",
829 applies_to = Unknown,
830 animation_type = ByComputedValue,
831 shorthand_group = Border,
832 property_group = Borders,
833 computed_value_type = AbsoluteLength,
834 canonical_order = "per grammar",
835 logical_property_group = BorderWidth,
836 box_portion = Border,
837)]
838#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
839#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-bottom-width"))]
840#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
841#[derive(csskit_derives::NodeWithMetadata)]
842pub struct BorderBottomWidthStyleValue;
843
844#[syntax(" <'border-top-clip'> ")]
854#[derive(
855 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
856)]
857#[declaration_metadata(
858 initial = "see individual properties",
859 inherits = Unknown,
860 applies_to = Unknown,
861 animation_type = Unknown,
862 percentages = Unknown,
863 property_group = Borders,
864 computed_value_type = Unknown,
865 canonical_order = "per grammar",
866 box_portion = Border,
867)]
868#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
869#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-clip"))]
870#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
871#[derive(csskit_derives::NodeWithMetadata)]
872pub struct BorderClipStyleValue<'a>;
873
874#[syntax(" [ <color> | <image-1D> ]{1,4} ")]
886#[derive(
887 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
888)]
889#[declaration_metadata(
890 initial = "see individual properties",
891 inherits = Unknown,
892 applies_to = Unknown,
893 animation_type = Unknown,
894 percentages = Unknown,
895 shorthand_group = Border,
896 longhands = BorderBottomColor|BorderLeftColor|BorderRightColor|BorderTopColor,
897 property_group = Borders,
898 computed_value_type = Unknown,
899 canonical_order = "per grammar",
900 box_side = Top|Bottom|Left|Right,
901 box_portion = Border,
902)]
903#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
904#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-color"))]
905#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
906#[derive(csskit_derives::NodeWithMetadata)]
907pub struct BorderColorStyleValue<'a>;
908
909#[syntax(" <border-radius> ")]
921#[derive(
922 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
923)]
924#[declaration_metadata(
925 initial = "0",
926 applies_to = Elements,
927 animation_type = ByComputedValue,
928 percentages = BorderBox,
929 property_group = Borders,
930 computed_value_type = Unknown,
931 canonical_order = "per grammar",
932 logical_property_group = BorderRadius,
933 box_side = BlockEnd|InlineEnd,
934 box_portion = Border,
935)]
936#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
937#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-end-end-radius"))]
938#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
939#[derive(csskit_derives::NodeWithMetadata)]
940pub struct BorderEndEndRadiusStyleValue;
941
942#[syntax(" <border-radius> ")]
954#[derive(
955 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
956)]
957#[declaration_metadata(
958 initial = "0",
959 applies_to = Elements,
960 animation_type = ByComputedValue,
961 percentages = BorderBox,
962 property_group = Borders,
963 computed_value_type = Unknown,
964 canonical_order = "per grammar",
965 logical_property_group = BorderRadius,
966 box_side = BlockEnd|InlineStart,
967 box_portion = Border,
968)]
969#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
970#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-end-start-radius"))]
971#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
972#[derive(csskit_derives::NodeWithMetadata)]
973pub struct BorderEndStartRadiusStyleValue;
974
975#[syntax(" [ <length [0,∞]> | <number [0,∞]> ]{1,4} ")]
1036#[derive(
1037 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1038)]
1039#[declaration_metadata(
1040 initial = "0",
1041 applies_to = Unknown,
1042 animation_type = ByComputedValue,
1043 shorthand_group = BorderImage,
1044 property_group = Borders,
1045 computed_value_type = AbsoluteLength,
1046 canonical_order = "per grammar",
1047 box_portion = Border,
1048)]
1049#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1050#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-outset"))]
1051#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1052#[derive(csskit_derives::NodeWithMetadata)]
1053pub struct BorderImageOutsetStyleValue;
1054
1055#[syntax(" [ stretch | repeat | round | space ]{1,2} ")]
1067#[derive(
1068 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1069)]
1070#[declaration_metadata(
1071 initial = "stretch",
1072 applies_to = Unknown,
1073 animation_type = Discrete,
1074 shorthand_group = BorderImage,
1075 property_group = Borders,
1076 computed_value_type = Unknown,
1077 canonical_order = "per grammar",
1078 box_portion = Border,
1079)]
1080#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1081#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-repeat"))]
1082#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1083#[derive(csskit_derives::NodeWithMetadata)]
1084pub struct BorderImageRepeatStyleValue;
1085
1086#[syntax(" [<number [0,∞]> | <percentage [0,∞]>]{1,4} && fill? ")]
1098#[derive(
1099 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1100)]
1101#[declaration_metadata(
1102 initial = "100%",
1103 applies_to = Unknown,
1104 animation_type = ByComputedValue,
1105 percentages = BorderImageArea,
1106 shorthand_group = BorderImage,
1107 property_group = Borders,
1108 computed_value_type = Unknown,
1109 canonical_order = "per grammar",
1110 box_portion = Border,
1111)]
1112#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1113#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-slice"))]
1114#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1115#[derive(csskit_derives::NodeWithMetadata)]
1116pub struct BorderImageSliceStyleValue;
1117
1118#[syntax(" none | <image> ")]
1130#[derive(
1131 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1132)]
1133#[declaration_metadata(
1134 initial = "none",
1135 applies_to = Unknown,
1136 animation_type = Discrete,
1137 shorthand_group = BorderImage,
1138 property_group = Borders,
1139 computed_value_type = Unknown,
1140 canonical_order = "per grammar",
1141 box_portion = Border,
1142)]
1143#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1144#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-source"))]
1145#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1146#[derive(csskit_derives::NodeWithMetadata)]
1147pub struct BorderImageSourceStyleValue<'a>;
1148
1149#[syntax(" [ <length-percentage [0,∞]> | <number [0,∞]> | auto ]{1,4} ")]
1161#[derive(
1162 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1163)]
1164#[declaration_metadata(
1165 initial = "1",
1166 applies_to = Unknown,
1167 animation_type = ByComputedValue,
1168 percentages = BorderImageArea,
1169 shorthand_group = BorderImage,
1170 property_group = Borders,
1171 computed_value_type = Unknown,
1172 canonical_order = "per grammar",
1173 box_portion = Border,
1174)]
1175#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1176#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-width"))]
1177#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1178#[derive(csskit_derives::NodeWithMetadata)]
1179pub struct BorderImageWidthStyleValue;
1180
1181#[syntax(" <'border-block-start'> ")]
1193#[derive(
1194 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1195)]
1196#[declaration_metadata(
1197 initial = "see individual properties",
1198 inherits = Unknown,
1199 applies_to = Unknown,
1200 animation_type = Unknown,
1201 percentages = Unknown,
1202 longhands = BorderInlineColor|BorderInlineStyle|BorderInlineWidth,
1203 property_group = Borders,
1204 computed_value_type = Unknown,
1205 canonical_order = "per grammar",
1206 box_side = InlineStart|InlineEnd,
1207 box_portion = Border,
1208)]
1209#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1210#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline"))]
1211#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1212#[derive(csskit_derives::NodeWithMetadata)]
1213pub struct BorderInlineStyleValue<'a>;
1214
1215#[syntax(" <'border-top-clip'> ")]
1225#[derive(
1226 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1227)]
1228#[declaration_metadata(
1229 initial = "see individual properties",
1230 inherits = Unknown,
1231 applies_to = Unknown,
1232 animation_type = Unknown,
1233 percentages = Unknown,
1234 property_group = Borders,
1235 computed_value_type = Unknown,
1236 canonical_order = "per grammar",
1237 box_side = InlineStart|InlineEnd,
1238 box_portion = Border,
1239)]
1240#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1241#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-clip"))]
1242#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1243#[derive(csskit_derives::NodeWithMetadata)]
1244pub struct BorderInlineClipStyleValue<'a>;
1245
1246#[syntax(" <'border-top-color'>{1,2} ")]
1258#[derive(
1259 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1260)]
1261#[declaration_metadata(
1262 initial = "see individual properties",
1263 inherits = Unknown,
1264 applies_to = Unknown,
1265 animation_type = Unknown,
1266 percentages = Unknown,
1267 shorthand_group = BorderInline,
1268 property_group = Borders,
1269 computed_value_type = Unknown,
1270 canonical_order = "per grammar",
1271 box_side = InlineStart|InlineEnd,
1272 box_portion = Border,
1273)]
1274#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1275#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-color"))]
1276#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1277#[derive(csskit_derives::NodeWithMetadata)]
1278pub struct BorderInlineColorStyleValue<'a>;
1279
1280#[syntax(" <line-width> || <line-style> || <color> ")]
1292#[derive(
1293 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1294)]
1295#[declaration_metadata(
1296 initial = "See individual properties",
1297 applies_to = Unknown,
1298 animation_type = Unknown,
1299 longhands = BorderInlineEndColor|BorderInlineEndStyle|BorderInlineEndWidth,
1300 property_group = Borders,
1301 computed_value_type = Unknown,
1302 canonical_order = "per grammar",
1303 box_side = InlineEnd,
1304 box_portion = Border,
1305)]
1306#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1307#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end"))]
1308#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1309#[derive(csskit_derives::NodeWithMetadata)]
1310pub struct BorderInlineEndStyleValue<'a>;
1311
1312#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
1322#[derive(
1323 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1324)]
1325#[declaration_metadata(
1326 initial = "none",
1327 applies_to = Elements,
1328 animation_type = ByComputedValue,
1329 percentages = BorderEdge,
1330 property_group = Borders,
1331 computed_value_type = SpecifiedWithAbsoluteLengths,
1332 canonical_order = "per grammar",
1333 logical_property_group = BorderClip,
1334 box_portion = Border,
1335)]
1336#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1337#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-clip"))]
1338#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1339#[derive(csskit_derives::NodeWithMetadata)]
1340pub struct BorderInlineEndClipStyleValue<'a>;
1341
1342#[syntax(" <color> | <image-1D> ")]
1354#[derive(
1355 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1356)]
1357#[declaration_metadata(
1358 initial = "currentcolor",
1359 applies_to = Unknown,
1360 animation_type = Unknown,
1361 shorthand_group = BorderInlineEnd,
1362 property_group = Borders,
1363 computed_value_type = Unknown,
1364 canonical_order = "per grammar",
1365 logical_property_group = BorderColor,
1366 box_portion = Border,
1367)]
1368#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1369#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-color"))]
1370#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1371#[derive(csskit_derives::NodeWithMetadata)]
1372pub enum BorderInlineEndColorStyleValue<'a> {}
1373
1374#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1384#[derive(
1385 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1386)]
1387#[declaration_metadata(
1388 initial = "0",
1389 applies_to = Elements,
1390 animation_type = Unknown,
1391 percentages = BorderBox,
1392 property_group = Borders,
1393 computed_value_type = Unknown,
1394 canonical_order = "per grammar",
1395 box_portion = Border,
1396)]
1397#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1398#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-radius"))]
1399#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1400#[derive(csskit_derives::NodeWithMetadata)]
1401pub struct BorderInlineEndRadiusStyleValue;
1402
1403#[syntax(" <line-style> ")]
1415#[derive(
1416 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1417)]
1418#[declaration_metadata(
1419 initial = "none",
1420 applies_to = Unknown,
1421 animation_type = Discrete,
1422 shorthand_group = BorderInlineEnd,
1423 property_group = Borders,
1424 computed_value_type = Unknown,
1425 canonical_order = "per grammar",
1426 logical_property_group = BorderStyle,
1427 box_portion = Border,
1428)]
1429#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1430#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-style"))]
1431#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1432#[derive(csskit_derives::NodeWithMetadata)]
1433pub struct BorderInlineEndStyleStyleValue;
1434
1435#[syntax(" <line-width> ")]
1447#[derive(
1448 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1449)]
1450#[declaration_metadata(
1451 initial = "medium",
1452 applies_to = Unknown,
1453 animation_type = ByComputedValue,
1454 shorthand_group = BorderInlineEnd,
1455 property_group = Borders,
1456 computed_value_type = AbsoluteLength,
1457 canonical_order = "per grammar",
1458 logical_property_group = BorderWidth,
1459 box_portion = Border,
1460)]
1461#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1462#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-width"))]
1463#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1464#[derive(csskit_derives::NodeWithMetadata)]
1465pub struct BorderInlineEndWidthStyleValue;
1466
1467#[syntax(" <line-width> || <line-style> || <color> ")]
1479#[derive(
1480 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1481)]
1482#[declaration_metadata(
1483 initial = "See individual properties",
1484 applies_to = Unknown,
1485 animation_type = Unknown,
1486 longhands = BorderInlineStartColor|BorderInlineStartStyle|BorderInlineStartWidth,
1487 property_group = Borders,
1488 computed_value_type = Unknown,
1489 canonical_order = "per grammar",
1490 box_side = InlineStart,
1491 box_portion = Border,
1492)]
1493#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1494#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start"))]
1495#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1496#[derive(csskit_derives::NodeWithMetadata)]
1497pub struct BorderInlineStartStyleValue<'a>;
1498
1499#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
1509#[derive(
1510 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1511)]
1512#[declaration_metadata(
1513 initial = "none",
1514 applies_to = Elements,
1515 animation_type = ByComputedValue,
1516 percentages = BorderEdge,
1517 property_group = Borders,
1518 computed_value_type = SpecifiedWithAbsoluteLengths,
1519 canonical_order = "per grammar",
1520 logical_property_group = BorderClip,
1521 box_portion = Border,
1522)]
1523#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1524#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-clip"))]
1525#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1526#[derive(csskit_derives::NodeWithMetadata)]
1527pub struct BorderInlineStartClipStyleValue<'a>;
1528
1529#[syntax(" <color> | <image-1D> ")]
1541#[derive(
1542 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1543)]
1544#[declaration_metadata(
1545 initial = "currentcolor",
1546 applies_to = Unknown,
1547 animation_type = Unknown,
1548 shorthand_group = BorderInlineStart,
1549 property_group = Borders,
1550 computed_value_type = Unknown,
1551 canonical_order = "per grammar",
1552 logical_property_group = BorderColor,
1553 box_portion = Border,
1554)]
1555#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1556#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-color"))]
1557#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1558#[derive(csskit_derives::NodeWithMetadata)]
1559pub enum BorderInlineStartColorStyleValue<'a> {}
1560
1561#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1571#[derive(
1572 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1573)]
1574#[declaration_metadata(
1575 initial = "0",
1576 applies_to = Elements,
1577 animation_type = Unknown,
1578 percentages = BorderBox,
1579 property_group = Borders,
1580 computed_value_type = Unknown,
1581 canonical_order = "per grammar",
1582 box_portion = Border,
1583)]
1584#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1585#[cfg_attr(
1586 feature = "css_feature_data",
1587 derive(ToCSSFeature),
1588 css_feature("css.properties.border-inline-start-radius")
1589)]
1590#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1591#[derive(csskit_derives::NodeWithMetadata)]
1592pub struct BorderInlineStartRadiusStyleValue;
1593
1594#[syntax(" <line-style> ")]
1606#[derive(
1607 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1608)]
1609#[declaration_metadata(
1610 initial = "none",
1611 applies_to = Unknown,
1612 animation_type = Discrete,
1613 shorthand_group = BorderInlineStart,
1614 property_group = Borders,
1615 computed_value_type = Unknown,
1616 canonical_order = "per grammar",
1617 logical_property_group = BorderStyle,
1618 box_portion = Border,
1619)]
1620#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1621#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-style"))]
1622#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1623#[derive(csskit_derives::NodeWithMetadata)]
1624pub struct BorderInlineStartStyleStyleValue;
1625
1626#[syntax(" <line-width> ")]
1638#[derive(
1639 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1640)]
1641#[declaration_metadata(
1642 initial = "medium",
1643 applies_to = Unknown,
1644 animation_type = ByComputedValue,
1645 shorthand_group = BorderInlineStart,
1646 property_group = Borders,
1647 computed_value_type = AbsoluteLength,
1648 canonical_order = "per grammar",
1649 logical_property_group = BorderWidth,
1650 box_portion = Border,
1651)]
1652#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1653#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-width"))]
1654#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1655#[derive(csskit_derives::NodeWithMetadata)]
1656pub struct BorderInlineStartWidthStyleValue;
1657
1658#[syntax(" <'border-top-style'>{1,2} ")]
1670#[derive(
1671 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1672)]
1673#[declaration_metadata(
1674 initial = "see individual properties",
1675 inherits = Unknown,
1676 applies_to = Unknown,
1677 animation_type = Unknown,
1678 percentages = Unknown,
1679 shorthand_group = BorderInline,
1680 property_group = Borders,
1681 computed_value_type = Unknown,
1682 canonical_order = "per grammar",
1683 box_side = InlineStart|InlineEnd,
1684 box_portion = Border,
1685)]
1686#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1687#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-style"))]
1688#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1689#[derive(csskit_derives::NodeWithMetadata)]
1690pub struct BorderInlineStyleStyleValue;
1691
1692#[syntax(" <'border-top-width'>{1,2} ")]
1704#[derive(
1705 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1706)]
1707#[declaration_metadata(
1708 initial = "see individual properties",
1709 inherits = Unknown,
1710 applies_to = Unknown,
1711 animation_type = Unknown,
1712 percentages = Unknown,
1713 shorthand_group = BorderInline,
1714 property_group = Borders,
1715 computed_value_type = Unknown,
1716 canonical_order = "per grammar",
1717 box_side = InlineStart|InlineEnd,
1718 box_portion = Border,
1719)]
1720#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1721#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-width"))]
1722#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1723#[derive(csskit_derives::NodeWithMetadata)]
1724pub struct BorderInlineWidthStyleValue;
1725
1726#[syntax(" <line-width> || <line-style> || <color> ")]
1738#[derive(
1739 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1740)]
1741#[declaration_metadata(
1742 initial = "See individual properties",
1743 applies_to = Unknown,
1744 animation_type = Unknown,
1745 longhands = BorderLeftColor|BorderLeftStyle|BorderLeftWidth,
1746 property_group = Borders,
1747 computed_value_type = Unknown,
1748 canonical_order = "per grammar",
1749 box_side = Left,
1750 box_portion = Border,
1751)]
1752#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1753#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left"))]
1754#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1755#[derive(csskit_derives::NodeWithMetadata)]
1756pub struct BorderLeftStyleValue<'a>;
1757
1758#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
1768#[derive(
1769 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1770)]
1771#[declaration_metadata(
1772 initial = "none",
1773 applies_to = Elements,
1774 animation_type = ByComputedValue,
1775 percentages = BorderEdge,
1776 property_group = Borders,
1777 computed_value_type = SpecifiedWithAbsoluteLengths,
1778 canonical_order = "per grammar",
1779 logical_property_group = BorderClip,
1780 box_portion = Border,
1781)]
1782#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1783#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-clip"))]
1784#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1785#[derive(csskit_derives::NodeWithMetadata)]
1786pub struct BorderLeftClipStyleValue<'a>;
1787
1788#[syntax(" <color> | <image-1D> ")]
1800#[derive(
1801 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1802)]
1803#[declaration_metadata(
1804 initial = "currentcolor",
1805 applies_to = Unknown,
1806 animation_type = Unknown,
1807 shorthand_group = Border,
1808 property_group = Borders,
1809 computed_value_type = Unknown,
1810 canonical_order = "per grammar",
1811 logical_property_group = BorderColor,
1812 box_portion = Border,
1813)]
1814#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1815#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-color"))]
1816#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1817#[derive(csskit_derives::NodeWithMetadata)]
1818pub enum BorderLeftColorStyleValue<'a> {}
1819
1820#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1830#[derive(
1831 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1832)]
1833#[declaration_metadata(
1834 initial = "0",
1835 applies_to = Elements,
1836 animation_type = Unknown,
1837 percentages = BorderBox,
1838 property_group = Borders,
1839 computed_value_type = Unknown,
1840 canonical_order = "per grammar",
1841 box_portion = Border,
1842)]
1843#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1844#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-radius"))]
1845#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1846#[derive(csskit_derives::NodeWithMetadata)]
1847pub struct BorderLeftRadiusStyleValue;
1848
1849#[syntax(" <line-style> ")]
1861#[derive(
1862 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1863)]
1864#[declaration_metadata(
1865 initial = "none",
1866 applies_to = Unknown,
1867 animation_type = Discrete,
1868 shorthand_group = Border,
1869 property_group = Borders,
1870 computed_value_type = Unknown,
1871 canonical_order = "per grammar",
1872 logical_property_group = BorderStyle,
1873 box_portion = Border,
1874)]
1875#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1876#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-style"))]
1877#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1878#[derive(csskit_derives::NodeWithMetadata)]
1879pub struct BorderLeftStyleStyleValue;
1880
1881#[syntax(" <line-width> ")]
1893#[derive(
1894 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1895)]
1896#[declaration_metadata(
1897 initial = "medium",
1898 applies_to = Unknown,
1899 animation_type = ByComputedValue,
1900 shorthand_group = Border,
1901 property_group = Borders,
1902 computed_value_type = AbsoluteLength,
1903 canonical_order = "per grammar",
1904 logical_property_group = BorderWidth,
1905 box_portion = Border,
1906)]
1907#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1908#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-width"))]
1909#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1910#[derive(csskit_derives::NodeWithMetadata)]
1911pub struct BorderLeftWidthStyleValue;
1912
1913#[syntax(
1924 " all | [ sides | corners ] <length-percentage [0,∞]>? | [ top | right | bottom | left ] <length-percentage [0,∞]> "
1925)]
1926#[derive(
1927 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1928)]
1929#[declaration_metadata(
1930 initial = "all",
1931 applies_to = Unknown,
1932 animation_type = Discrete,
1933 percentages = BorderBox,
1934 property_group = Borders,
1935 computed_value_type = AsSpecified,
1936 canonical_order = "per grammar",
1937 box_portion = Border,
1938)]
1939#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1940#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-limit"))]
1941#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1942#[derive(csskit_derives::NodeWithMetadata)]
1943pub enum BorderLimitStyleValue {}
1944
1945#[syntax(" <length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]? ")]
1957#[derive(
1958 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1959)]
1960#[declaration_metadata(
1961 initial = "see individual properties",
1962 inherits = Unknown,
1963 applies_to = Unknown,
1964 animation_type = Unknown,
1965 percentages = Unknown,
1966 longhands = BorderBottomLeftRadius|BorderBottomRightRadius|BorderTopLeftRadius|BorderTopRightRadius,
1967 property_group = Borders,
1968 computed_value_type = Unknown,
1969 canonical_order = "per grammar",
1970 box_portion = Border,
1971)]
1972#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1973#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-radius"))]
1974#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1975#[derive(csskit_derives::NodeWithMetadata)]
1976pub struct BorderRadiusStyleValue;
1977
1978#[syntax(" <line-width> || <line-style> || <color> ")]
1990#[derive(
1991 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1992)]
1993#[declaration_metadata(
1994 initial = "See individual properties",
1995 applies_to = Unknown,
1996 animation_type = Unknown,
1997 longhands = BorderRightColor|BorderRightStyle|BorderRightWidth,
1998 property_group = Borders,
1999 computed_value_type = Unknown,
2000 canonical_order = "per grammar",
2001 box_side = Right,
2002 box_portion = Border,
2003)]
2004#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2005#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right"))]
2006#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2007#[derive(csskit_derives::NodeWithMetadata)]
2008pub struct BorderRightStyleValue<'a>;
2009
2010#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
2020#[derive(
2021 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2022)]
2023#[declaration_metadata(
2024 initial = "none",
2025 applies_to = Elements,
2026 animation_type = ByComputedValue,
2027 percentages = BorderEdge,
2028 property_group = Borders,
2029 computed_value_type = SpecifiedWithAbsoluteLengths,
2030 canonical_order = "per grammar",
2031 logical_property_group = BorderClip,
2032 box_portion = Border,
2033)]
2034#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2035#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-clip"))]
2036#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2037#[derive(csskit_derives::NodeWithMetadata)]
2038pub struct BorderRightClipStyleValue<'a>;
2039
2040#[syntax(" <color> | <image-1D> ")]
2052#[derive(
2053 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2054)]
2055#[declaration_metadata(
2056 initial = "currentcolor",
2057 applies_to = Unknown,
2058 animation_type = Unknown,
2059 shorthand_group = Border,
2060 property_group = Borders,
2061 computed_value_type = Unknown,
2062 canonical_order = "per grammar",
2063 logical_property_group = BorderColor,
2064 box_portion = Border,
2065)]
2066#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2067#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-color"))]
2068#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2069#[derive(csskit_derives::NodeWithMetadata)]
2070pub enum BorderRightColorStyleValue<'a> {}
2071
2072#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
2082#[derive(
2083 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2084)]
2085#[declaration_metadata(
2086 initial = "0",
2087 applies_to = Elements,
2088 animation_type = Unknown,
2089 percentages = BorderBox,
2090 property_group = Borders,
2091 computed_value_type = Unknown,
2092 canonical_order = "per grammar",
2093 box_portion = Border,
2094)]
2095#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2096#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-radius"))]
2097#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2098#[derive(csskit_derives::NodeWithMetadata)]
2099pub struct BorderRightRadiusStyleValue;
2100
2101#[syntax(" <line-style> ")]
2113#[derive(
2114 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2115)]
2116#[declaration_metadata(
2117 initial = "none",
2118 applies_to = Unknown,
2119 animation_type = Discrete,
2120 shorthand_group = Border,
2121 property_group = Borders,
2122 computed_value_type = Unknown,
2123 canonical_order = "per grammar",
2124 logical_property_group = BorderStyle,
2125 box_portion = Border,
2126)]
2127#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2128#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-style"))]
2129#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2130#[derive(csskit_derives::NodeWithMetadata)]
2131pub struct BorderRightStyleStyleValue;
2132
2133#[syntax(" <line-width> ")]
2145#[derive(
2146 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2147)]
2148#[declaration_metadata(
2149 initial = "medium",
2150 applies_to = Unknown,
2151 animation_type = ByComputedValue,
2152 shorthand_group = Border,
2153 property_group = Borders,
2154 computed_value_type = AbsoluteLength,
2155 canonical_order = "per grammar",
2156 logical_property_group = BorderWidth,
2157 box_portion = Border,
2158)]
2159#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2160#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-width"))]
2161#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2162#[derive(csskit_derives::NodeWithMetadata)]
2163pub struct BorderRightWidthStyleValue;
2164
2165#[syntax(" none | [ <basic-shape> <geometry-box>?]{1,2} ")]
2177#[derive(
2178 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2179)]
2180#[declaration_metadata(
2181 initial = "none",
2182 applies_to = Elements,
2183 animation_type = ByComputedValue,
2184 percentages = Unknown,
2185 property_group = Borders,
2186 computed_value_type = Unknown,
2187 canonical_order = "per grammar",
2188 box_portion = Border,
2189)]
2190#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2191#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-shape"))]
2192#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2193#[derive(csskit_derives::NodeWithMetadata)]
2194pub struct BorderShapeStyleValue;
2195
2196#[syntax(" <border-radius> ")]
2208#[derive(
2209 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2210)]
2211#[declaration_metadata(
2212 initial = "0",
2213 applies_to = Elements,
2214 animation_type = ByComputedValue,
2215 percentages = BorderBox,
2216 property_group = Borders,
2217 computed_value_type = Unknown,
2218 canonical_order = "per grammar",
2219 logical_property_group = BorderRadius,
2220 box_side = BlockStart|InlineEnd,
2221 box_portion = Border,
2222)]
2223#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2224#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-start-end-radius"))]
2225#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2226#[derive(csskit_derives::NodeWithMetadata)]
2227pub struct BorderStartEndRadiusStyleValue;
2228
2229#[syntax(" <border-radius> ")]
2241#[derive(
2242 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2243)]
2244#[declaration_metadata(
2245 initial = "0",
2246 applies_to = Elements,
2247 animation_type = ByComputedValue,
2248 percentages = BorderBox,
2249 property_group = Borders,
2250 computed_value_type = Unknown,
2251 canonical_order = "per grammar",
2252 logical_property_group = BorderRadius,
2253 box_side = BlockStart|InlineStart,
2254 box_portion = Border,
2255)]
2256#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2257#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-start-start-radius"))]
2258#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2259#[derive(csskit_derives::NodeWithMetadata)]
2260pub struct BorderStartStartRadiusStyleValue;
2261
2262#[syntax(" <'border-top-style'>{1,4} ")]
2274#[derive(
2275 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2276)]
2277#[declaration_metadata(
2278 initial = "see individual properties",
2279 inherits = Unknown,
2280 applies_to = Unknown,
2281 animation_type = Unknown,
2282 percentages = Unknown,
2283 shorthand_group = Border,
2284 longhands = BorderBottomStyle|BorderLeftStyle|BorderRightStyle|BorderTopStyle,
2285 property_group = Borders,
2286 computed_value_type = Unknown,
2287 canonical_order = "per grammar",
2288 box_side = Top|Bottom|Left|Right,
2289 box_portion = Border,
2290)]
2291#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2292#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-style"))]
2293#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2294#[derive(csskit_derives::NodeWithMetadata)]
2295pub struct BorderStyleStyleValue;
2296
2297#[syntax(" <line-width> || <line-style> || <color> ")]
2309#[derive(
2310 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2311)]
2312#[declaration_metadata(
2313 initial = "See individual properties",
2314 applies_to = Unknown,
2315 animation_type = Unknown,
2316 longhands = BorderTopColor|BorderTopStyle|BorderTopWidth,
2317 property_group = Borders,
2318 computed_value_type = Unknown,
2319 canonical_order = "per grammar",
2320 box_side = Top,
2321 box_portion = Border,
2322)]
2323#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2324#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top"))]
2325#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2326#[derive(csskit_derives::NodeWithMetadata)]
2327pub struct BorderTopStyleValue<'a>;
2328
2329#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
2339#[derive(
2340 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2341)]
2342#[declaration_metadata(
2343 initial = "none",
2344 applies_to = Elements,
2345 animation_type = ByComputedValue,
2346 percentages = BorderEdge,
2347 property_group = Borders,
2348 computed_value_type = SpecifiedWithAbsoluteLengths,
2349 canonical_order = "per grammar",
2350 logical_property_group = BorderClip,
2351 box_portion = Border,
2352)]
2353#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2354#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-clip"))]
2355#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2356#[derive(csskit_derives::NodeWithMetadata)]
2357pub struct BorderTopClipStyleValue<'a>;
2358
2359#[syntax(" <color> | <image-1D> ")]
2371#[derive(
2372 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2373)]
2374#[declaration_metadata(
2375 initial = "currentcolor",
2376 applies_to = Unknown,
2377 animation_type = Unknown,
2378 shorthand_group = Border,
2379 property_group = Borders,
2380 computed_value_type = Unknown,
2381 canonical_order = "per grammar",
2382 logical_property_group = BorderColor,
2383 box_portion = Border,
2384)]
2385#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2386#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-color"))]
2387#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2388#[derive(csskit_derives::NodeWithMetadata)]
2389pub enum BorderTopColorStyleValue<'a> {}
2390
2391#[syntax(" <border-radius> ")]
2403#[derive(
2404 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2405)]
2406#[declaration_metadata(
2407 initial = "0",
2408 applies_to = Elements,
2409 animation_type = ByComputedValue,
2410 percentages = BorderBox,
2411 shorthand_group = BorderRadius,
2412 property_group = Borders,
2413 computed_value_type = Unknown,
2414 canonical_order = "per grammar",
2415 logical_property_group = BorderRadius,
2416 box_side = Top|Left,
2417 box_portion = Border,
2418)]
2419#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2420#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-left-radius"))]
2421#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2422#[derive(csskit_derives::NodeWithMetadata)]
2423pub struct BorderTopLeftRadiusStyleValue;
2424
2425#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
2435#[derive(
2436 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2437)]
2438#[declaration_metadata(
2439 initial = "0",
2440 applies_to = Elements,
2441 animation_type = Unknown,
2442 percentages = BorderBox,
2443 property_group = Borders,
2444 computed_value_type = Unknown,
2445 canonical_order = "per grammar",
2446 box_portion = Border,
2447)]
2448#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2449#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-radius"))]
2450#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2451#[derive(csskit_derives::NodeWithMetadata)]
2452pub struct BorderTopRadiusStyleValue;
2453
2454#[syntax(" <border-radius> ")]
2466#[derive(
2467 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2468)]
2469#[declaration_metadata(
2470 initial = "0",
2471 applies_to = Elements,
2472 animation_type = ByComputedValue,
2473 percentages = BorderBox,
2474 shorthand_group = BorderRadius,
2475 property_group = Borders,
2476 computed_value_type = Unknown,
2477 canonical_order = "per grammar",
2478 logical_property_group = BorderRadius,
2479 box_side = Top|Right,
2480 box_portion = Border,
2481)]
2482#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2483#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-right-radius"))]
2484#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2485#[derive(csskit_derives::NodeWithMetadata)]
2486pub struct BorderTopRightRadiusStyleValue;
2487
2488#[syntax(" <line-style> ")]
2500#[derive(
2501 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2502)]
2503#[declaration_metadata(
2504 initial = "none",
2505 applies_to = Unknown,
2506 animation_type = Discrete,
2507 shorthand_group = Border,
2508 property_group = Borders,
2509 computed_value_type = Unknown,
2510 canonical_order = "per grammar",
2511 logical_property_group = BorderStyle,
2512 box_portion = Border,
2513)]
2514#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2515#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-style"))]
2516#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2517#[derive(csskit_derives::NodeWithMetadata)]
2518pub struct BorderTopStyleStyleValue;
2519
2520#[syntax(" <line-width> ")]
2532#[derive(
2533 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2534)]
2535#[declaration_metadata(
2536 initial = "medium",
2537 applies_to = Unknown,
2538 animation_type = ByComputedValue,
2539 shorthand_group = Border,
2540 property_group = Borders,
2541 computed_value_type = AbsoluteLength,
2542 canonical_order = "per grammar",
2543 logical_property_group = BorderWidth,
2544 box_portion = Border,
2545)]
2546#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2547#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-width"))]
2548#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2549#[derive(csskit_derives::NodeWithMetadata)]
2550pub struct BorderTopWidthStyleValue;
2551
2552#[syntax(" <'border-top-width'>{1,4} ")]
2564#[derive(
2565 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2566)]
2567#[declaration_metadata(
2568 initial = "see individual properties",
2569 inherits = Unknown,
2570 applies_to = Unknown,
2571 animation_type = Unknown,
2572 percentages = Unknown,
2573 shorthand_group = Border,
2574 longhands = BorderBottomWidth|BorderLeftWidth|BorderRightWidth|BorderTopWidth,
2575 property_group = Borders,
2576 computed_value_type = Unknown,
2577 canonical_order = "per grammar",
2578 box_side = Top|Bottom|Left|Right,
2579 box_portion = Border,
2580)]
2581#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2582#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-width"))]
2583#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2584#[derive(csskit_derives::NodeWithMetadata)]
2585pub struct BorderWidthStyleValue;
2586
2587#[syntax(" <spread-shadow># ")]
2599#[derive(
2600 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2601)]
2602#[declaration_metadata(
2603 initial = "none",
2604 applies_to = Elements,
2605 animation_type = Unknown,
2606 property_group = Borders,
2607 computed_value_type = Unknown,
2608 canonical_order = "per grammar",
2609)]
2610#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2611#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow"))]
2612#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2613#[derive(csskit_derives::NodeWithMetadata)]
2614pub struct BoxShadowStyleValue<'a>;
2615
2616#[syntax(" <length [0,∞]># ")]
2626#[derive(
2627 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2628)]
2629#[declaration_metadata(
2630 initial = "0",
2631 applies_to = Elements,
2632 animation_type = ByComputedValue,
2633 property_group = Borders,
2634 computed_value_type = Unknown,
2635 canonical_order = "per grammar",
2636)]
2637#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2638#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-blur"))]
2639#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2640#[derive(csskit_derives::NodeWithMetadata)]
2641pub struct BoxShadowBlurStyleValue<'a>;
2642
2643#[syntax(" <color># ")]
2653#[derive(
2654 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2655)]
2656#[declaration_metadata(
2657 initial = "currentcolor",
2658 applies_to = Elements,
2659 animation_type = ByComputedValue,
2660 property_group = Borders,
2661 computed_value_type = Unknown,
2662 canonical_order = "per grammar",
2663)]
2664#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2665#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-color"))]
2666#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2667#[derive(csskit_derives::NodeWithMetadata)]
2668pub struct BoxShadowColorStyleValue<'a>;
2669
2670#[syntax(" [ none | <length>{1,2} ]# ")]
2680#[derive(
2681 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2682)]
2683#[declaration_metadata(
2684 initial = "none",
2685 applies_to = Elements,
2686 animation_type = ByComputedValue,
2687 property_group = Borders,
2688 computed_value_type = Unknown,
2689 canonical_order = "per grammar",
2690)]
2691#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2692#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-offset"))]
2693#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2694#[derive(csskit_derives::NodeWithMetadata)]
2695pub struct BoxShadowOffsetStyleValue<'a>;
2696
2697#[syntax(" [ outset | inset ]# ")]
2707#[derive(
2708 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2709)]
2710#[declaration_metadata(
2711 initial = "outset",
2712 applies_to = Elements,
2713 animation_type = ByComputedValue,
2714 property_group = Borders,
2715 computed_value_type = Unknown,
2716 canonical_order = "per grammar",
2717)]
2718#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2719#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-position"))]
2720#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2721#[derive(csskit_derives::NodeWithMetadata)]
2722pub struct BoxShadowPositionStyleValue<'a>;
2723
2724#[syntax(" <length># ")]
2734#[derive(
2735 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2736)]
2737#[declaration_metadata(
2738 initial = "0",
2739 applies_to = Elements,
2740 animation_type = ByComputedValue,
2741 property_group = Borders,
2742 computed_value_type = Unknown,
2743 canonical_order = "per grammar",
2744)]
2745#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2746#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-spread"))]
2747#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2748#[derive(csskit_derives::NodeWithMetadata)]
2749pub struct BoxShadowSpreadStyleValue<'a>;
2750
2751#[syntax(" <'border-radius'> || <'corner-shape'> ")]
2761#[derive(
2762 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2763)]
2764#[declaration_metadata(
2765 initial = "0",
2766 applies_to = Elements,
2767 animation_type = Unknown,
2768 percentages = BorderBox,
2769 property_group = Borders,
2770 computed_value_type = Unknown,
2771 canonical_order = "per grammar",
2772)]
2773#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2774#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner"))]
2775#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2776#[derive(csskit_derives::NodeWithMetadata)]
2777pub struct CornerStyleValue;
2778
2779#[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
2789#[derive(
2790 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2791)]
2792#[declaration_metadata(
2793 initial = "0",
2794 applies_to = Elements,
2795 animation_type = Unknown,
2796 percentages = BorderBox,
2797 property_group = Borders,
2798 computed_value_type = Unknown,
2799 canonical_order = "per grammar",
2800 box_side = BlockEnd,
2801)]
2802#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2803#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-block-end"))]
2804#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2805#[derive(csskit_derives::NodeWithMetadata)]
2806pub struct CornerBlockEndStyleValue;
2807
2808#[syntax(" <'corner-top-left-shape'>{1,2} ")]
2820#[derive(
2821 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2822)]
2823#[declaration_metadata(
2824 initial = "see individual properties",
2825 inherits = Unknown,
2826 applies_to = Unknown,
2827 animation_type = Unknown,
2828 percentages = Unknown,
2829 property_group = Borders,
2830 computed_value_type = Unknown,
2831 canonical_order = "per grammar",
2832)]
2833#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2834#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-block-end-shape"))]
2835#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2836#[derive(csskit_derives::NodeWithMetadata)]
2837pub struct CornerBlockEndShapeStyleValue;
2838
2839#[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
2849#[derive(
2850 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2851)]
2852#[declaration_metadata(
2853 initial = "0",
2854 applies_to = Elements,
2855 animation_type = Unknown,
2856 percentages = BorderBox,
2857 property_group = Borders,
2858 computed_value_type = Unknown,
2859 canonical_order = "per grammar",
2860 box_side = BlockStart,
2861)]
2862#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2863#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-block-start"))]
2864#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2865#[derive(csskit_derives::NodeWithMetadata)]
2866pub struct CornerBlockStartStyleValue;
2867
2868#[syntax(" <'corner-top-left-shape'>{1,2} ")]
2880#[derive(
2881 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2882)]
2883#[declaration_metadata(
2884 initial = "see individual properties",
2885 inherits = Unknown,
2886 applies_to = Unknown,
2887 animation_type = Unknown,
2888 percentages = Unknown,
2889 property_group = Borders,
2890 computed_value_type = Unknown,
2891 canonical_order = "per grammar",
2892)]
2893#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2894#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-block-start-shape"))]
2895#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2896#[derive(csskit_derives::NodeWithMetadata)]
2897pub struct CornerBlockStartShapeStyleValue;
2898
2899#[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
2909#[derive(
2910 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2911)]
2912#[declaration_metadata(
2913 initial = "0",
2914 applies_to = Elements,
2915 animation_type = Unknown,
2916 percentages = BorderBox,
2917 property_group = Borders,
2918 computed_value_type = Unknown,
2919 canonical_order = "per grammar",
2920 box_side = Bottom,
2921)]
2922#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2923#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom"))]
2924#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2925#[derive(csskit_derives::NodeWithMetadata)]
2926pub struct CornerBottomStyleValue;
2927
2928#[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
2938#[derive(
2939 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2940)]
2941#[declaration_metadata(
2942 initial = "0",
2943 applies_to = Elements,
2944 animation_type = Unknown,
2945 percentages = BorderBox,
2946 property_group = Borders,
2947 computed_value_type = Unknown,
2948 canonical_order = "per grammar",
2949 box_side = Bottom|Left,
2950)]
2951#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2952#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-left"))]
2953#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2954#[derive(csskit_derives::NodeWithMetadata)]
2955pub struct CornerBottomLeftStyleValue;
2956
2957#[syntax(" <corner-shape-value> ")]
2969#[derive(
2970 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2971)]
2972#[declaration_metadata(
2973 initial = "round",
2974 applies_to = Unknown,
2975 animation_type = Unknown,
2976 property_group = Borders,
2977 computed_value_type = Unknown,
2978 canonical_order = "per grammar",
2979 logical_property_group = CornerShape,
2980 box_side = Bottom|Left,
2981)]
2982#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2983#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-left-shape"))]
2984#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2985#[derive(csskit_derives::NodeWithMetadata)]
2986pub struct CornerBottomLeftShapeStyleValue;
2987
2988#[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
2998#[derive(
2999 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3000)]
3001#[declaration_metadata(
3002 initial = "0",
3003 applies_to = Elements,
3004 animation_type = Unknown,
3005 percentages = BorderBox,
3006 property_group = Borders,
3007 computed_value_type = Unknown,
3008 canonical_order = "per grammar",
3009 box_side = Bottom|Right,
3010)]
3011#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3012#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-right"))]
3013#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3014#[derive(csskit_derives::NodeWithMetadata)]
3015pub struct CornerBottomRightStyleValue;
3016
3017#[syntax(" <corner-shape-value> ")]
3029#[derive(
3030 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3031)]
3032#[declaration_metadata(
3033 initial = "round",
3034 applies_to = Unknown,
3035 animation_type = Unknown,
3036 property_group = Borders,
3037 computed_value_type = Unknown,
3038 canonical_order = "per grammar",
3039 logical_property_group = CornerShape,
3040 box_side = Bottom|Right,
3041)]
3042#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3043#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-right-shape"))]
3044#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3045#[derive(csskit_derives::NodeWithMetadata)]
3046pub struct CornerBottomRightShapeStyleValue;
3047
3048#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3060#[derive(
3061 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3062)]
3063#[declaration_metadata(
3064 initial = "see individual properties",
3065 inherits = Unknown,
3066 applies_to = Unknown,
3067 animation_type = Unknown,
3068 percentages = Unknown,
3069 property_group = Borders,
3070 computed_value_type = Unknown,
3071 canonical_order = "per grammar",
3072)]
3073#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3074#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-shape"))]
3075#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3076#[derive(csskit_derives::NodeWithMetadata)]
3077pub struct CornerBottomShapeStyleValue;
3078
3079#[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
3089#[derive(
3090 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3091)]
3092#[declaration_metadata(
3093 initial = "0",
3094 applies_to = Elements,
3095 animation_type = Unknown,
3096 percentages = BorderBox,
3097 property_group = Borders,
3098 computed_value_type = Unknown,
3099 canonical_order = "per grammar",
3100 box_side = BlockEnd|InlineEnd,
3101)]
3102#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3103#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-end-end"))]
3104#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3105#[derive(csskit_derives::NodeWithMetadata)]
3106pub struct CornerEndEndStyleValue;
3107
3108#[syntax(" <corner-shape-value> ")]
3120#[derive(
3121 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3122)]
3123#[declaration_metadata(
3124 initial = "round",
3125 applies_to = Unknown,
3126 animation_type = Unknown,
3127 property_group = Borders,
3128 computed_value_type = Unknown,
3129 canonical_order = "per grammar",
3130 logical_property_group = CornerShape,
3131 box_side = BlockEnd|InlineEnd,
3132)]
3133#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3134#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-end-end-shape"))]
3135#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3136#[derive(csskit_derives::NodeWithMetadata)]
3137pub struct CornerEndEndShapeStyleValue;
3138
3139#[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
3149#[derive(
3150 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3151)]
3152#[declaration_metadata(
3153 initial = "0",
3154 applies_to = Elements,
3155 animation_type = Unknown,
3156 percentages = BorderBox,
3157 property_group = Borders,
3158 computed_value_type = Unknown,
3159 canonical_order = "per grammar",
3160 box_side = BlockEnd|InlineStart,
3161)]
3162#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3163#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-end-start"))]
3164#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3165#[derive(csskit_derives::NodeWithMetadata)]
3166pub struct CornerEndStartStyleValue;
3167
3168#[syntax(" <corner-shape-value> ")]
3180#[derive(
3181 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3182)]
3183#[declaration_metadata(
3184 initial = "round",
3185 applies_to = Unknown,
3186 animation_type = Unknown,
3187 property_group = Borders,
3188 computed_value_type = Unknown,
3189 canonical_order = "per grammar",
3190 logical_property_group = CornerShape,
3191 box_side = BlockEnd|InlineStart,
3192)]
3193#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3194#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-end-start-shape"))]
3195#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3196#[derive(csskit_derives::NodeWithMetadata)]
3197pub struct CornerEndStartShapeStyleValue;
3198
3199#[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
3209#[derive(
3210 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3211)]
3212#[declaration_metadata(
3213 initial = "0",
3214 applies_to = Elements,
3215 animation_type = Unknown,
3216 percentages = BorderBox,
3217 property_group = Borders,
3218 computed_value_type = Unknown,
3219 canonical_order = "per grammar",
3220 box_side = InlineEnd,
3221)]
3222#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3223#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-inline-end"))]
3224#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3225#[derive(csskit_derives::NodeWithMetadata)]
3226pub struct CornerInlineEndStyleValue;
3227
3228#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3240#[derive(
3241 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3242)]
3243#[declaration_metadata(
3244 initial = "see individual properties",
3245 inherits = Unknown,
3246 applies_to = Unknown,
3247 animation_type = Unknown,
3248 percentages = Unknown,
3249 property_group = Borders,
3250 computed_value_type = Unknown,
3251 canonical_order = "per grammar",
3252)]
3253#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3254#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-inline-end-shape"))]
3255#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3256#[derive(csskit_derives::NodeWithMetadata)]
3257pub struct CornerInlineEndShapeStyleValue;
3258
3259#[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
3269#[derive(
3270 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3271)]
3272#[declaration_metadata(
3273 initial = "0",
3274 applies_to = Elements,
3275 animation_type = Unknown,
3276 percentages = BorderBox,
3277 property_group = Borders,
3278 computed_value_type = Unknown,
3279 canonical_order = "per grammar",
3280 box_side = InlineStart,
3281)]
3282#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3283#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-inline-start"))]
3284#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3285#[derive(csskit_derives::NodeWithMetadata)]
3286pub struct CornerInlineStartStyleValue;
3287
3288#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3300#[derive(
3301 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3302)]
3303#[declaration_metadata(
3304 initial = "see individual properties",
3305 inherits = Unknown,
3306 applies_to = Unknown,
3307 animation_type = Unknown,
3308 percentages = Unknown,
3309 property_group = Borders,
3310 computed_value_type = Unknown,
3311 canonical_order = "per grammar",
3312)]
3313#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3314#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-inline-start-shape"))]
3315#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3316#[derive(csskit_derives::NodeWithMetadata)]
3317pub struct CornerInlineStartShapeStyleValue;
3318
3319#[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
3329#[derive(
3330 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3331)]
3332#[declaration_metadata(
3333 initial = "0",
3334 applies_to = Elements,
3335 animation_type = Unknown,
3336 percentages = BorderBox,
3337 property_group = Borders,
3338 computed_value_type = Unknown,
3339 canonical_order = "per grammar",
3340 box_side = Left,
3341)]
3342#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3343#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-left"))]
3344#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3345#[derive(csskit_derives::NodeWithMetadata)]
3346pub struct CornerLeftStyleValue;
3347
3348#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3360#[derive(
3361 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3362)]
3363#[declaration_metadata(
3364 initial = "see individual properties",
3365 inherits = Unknown,
3366 applies_to = Unknown,
3367 animation_type = Unknown,
3368 percentages = Unknown,
3369 property_group = Borders,
3370 computed_value_type = Unknown,
3371 canonical_order = "per grammar",
3372)]
3373#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3374#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-left-shape"))]
3375#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3376#[derive(csskit_derives::NodeWithMetadata)]
3377pub struct CornerLeftShapeStyleValue;
3378
3379#[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
3389#[derive(
3390 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3391)]
3392#[declaration_metadata(
3393 initial = "0",
3394 applies_to = Elements,
3395 animation_type = Unknown,
3396 percentages = BorderBox,
3397 property_group = Borders,
3398 computed_value_type = Unknown,
3399 canonical_order = "per grammar",
3400 box_side = Right,
3401)]
3402#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3403#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-right"))]
3404#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3405#[derive(csskit_derives::NodeWithMetadata)]
3406pub struct CornerRightStyleValue;
3407
3408#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3420#[derive(
3421 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3422)]
3423#[declaration_metadata(
3424 initial = "see individual properties",
3425 inherits = Unknown,
3426 applies_to = Unknown,
3427 animation_type = Unknown,
3428 percentages = Unknown,
3429 property_group = Borders,
3430 computed_value_type = Unknown,
3431 canonical_order = "per grammar",
3432)]
3433#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3434#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-right-shape"))]
3435#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3436#[derive(csskit_derives::NodeWithMetadata)]
3437pub struct CornerRightShapeStyleValue;
3438
3439#[syntax(" <'corner-top-left-shape'>{1,4} ")]
3451#[derive(
3452 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3453)]
3454#[declaration_metadata(
3455 initial = "round",
3456 applies_to = Unknown,
3457 animation_type = Unknown,
3458 percentages = Unknown,
3459 property_group = Borders,
3460 computed_value_type = Unknown,
3461 canonical_order = "per grammar",
3462)]
3463#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3464#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-shape"))]
3465#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3466#[derive(csskit_derives::NodeWithMetadata)]
3467pub struct CornerShapeStyleValue;
3468
3469#[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
3479#[derive(
3480 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3481)]
3482#[declaration_metadata(
3483 initial = "0",
3484 applies_to = Elements,
3485 animation_type = Unknown,
3486 percentages = BorderBox,
3487 property_group = Borders,
3488 computed_value_type = Unknown,
3489 canonical_order = "per grammar",
3490 box_side = BlockStart|InlineEnd,
3491)]
3492#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3493#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-start-end"))]
3494#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3495#[derive(csskit_derives::NodeWithMetadata)]
3496pub struct CornerStartEndStyleValue;
3497
3498#[syntax(" <corner-shape-value> ")]
3510#[derive(
3511 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3512)]
3513#[declaration_metadata(
3514 initial = "round",
3515 applies_to = Unknown,
3516 animation_type = Unknown,
3517 property_group = Borders,
3518 computed_value_type = Unknown,
3519 canonical_order = "per grammar",
3520 logical_property_group = CornerShape,
3521 box_side = BlockStart|InlineEnd,
3522)]
3523#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3524#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-start-end-shape"))]
3525#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3526#[derive(csskit_derives::NodeWithMetadata)]
3527pub struct CornerStartEndShapeStyleValue;
3528
3529#[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
3539#[derive(
3540 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3541)]
3542#[declaration_metadata(
3543 initial = "0",
3544 applies_to = Elements,
3545 animation_type = Unknown,
3546 percentages = BorderBox,
3547 property_group = Borders,
3548 computed_value_type = Unknown,
3549 canonical_order = "per grammar",
3550 box_side = BlockStart|InlineStart,
3551)]
3552#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3553#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-start-start"))]
3554#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3555#[derive(csskit_derives::NodeWithMetadata)]
3556pub struct CornerStartStartStyleValue;
3557
3558#[syntax(" <corner-shape-value> ")]
3570#[derive(
3571 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3572)]
3573#[declaration_metadata(
3574 initial = "round",
3575 applies_to = Unknown,
3576 animation_type = Unknown,
3577 property_group = Borders,
3578 computed_value_type = Unknown,
3579 canonical_order = "per grammar",
3580 logical_property_group = CornerShape,
3581 box_side = BlockStart|InlineStart,
3582)]
3583#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3584#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-start-start-shape"))]
3585#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3586#[derive(csskit_derives::NodeWithMetadata)]
3587pub struct CornerStartStartShapeStyleValue;
3588
3589#[syntax(" <'border-top-radius'> || <'corner-top-shape'> ")]
3599#[derive(
3600 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3601)]
3602#[declaration_metadata(
3603 initial = "0",
3604 applies_to = Elements,
3605 animation_type = Unknown,
3606 percentages = BorderBox,
3607 property_group = Borders,
3608 computed_value_type = Unknown,
3609 canonical_order = "per grammar",
3610 box_side = Top,
3611)]
3612#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3613#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top"))]
3614#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3615#[derive(csskit_derives::NodeWithMetadata)]
3616pub struct CornerTopStyleValue;
3617
3618#[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
3628#[derive(
3629 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3630)]
3631#[declaration_metadata(
3632 initial = "0",
3633 applies_to = Elements,
3634 animation_type = Unknown,
3635 percentages = BorderBox,
3636 property_group = Borders,
3637 computed_value_type = Unknown,
3638 canonical_order = "per grammar",
3639 box_side = Top|Left,
3640)]
3641#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3642#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-left"))]
3643#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3644#[derive(csskit_derives::NodeWithMetadata)]
3645pub struct CornerTopLeftStyleValue;
3646
3647#[syntax(" <corner-shape-value> ")]
3659#[derive(
3660 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3661)]
3662#[declaration_metadata(
3663 initial = "round",
3664 applies_to = Unknown,
3665 animation_type = Unknown,
3666 property_group = Borders,
3667 computed_value_type = Unknown,
3668 canonical_order = "per grammar",
3669 logical_property_group = CornerShape,
3670 box_side = Top|Left,
3671)]
3672#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3673#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-left-shape"))]
3674#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3675#[derive(csskit_derives::NodeWithMetadata)]
3676pub struct CornerTopLeftShapeStyleValue;
3677
3678#[syntax(" <'border-top-left-radius'> || <'corner-top-left-shape'> ")]
3688#[derive(
3689 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3690)]
3691#[declaration_metadata(
3692 initial = "0",
3693 applies_to = Elements,
3694 animation_type = Unknown,
3695 percentages = BorderBox,
3696 property_group = Borders,
3697 computed_value_type = Unknown,
3698 canonical_order = "per grammar",
3699 box_side = Top|Right,
3700)]
3701#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3702#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-right"))]
3703#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3704#[derive(csskit_derives::NodeWithMetadata)]
3705pub struct CornerTopRightStyleValue;
3706
3707#[syntax(" <corner-shape-value> ")]
3719#[derive(
3720 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3721)]
3722#[declaration_metadata(
3723 initial = "round",
3724 applies_to = Unknown,
3725 animation_type = Unknown,
3726 property_group = Borders,
3727 computed_value_type = Unknown,
3728 canonical_order = "per grammar",
3729 logical_property_group = CornerShape,
3730 box_side = Top|Right,
3731)]
3732#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3733#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-right-shape"))]
3734#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3735#[derive(csskit_derives::NodeWithMetadata)]
3736pub struct CornerTopRightShapeStyleValue;
3737
3738#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3750#[derive(
3751 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3752)]
3753#[declaration_metadata(
3754 initial = "see individual properties",
3755 inherits = Unknown,
3756 applies_to = Unknown,
3757 animation_type = Unknown,
3758 percentages = Unknown,
3759 property_group = Borders,
3760 computed_value_type = Unknown,
3761 canonical_order = "per grammar",
3762)]
3763#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3764#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-shape"))]
3765#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3766#[derive(csskit_derives::NodeWithMetadata)]
3767pub struct CornerTopShapeStyleValue;