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(" <border-radius> ")]
937#[derive(
938 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
939)]
940#[declaration_metadata(
941 initial = "0",
942 applies_to = Elements,
943 animation_type = ByComputedValue,
944 percentages = BorderBox,
945 property_group = Borders,
946 computed_value_type = Unknown,
947 canonical_order = "per grammar",
948 logical_property_group = BorderRadius,
949 box_side = BlockEnd|InlineEnd,
950 box_portion = Border,
951)]
952#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
953#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-end-end-radius"))]
954#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
955#[derive(csskit_derives::NodeWithMetadata)]
956pub struct BorderEndEndRadiusStyleValue;
957
958#[syntax(" <border-radius> ")]
970#[derive(
971 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
972)]
973#[declaration_metadata(
974 initial = "0",
975 applies_to = Elements,
976 animation_type = ByComputedValue,
977 percentages = BorderBox,
978 property_group = Borders,
979 computed_value_type = Unknown,
980 canonical_order = "per grammar",
981 logical_property_group = BorderRadius,
982 box_side = BlockEnd|InlineStart,
983 box_portion = Border,
984)]
985#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
986#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-end-start-radius"))]
987#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
988#[derive(csskit_derives::NodeWithMetadata)]
989pub struct BorderEndStartRadiusStyleValue;
990
991#[syntax(" [ <length [0,∞]> | <number [0,∞]> ]{1,4} ")]
1052#[derive(
1053 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1054)]
1055#[declaration_metadata(
1056 initial = "0",
1057 applies_to = Unknown,
1058 animation_type = ByComputedValue,
1059 shorthand_group = BorderImage,
1060 property_group = Borders,
1061 computed_value_type = AbsoluteLength,
1062 canonical_order = "per grammar",
1063 box_portion = Border,
1064)]
1065#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1066#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-outset"))]
1067#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1068#[derive(csskit_derives::NodeWithMetadata)]
1069pub struct BorderImageOutsetStyleValue;
1070
1071#[syntax(" [ stretch | repeat | round | space ]{1,2} ")]
1083#[derive(
1084 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1085)]
1086#[declaration_metadata(
1087 initial = "stretch",
1088 applies_to = Unknown,
1089 animation_type = Discrete,
1090 shorthand_group = BorderImage,
1091 property_group = Borders,
1092 computed_value_type = Unknown,
1093 canonical_order = "per grammar",
1094 box_portion = Border,
1095)]
1096#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1097#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-image-repeat"))]
1098#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1099#[derive(csskit_derives::NodeWithMetadata)]
1100pub struct BorderImageRepeatStyleValue;
1101
1102#[syntax(" none | <image> ")]
1162#[derive(
1163 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1164)]
1165#[declaration_metadata(
1166 initial = "none",
1167 applies_to = Unknown,
1168 animation_type = Discrete,
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-source"))]
1177#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1178#[derive(csskit_derives::NodeWithMetadata)]
1179pub struct BorderImageSourceStyleValue<'a>;
1180
1181#[syntax(" <'border-block-start'> ")]
1241#[derive(
1242 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1243)]
1244#[declaration_metadata(
1245 initial = "see individual properties",
1246 inherits = Unknown,
1247 applies_to = Unknown,
1248 animation_type = Unknown,
1249 percentages = Unknown,
1250 longhands = BorderInlineColor|BorderInlineStyle|BorderInlineWidth,
1251 property_group = Borders,
1252 computed_value_type = Unknown,
1253 canonical_order = "per grammar",
1254 box_side = InlineStart|InlineEnd,
1255 box_portion = Border,
1256)]
1257#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1258#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline"))]
1259#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1260#[derive(csskit_derives::NodeWithMetadata)]
1261pub struct BorderInlineStyleValue<'a>;
1262
1263#[syntax(" <'border-top-clip'> ")]
1273#[derive(
1274 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1275)]
1276#[declaration_metadata(
1277 initial = "see individual properties",
1278 inherits = Unknown,
1279 applies_to = Unknown,
1280 animation_type = Unknown,
1281 percentages = Unknown,
1282 property_group = Borders,
1283 computed_value_type = Unknown,
1284 canonical_order = "per grammar",
1285 box_side = InlineStart|InlineEnd,
1286 box_portion = Border,
1287)]
1288#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1289#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-clip"))]
1290#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1291#[derive(csskit_derives::NodeWithMetadata)]
1292pub struct BorderInlineClipStyleValue<'a>;
1293
1294#[syntax(" <'border-top-color'>{1,2} ")]
1306#[derive(
1307 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1308)]
1309#[declaration_metadata(
1310 initial = "see individual properties",
1311 inherits = Unknown,
1312 applies_to = Unknown,
1313 animation_type = Unknown,
1314 percentages = Unknown,
1315 shorthand_group = BorderInline,
1316 property_group = Borders,
1317 computed_value_type = Unknown,
1318 canonical_order = "per grammar",
1319 box_side = InlineStart|InlineEnd,
1320 box_portion = Border,
1321)]
1322#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1323#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-color"))]
1324#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1325#[derive(csskit_derives::NodeWithMetadata)]
1326pub struct BorderInlineColorStyleValue<'a>;
1327
1328#[syntax(" <line-width> || <line-style> || <color> ")]
1340#[derive(
1341 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1342)]
1343#[declaration_metadata(
1344 initial = "See individual properties",
1345 applies_to = Unknown,
1346 animation_type = Unknown,
1347 longhands = BorderInlineEndColor|BorderInlineEndStyle|BorderInlineEndWidth,
1348 property_group = Borders,
1349 computed_value_type = Unknown,
1350 canonical_order = "per grammar",
1351 box_side = InlineEnd,
1352 box_portion = Border,
1353)]
1354#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1355#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end"))]
1356#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1357#[derive(csskit_derives::NodeWithMetadata)]
1358pub struct BorderInlineEndStyleValue<'a>;
1359
1360#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
1370#[derive(
1371 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1372)]
1373#[declaration_metadata(
1374 initial = "none",
1375 applies_to = Elements,
1376 animation_type = ByComputedValue,
1377 percentages = BorderEdge,
1378 property_group = Borders,
1379 computed_value_type = SpecifiedWithAbsoluteLengths,
1380 canonical_order = "per grammar",
1381 logical_property_group = BorderClip,
1382 box_portion = Border,
1383)]
1384#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1385#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-clip"))]
1386#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1387#[derive(csskit_derives::NodeWithMetadata)]
1388pub struct BorderInlineEndClipStyleValue<'a>;
1389
1390#[syntax(" <color> | <image-1D> ")]
1402#[derive(
1403 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1404)]
1405#[declaration_metadata(
1406 initial = "currentcolor",
1407 applies_to = Unknown,
1408 animation_type = Unknown,
1409 shorthand_group = BorderInlineEnd,
1410 property_group = Borders,
1411 computed_value_type = Unknown,
1412 canonical_order = "per grammar",
1413 logical_property_group = BorderColor,
1414 box_portion = Border,
1415)]
1416#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1417#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-color"))]
1418#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1419#[derive(csskit_derives::NodeWithMetadata)]
1420pub enum BorderInlineEndColorStyleValue<'a> {}
1421
1422#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1432#[derive(
1433 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1434)]
1435#[declaration_metadata(
1436 initial = "0",
1437 applies_to = Elements,
1438 animation_type = Unknown,
1439 percentages = BorderBox,
1440 property_group = Borders,
1441 computed_value_type = Unknown,
1442 canonical_order = "per grammar",
1443 box_portion = Border,
1444)]
1445#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1446#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-radius"))]
1447#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1448#[derive(csskit_derives::NodeWithMetadata)]
1449pub struct BorderInlineEndRadiusStyleValue;
1450
1451#[syntax(" <line-style> ")]
1463#[derive(
1464 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1465)]
1466#[declaration_metadata(
1467 initial = "none",
1468 applies_to = Unknown,
1469 animation_type = Discrete,
1470 shorthand_group = BorderInlineEnd,
1471 property_group = Borders,
1472 computed_value_type = Unknown,
1473 canonical_order = "per grammar",
1474 logical_property_group = BorderStyle,
1475 box_portion = Border,
1476)]
1477#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1478#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-style"))]
1479#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1480#[derive(csskit_derives::NodeWithMetadata)]
1481pub struct BorderInlineEndStyleStyleValue;
1482
1483#[syntax(" <line-width> ")]
1495#[derive(
1496 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1497)]
1498#[declaration_metadata(
1499 initial = "medium",
1500 applies_to = Unknown,
1501 animation_type = ByComputedValue,
1502 shorthand_group = BorderInlineEnd,
1503 property_group = Borders,
1504 computed_value_type = AbsoluteLength,
1505 canonical_order = "per grammar",
1506 logical_property_group = BorderWidth,
1507 box_portion = Border,
1508)]
1509#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1510#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-end-width"))]
1511#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1512#[derive(csskit_derives::NodeWithMetadata)]
1513pub struct BorderInlineEndWidthStyleValue;
1514
1515#[syntax(" <line-width> || <line-style> || <color> ")]
1527#[derive(
1528 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1529)]
1530#[declaration_metadata(
1531 initial = "See individual properties",
1532 applies_to = Unknown,
1533 animation_type = Unknown,
1534 longhands = BorderInlineStartColor|BorderInlineStartStyle|BorderInlineStartWidth,
1535 property_group = Borders,
1536 computed_value_type = Unknown,
1537 canonical_order = "per grammar",
1538 box_side = InlineStart,
1539 box_portion = Border,
1540)]
1541#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1542#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start"))]
1543#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1544#[derive(csskit_derives::NodeWithMetadata)]
1545pub struct BorderInlineStartStyleValue<'a>;
1546
1547#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
1557#[derive(
1558 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1559)]
1560#[declaration_metadata(
1561 initial = "none",
1562 applies_to = Elements,
1563 animation_type = ByComputedValue,
1564 percentages = BorderEdge,
1565 property_group = Borders,
1566 computed_value_type = SpecifiedWithAbsoluteLengths,
1567 canonical_order = "per grammar",
1568 logical_property_group = BorderClip,
1569 box_portion = Border,
1570)]
1571#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1572#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-clip"))]
1573#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1574#[derive(csskit_derives::NodeWithMetadata)]
1575pub struct BorderInlineStartClipStyleValue<'a>;
1576
1577#[syntax(" <color> | <image-1D> ")]
1589#[derive(
1590 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1591)]
1592#[declaration_metadata(
1593 initial = "currentcolor",
1594 applies_to = Unknown,
1595 animation_type = Unknown,
1596 shorthand_group = BorderInlineStart,
1597 property_group = Borders,
1598 computed_value_type = Unknown,
1599 canonical_order = "per grammar",
1600 logical_property_group = BorderColor,
1601 box_portion = Border,
1602)]
1603#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1604#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-color"))]
1605#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1606#[derive(csskit_derives::NodeWithMetadata)]
1607pub enum BorderInlineStartColorStyleValue<'a> {}
1608
1609#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1619#[derive(
1620 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1621)]
1622#[declaration_metadata(
1623 initial = "0",
1624 applies_to = Elements,
1625 animation_type = Unknown,
1626 percentages = BorderBox,
1627 property_group = Borders,
1628 computed_value_type = Unknown,
1629 canonical_order = "per grammar",
1630 box_portion = Border,
1631)]
1632#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1633#[cfg_attr(
1634 feature = "css_feature_data",
1635 derive(ToCSSFeature),
1636 css_feature("css.properties.border-inline-start-radius")
1637)]
1638#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1639#[derive(csskit_derives::NodeWithMetadata)]
1640pub struct BorderInlineStartRadiusStyleValue;
1641
1642#[syntax(" <line-style> ")]
1654#[derive(
1655 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1656)]
1657#[declaration_metadata(
1658 initial = "none",
1659 applies_to = Unknown,
1660 animation_type = Discrete,
1661 shorthand_group = BorderInlineStart,
1662 property_group = Borders,
1663 computed_value_type = Unknown,
1664 canonical_order = "per grammar",
1665 logical_property_group = BorderStyle,
1666 box_portion = Border,
1667)]
1668#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1669#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-style"))]
1670#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1671#[derive(csskit_derives::NodeWithMetadata)]
1672pub struct BorderInlineStartStyleStyleValue;
1673
1674#[syntax(" <line-width> ")]
1686#[derive(
1687 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1688)]
1689#[declaration_metadata(
1690 initial = "medium",
1691 applies_to = Unknown,
1692 animation_type = ByComputedValue,
1693 shorthand_group = BorderInlineStart,
1694 property_group = Borders,
1695 computed_value_type = AbsoluteLength,
1696 canonical_order = "per grammar",
1697 logical_property_group = BorderWidth,
1698 box_portion = Border,
1699)]
1700#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1701#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-start-width"))]
1702#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1703#[derive(csskit_derives::NodeWithMetadata)]
1704pub struct BorderInlineStartWidthStyleValue;
1705
1706#[syntax(" <'border-top-style'>{1,2} ")]
1718#[derive(
1719 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1720)]
1721#[declaration_metadata(
1722 initial = "see individual properties",
1723 inherits = Unknown,
1724 applies_to = Unknown,
1725 animation_type = Unknown,
1726 percentages = Unknown,
1727 shorthand_group = BorderInline,
1728 property_group = Borders,
1729 computed_value_type = Unknown,
1730 canonical_order = "per grammar",
1731 box_side = InlineStart|InlineEnd,
1732 box_portion = Border,
1733)]
1734#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1735#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-style"))]
1736#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1737#[derive(csskit_derives::NodeWithMetadata)]
1738pub struct BorderInlineStyleStyleValue;
1739
1740#[syntax(" <'border-top-width'>{1,2} ")]
1752#[derive(
1753 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1754)]
1755#[declaration_metadata(
1756 initial = "see individual properties",
1757 inherits = Unknown,
1758 applies_to = Unknown,
1759 animation_type = Unknown,
1760 percentages = Unknown,
1761 shorthand_group = BorderInline,
1762 property_group = Borders,
1763 computed_value_type = Unknown,
1764 canonical_order = "per grammar",
1765 box_side = InlineStart|InlineEnd,
1766 box_portion = Border,
1767)]
1768#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1769#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-inline-width"))]
1770#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1771#[derive(csskit_derives::NodeWithMetadata)]
1772pub struct BorderInlineWidthStyleValue;
1773
1774#[syntax(" <line-width> || <line-style> || <color> ")]
1786#[derive(
1787 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1788)]
1789#[declaration_metadata(
1790 initial = "See individual properties",
1791 applies_to = Unknown,
1792 animation_type = Unknown,
1793 longhands = BorderLeftColor|BorderLeftStyle|BorderLeftWidth,
1794 property_group = Borders,
1795 computed_value_type = Unknown,
1796 canonical_order = "per grammar",
1797 box_side = Left,
1798 box_portion = Border,
1799)]
1800#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1801#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left"))]
1802#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1803#[derive(csskit_derives::NodeWithMetadata)]
1804pub struct BorderLeftStyleValue<'a>;
1805
1806#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
1816#[derive(
1817 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1818)]
1819#[declaration_metadata(
1820 initial = "none",
1821 applies_to = Elements,
1822 animation_type = ByComputedValue,
1823 percentages = BorderEdge,
1824 property_group = Borders,
1825 computed_value_type = SpecifiedWithAbsoluteLengths,
1826 canonical_order = "per grammar",
1827 logical_property_group = BorderClip,
1828 box_portion = Border,
1829)]
1830#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1831#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-clip"))]
1832#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1833#[derive(csskit_derives::NodeWithMetadata)]
1834pub struct BorderLeftClipStyleValue<'a>;
1835
1836#[syntax(" <color> | <image-1D> ")]
1848#[derive(
1849 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1850)]
1851#[declaration_metadata(
1852 initial = "currentcolor",
1853 applies_to = Unknown,
1854 animation_type = Unknown,
1855 shorthand_group = Border,
1856 property_group = Borders,
1857 computed_value_type = Unknown,
1858 canonical_order = "per grammar",
1859 logical_property_group = BorderColor,
1860 box_portion = Border,
1861)]
1862#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1863#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-color"))]
1864#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1865#[derive(csskit_derives::NodeWithMetadata)]
1866pub enum BorderLeftColorStyleValue<'a> {}
1867
1868#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
1878#[derive(
1879 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1880)]
1881#[declaration_metadata(
1882 initial = "0",
1883 applies_to = Elements,
1884 animation_type = Unknown,
1885 percentages = BorderBox,
1886 property_group = Borders,
1887 computed_value_type = Unknown,
1888 canonical_order = "per grammar",
1889 box_portion = Border,
1890)]
1891#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1892#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-radius"))]
1893#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1894#[derive(csskit_derives::NodeWithMetadata)]
1895pub struct BorderLeftRadiusStyleValue;
1896
1897#[syntax(" <line-style> ")]
1909#[derive(
1910 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1911)]
1912#[declaration_metadata(
1913 initial = "none",
1914 applies_to = Unknown,
1915 animation_type = Discrete,
1916 shorthand_group = Border,
1917 property_group = Borders,
1918 computed_value_type = Unknown,
1919 canonical_order = "per grammar",
1920 logical_property_group = BorderStyle,
1921 box_portion = Border,
1922)]
1923#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1924#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-style"))]
1925#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1926#[derive(csskit_derives::NodeWithMetadata)]
1927pub struct BorderLeftStyleStyleValue;
1928
1929#[syntax(" <line-width> ")]
1941#[derive(
1942 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1943)]
1944#[declaration_metadata(
1945 initial = "medium",
1946 applies_to = Unknown,
1947 animation_type = ByComputedValue,
1948 shorthand_group = Border,
1949 property_group = Borders,
1950 computed_value_type = AbsoluteLength,
1951 canonical_order = "per grammar",
1952 logical_property_group = BorderWidth,
1953 box_portion = Border,
1954)]
1955#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1956#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-left-width"))]
1957#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1958#[derive(csskit_derives::NodeWithMetadata)]
1959pub struct BorderLeftWidthStyleValue;
1960
1961#[syntax(
1972 " all | [ sides | corners ] <length-percentage [0,∞]>? | [ top | right | bottom | left ] <length-percentage [0,∞]> "
1973)]
1974#[derive(
1975 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
1976)]
1977#[declaration_metadata(
1978 initial = "all",
1979 applies_to = Unknown,
1980 animation_type = Discrete,
1981 percentages = BorderBox,
1982 property_group = Borders,
1983 computed_value_type = AsSpecified,
1984 canonical_order = "per grammar",
1985 box_portion = Border,
1986)]
1987#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
1988#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-limit"))]
1989#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
1990#[derive(csskit_derives::NodeWithMetadata)]
1991pub enum BorderLimitStyleValue {}
1992
1993#[syntax(" <length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]? ")]
2005#[derive(
2006 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2007)]
2008#[declaration_metadata(
2009 initial = "see individual properties",
2010 inherits = Unknown,
2011 applies_to = Unknown,
2012 animation_type = Unknown,
2013 percentages = Unknown,
2014 longhands = BorderBottomLeftRadius|BorderBottomRightRadius|BorderTopLeftRadius|BorderTopRightRadius,
2015 property_group = Borders,
2016 computed_value_type = Unknown,
2017 canonical_order = "per grammar",
2018 box_portion = Border,
2019)]
2020#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2021#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-radius"))]
2022#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2023#[derive(csskit_derives::NodeWithMetadata)]
2024pub struct BorderRadiusStyleValue;
2025
2026#[syntax(" <line-width> || <line-style> || <color> ")]
2038#[derive(
2039 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2040)]
2041#[declaration_metadata(
2042 initial = "See individual properties",
2043 applies_to = Unknown,
2044 animation_type = Unknown,
2045 longhands = BorderRightColor|BorderRightStyle|BorderRightWidth,
2046 property_group = Borders,
2047 computed_value_type = Unknown,
2048 canonical_order = "per grammar",
2049 box_side = Right,
2050 box_portion = Border,
2051)]
2052#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2053#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right"))]
2054#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2055#[derive(csskit_derives::NodeWithMetadata)]
2056pub struct BorderRightStyleValue<'a>;
2057
2058#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
2068#[derive(
2069 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2070)]
2071#[declaration_metadata(
2072 initial = "none",
2073 applies_to = Elements,
2074 animation_type = ByComputedValue,
2075 percentages = BorderEdge,
2076 property_group = Borders,
2077 computed_value_type = SpecifiedWithAbsoluteLengths,
2078 canonical_order = "per grammar",
2079 logical_property_group = BorderClip,
2080 box_portion = Border,
2081)]
2082#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2083#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-clip"))]
2084#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2085#[derive(csskit_derives::NodeWithMetadata)]
2086pub struct BorderRightClipStyleValue<'a>;
2087
2088#[syntax(" <color> | <image-1D> ")]
2100#[derive(
2101 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2102)]
2103#[declaration_metadata(
2104 initial = "currentcolor",
2105 applies_to = Unknown,
2106 animation_type = Unknown,
2107 shorthand_group = Border,
2108 property_group = Borders,
2109 computed_value_type = Unknown,
2110 canonical_order = "per grammar",
2111 logical_property_group = BorderColor,
2112 box_portion = Border,
2113)]
2114#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2115#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-color"))]
2116#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2117#[derive(csskit_derives::NodeWithMetadata)]
2118pub enum BorderRightColorStyleValue<'a> {}
2119
2120#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
2130#[derive(
2131 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2132)]
2133#[declaration_metadata(
2134 initial = "0",
2135 applies_to = Elements,
2136 animation_type = Unknown,
2137 percentages = BorderBox,
2138 property_group = Borders,
2139 computed_value_type = Unknown,
2140 canonical_order = "per grammar",
2141 box_portion = Border,
2142)]
2143#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2144#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-radius"))]
2145#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2146#[derive(csskit_derives::NodeWithMetadata)]
2147pub struct BorderRightRadiusStyleValue;
2148
2149#[syntax(" <line-style> ")]
2161#[derive(
2162 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2163)]
2164#[declaration_metadata(
2165 initial = "none",
2166 applies_to = Unknown,
2167 animation_type = Discrete,
2168 shorthand_group = Border,
2169 property_group = Borders,
2170 computed_value_type = Unknown,
2171 canonical_order = "per grammar",
2172 logical_property_group = BorderStyle,
2173 box_portion = Border,
2174)]
2175#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2176#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-style"))]
2177#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2178#[derive(csskit_derives::NodeWithMetadata)]
2179pub struct BorderRightStyleStyleValue;
2180
2181#[syntax(" <line-width> ")]
2193#[derive(
2194 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2195)]
2196#[declaration_metadata(
2197 initial = "medium",
2198 applies_to = Unknown,
2199 animation_type = ByComputedValue,
2200 shorthand_group = Border,
2201 property_group = Borders,
2202 computed_value_type = AbsoluteLength,
2203 canonical_order = "per grammar",
2204 logical_property_group = BorderWidth,
2205 box_portion = Border,
2206)]
2207#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2208#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-right-width"))]
2209#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2210#[derive(csskit_derives::NodeWithMetadata)]
2211pub struct BorderRightWidthStyleValue;
2212
2213#[syntax(" <border-radius> ")]
2272#[derive(
2273 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2274)]
2275#[declaration_metadata(
2276 initial = "0",
2277 applies_to = Elements,
2278 animation_type = ByComputedValue,
2279 percentages = BorderBox,
2280 property_group = Borders,
2281 computed_value_type = Unknown,
2282 canonical_order = "per grammar",
2283 logical_property_group = BorderRadius,
2284 box_side = BlockStart|InlineEnd,
2285 box_portion = Border,
2286)]
2287#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2288#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-start-end-radius"))]
2289#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2290#[derive(csskit_derives::NodeWithMetadata)]
2291pub struct BorderStartEndRadiusStyleValue;
2292
2293#[syntax(" <border-radius> ")]
2305#[derive(
2306 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2307)]
2308#[declaration_metadata(
2309 initial = "0",
2310 applies_to = Elements,
2311 animation_type = ByComputedValue,
2312 percentages = BorderBox,
2313 property_group = Borders,
2314 computed_value_type = Unknown,
2315 canonical_order = "per grammar",
2316 logical_property_group = BorderRadius,
2317 box_side = BlockStart|InlineStart,
2318 box_portion = Border,
2319)]
2320#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2321#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-start-start-radius"))]
2322#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2323#[derive(csskit_derives::NodeWithMetadata)]
2324pub struct BorderStartStartRadiusStyleValue;
2325
2326#[syntax(" <'border-top-style'>{1,4} ")]
2338#[derive(
2339 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2340)]
2341#[declaration_metadata(
2342 initial = "see individual properties",
2343 inherits = Unknown,
2344 applies_to = Unknown,
2345 animation_type = Unknown,
2346 percentages = Unknown,
2347 shorthand_group = Border,
2348 longhands = BorderBottomStyle|BorderLeftStyle|BorderRightStyle|BorderTopStyle,
2349 property_group = Borders,
2350 computed_value_type = Unknown,
2351 canonical_order = "per grammar",
2352 box_side = Top|Bottom|Left|Right,
2353 box_portion = Border,
2354)]
2355#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2356#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-style"))]
2357#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2358#[derive(csskit_derives::NodeWithMetadata)]
2359pub struct BorderStyleStyleValue;
2360
2361#[syntax(" <line-width> || <line-style> || <color> ")]
2373#[derive(
2374 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2375)]
2376#[declaration_metadata(
2377 initial = "See individual properties",
2378 applies_to = Unknown,
2379 animation_type = Unknown,
2380 longhands = BorderTopColor|BorderTopStyle|BorderTopWidth,
2381 property_group = Borders,
2382 computed_value_type = Unknown,
2383 canonical_order = "per grammar",
2384 box_side = Top,
2385 box_portion = Border,
2386)]
2387#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2388#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top"))]
2389#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2390#[derive(csskit_derives::NodeWithMetadata)]
2391pub struct BorderTopStyleValue<'a>;
2392
2393#[syntax(" none | [ <length-percentage [0,∞]> | <flex> ]+ ")]
2403#[derive(
2404 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2405)]
2406#[declaration_metadata(
2407 initial = "none",
2408 applies_to = Elements,
2409 animation_type = ByComputedValue,
2410 percentages = BorderEdge,
2411 property_group = Borders,
2412 computed_value_type = SpecifiedWithAbsoluteLengths,
2413 canonical_order = "per grammar",
2414 logical_property_group = BorderClip,
2415 box_portion = Border,
2416)]
2417#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2418#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-clip"))]
2419#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2420#[derive(csskit_derives::NodeWithMetadata)]
2421pub struct BorderTopClipStyleValue<'a>;
2422
2423#[syntax(" <color> | <image-1D> ")]
2435#[derive(
2436 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2437)]
2438#[declaration_metadata(
2439 initial = "currentcolor",
2440 applies_to = Unknown,
2441 animation_type = Unknown,
2442 shorthand_group = Border,
2443 property_group = Borders,
2444 computed_value_type = Unknown,
2445 canonical_order = "per grammar",
2446 logical_property_group = BorderColor,
2447 box_portion = Border,
2448)]
2449#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2450#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-color"))]
2451#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2452#[derive(csskit_derives::NodeWithMetadata)]
2453pub enum BorderTopColorStyleValue<'a> {}
2454
2455#[syntax(" <border-radius> ")]
2467#[derive(
2468 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2469)]
2470#[declaration_metadata(
2471 initial = "0",
2472 applies_to = Elements,
2473 animation_type = ByComputedValue,
2474 percentages = BorderBox,
2475 shorthand_group = BorderRadius,
2476 property_group = Borders,
2477 computed_value_type = Unknown,
2478 canonical_order = "per grammar",
2479 logical_property_group = BorderRadius,
2480 box_side = Top|Left,
2481 box_portion = Border,
2482)]
2483#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2484#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-left-radius"))]
2485#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2486#[derive(csskit_derives::NodeWithMetadata)]
2487pub struct BorderTopLeftRadiusStyleValue;
2488
2489#[syntax(" <length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]? ")]
2499#[derive(
2500 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2501)]
2502#[declaration_metadata(
2503 initial = "0",
2504 applies_to = Elements,
2505 animation_type = Unknown,
2506 percentages = BorderBox,
2507 property_group = Borders,
2508 computed_value_type = Unknown,
2509 canonical_order = "per grammar",
2510 box_portion = Border,
2511)]
2512#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2513#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-radius"))]
2514#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2515#[derive(csskit_derives::NodeWithMetadata)]
2516pub struct BorderTopRadiusStyleValue;
2517
2518#[syntax(" <border-radius> ")]
2530#[derive(
2531 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2532)]
2533#[declaration_metadata(
2534 initial = "0",
2535 applies_to = Elements,
2536 animation_type = ByComputedValue,
2537 percentages = BorderBox,
2538 shorthand_group = BorderRadius,
2539 property_group = Borders,
2540 computed_value_type = Unknown,
2541 canonical_order = "per grammar",
2542 logical_property_group = BorderRadius,
2543 box_side = Top|Right,
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-right-radius"))]
2548#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2549#[derive(csskit_derives::NodeWithMetadata)]
2550pub struct BorderTopRightRadiusStyleValue;
2551
2552#[syntax(" <line-style> ")]
2564#[derive(
2565 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2566)]
2567#[declaration_metadata(
2568 initial = "none",
2569 applies_to = Unknown,
2570 animation_type = Discrete,
2571 shorthand_group = Border,
2572 property_group = Borders,
2573 computed_value_type = Unknown,
2574 canonical_order = "per grammar",
2575 logical_property_group = BorderStyle,
2576 box_portion = Border,
2577)]
2578#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2579#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-style"))]
2580#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2581#[derive(csskit_derives::NodeWithMetadata)]
2582pub struct BorderTopStyleStyleValue;
2583
2584#[syntax(" <line-width> ")]
2596#[derive(
2597 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2598)]
2599#[declaration_metadata(
2600 initial = "medium",
2601 applies_to = Unknown,
2602 animation_type = ByComputedValue,
2603 shorthand_group = Border,
2604 property_group = Borders,
2605 computed_value_type = AbsoluteLength,
2606 canonical_order = "per grammar",
2607 logical_property_group = BorderWidth,
2608 box_portion = Border,
2609)]
2610#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2611#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-top-width"))]
2612#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2613#[derive(csskit_derives::NodeWithMetadata)]
2614pub struct BorderTopWidthStyleValue;
2615
2616#[syntax(" <'border-top-width'>{1,4} ")]
2628#[derive(
2629 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2630)]
2631#[declaration_metadata(
2632 initial = "see individual properties",
2633 inherits = Unknown,
2634 applies_to = Unknown,
2635 animation_type = Unknown,
2636 percentages = Unknown,
2637 shorthand_group = Border,
2638 longhands = BorderBottomWidth|BorderLeftWidth|BorderRightWidth|BorderTopWidth,
2639 property_group = Borders,
2640 computed_value_type = Unknown,
2641 canonical_order = "per grammar",
2642 box_side = Top|Bottom|Left|Right,
2643 box_portion = Border,
2644)]
2645#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2646#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.border-width"))]
2647#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2648#[derive(csskit_derives::NodeWithMetadata)]
2649pub struct BorderWidthStyleValue;
2650
2651#[syntax(" <spread-shadow># ")]
2663#[derive(
2664 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2665)]
2666#[declaration_metadata(
2667 initial = "none",
2668 applies_to = Elements,
2669 animation_type = Unknown,
2670 property_group = Borders,
2671 computed_value_type = Unknown,
2672 canonical_order = "per grammar",
2673)]
2674#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2675#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow"))]
2676#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2677#[derive(csskit_derives::NodeWithMetadata)]
2678pub struct BoxShadowStyleValue<'a>;
2679
2680#[syntax(" <length [0,∞]># ")]
2690#[derive(
2691 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2692)]
2693#[declaration_metadata(
2694 initial = "0",
2695 applies_to = Elements,
2696 animation_type = ByComputedValue,
2697 property_group = Borders,
2698 computed_value_type = Unknown,
2699 canonical_order = "per grammar",
2700)]
2701#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2702#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-blur"))]
2703#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2704#[derive(csskit_derives::NodeWithMetadata)]
2705pub struct BoxShadowBlurStyleValue<'a>;
2706
2707#[syntax(" <color># ")]
2717#[derive(
2718 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2719)]
2720#[declaration_metadata(
2721 initial = "currentcolor",
2722 applies_to = Elements,
2723 animation_type = ByComputedValue,
2724 property_group = Borders,
2725 computed_value_type = Unknown,
2726 canonical_order = "per grammar",
2727)]
2728#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2729#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-color"))]
2730#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2731#[derive(csskit_derives::NodeWithMetadata)]
2732pub struct BoxShadowColorStyleValue<'a>;
2733
2734#[syntax(" [ none | <length>{1,2} ]# ")]
2744#[derive(
2745 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2746)]
2747#[declaration_metadata(
2748 initial = "none",
2749 applies_to = Elements,
2750 animation_type = ByComputedValue,
2751 property_group = Borders,
2752 computed_value_type = Unknown,
2753 canonical_order = "per grammar",
2754)]
2755#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2756#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-offset"))]
2757#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2758#[derive(csskit_derives::NodeWithMetadata)]
2759pub struct BoxShadowOffsetStyleValue<'a>;
2760
2761#[syntax(" [ outset | inset ]# ")]
2771#[derive(
2772 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2773)]
2774#[declaration_metadata(
2775 initial = "outset",
2776 applies_to = Elements,
2777 animation_type = ByComputedValue,
2778 property_group = Borders,
2779 computed_value_type = Unknown,
2780 canonical_order = "per grammar",
2781)]
2782#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2783#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-position"))]
2784#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2785#[derive(csskit_derives::NodeWithMetadata)]
2786pub struct BoxShadowPositionStyleValue<'a>;
2787
2788#[syntax(" <length># ")]
2798#[derive(
2799 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2800)]
2801#[declaration_metadata(
2802 initial = "0",
2803 applies_to = Elements,
2804 animation_type = ByComputedValue,
2805 property_group = Borders,
2806 computed_value_type = Unknown,
2807 canonical_order = "per grammar",
2808)]
2809#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2810#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.box-shadow-spread"))]
2811#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2812#[derive(csskit_derives::NodeWithMetadata)]
2813pub struct BoxShadowSpreadStyleValue<'a>;
2814
2815#[syntax(" <'corner-top-left-shape'>{1,2} ")]
2916#[derive(
2917 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2918)]
2919#[declaration_metadata(
2920 initial = "see individual properties",
2921 inherits = Unknown,
2922 applies_to = Unknown,
2923 animation_type = Unknown,
2924 percentages = Unknown,
2925 property_group = Borders,
2926 computed_value_type = Unknown,
2927 canonical_order = "per grammar",
2928)]
2929#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
2930#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-block-end-shape"))]
2931#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
2932#[derive(csskit_derives::NodeWithMetadata)]
2933pub struct CornerBlockEndShapeStyleValue;
2934
2935#[syntax(" <'corner-top-left-shape'>{1,2} ")]
2992#[derive(
2993 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
2994)]
2995#[declaration_metadata(
2996 initial = "see individual properties",
2997 inherits = Unknown,
2998 applies_to = Unknown,
2999 animation_type = Unknown,
3000 percentages = Unknown,
3001 property_group = Borders,
3002 computed_value_type = Unknown,
3003 canonical_order = "per grammar",
3004)]
3005#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3006#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-block-start-shape"))]
3007#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3008#[derive(csskit_derives::NodeWithMetadata)]
3009pub struct CornerBlockStartShapeStyleValue;
3010
3011#[syntax(" <corner-shape-value> ")]
3113#[derive(
3114 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3115)]
3116#[declaration_metadata(
3117 initial = "round",
3118 applies_to = Unknown,
3119 animation_type = Unknown,
3120 property_group = Borders,
3121 computed_value_type = Unknown,
3122 canonical_order = "per grammar",
3123 logical_property_group = CornerShape,
3124 box_side = Bottom|Left,
3125)]
3126#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3127#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-left-shape"))]
3128#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3129#[derive(csskit_derives::NodeWithMetadata)]
3130pub struct CornerBottomLeftShapeStyleValue;
3131
3132#[syntax(" <corner-shape-value> ")]
3189#[derive(
3190 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3191)]
3192#[declaration_metadata(
3193 initial = "round",
3194 applies_to = Unknown,
3195 animation_type = Unknown,
3196 property_group = Borders,
3197 computed_value_type = Unknown,
3198 canonical_order = "per grammar",
3199 logical_property_group = CornerShape,
3200 box_side = Bottom|Right,
3201)]
3202#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3203#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-right-shape"))]
3204#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3205#[derive(csskit_derives::NodeWithMetadata)]
3206pub struct CornerBottomRightShapeStyleValue;
3207
3208#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3220#[derive(
3221 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3222)]
3223#[declaration_metadata(
3224 initial = "see individual properties",
3225 inherits = Unknown,
3226 applies_to = Unknown,
3227 animation_type = Unknown,
3228 percentages = Unknown,
3229 property_group = Borders,
3230 computed_value_type = Unknown,
3231 canonical_order = "per grammar",
3232)]
3233#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3234#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-bottom-shape"))]
3235#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3236#[derive(csskit_derives::NodeWithMetadata)]
3237pub struct CornerBottomShapeStyleValue;
3238
3239#[syntax(" <corner-shape-value> ")]
3296#[derive(
3297 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3298)]
3299#[declaration_metadata(
3300 initial = "round",
3301 applies_to = Unknown,
3302 animation_type = Unknown,
3303 property_group = Borders,
3304 computed_value_type = Unknown,
3305 canonical_order = "per grammar",
3306 logical_property_group = CornerShape,
3307 box_side = BlockEnd|InlineEnd,
3308)]
3309#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3310#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-end-end-shape"))]
3311#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3312#[derive(csskit_derives::NodeWithMetadata)]
3313pub struct CornerEndEndShapeStyleValue;
3314
3315#[syntax(" <corner-shape-value> ")]
3372#[derive(
3373 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3374)]
3375#[declaration_metadata(
3376 initial = "round",
3377 applies_to = Unknown,
3378 animation_type = Unknown,
3379 property_group = Borders,
3380 computed_value_type = Unknown,
3381 canonical_order = "per grammar",
3382 logical_property_group = CornerShape,
3383 box_side = BlockEnd|InlineStart,
3384)]
3385#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3386#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-end-start-shape"))]
3387#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3388#[derive(csskit_derives::NodeWithMetadata)]
3389pub struct CornerEndStartShapeStyleValue;
3390
3391#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3448#[derive(
3449 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3450)]
3451#[declaration_metadata(
3452 initial = "see individual properties",
3453 inherits = Unknown,
3454 applies_to = Unknown,
3455 animation_type = Unknown,
3456 percentages = Unknown,
3457 property_group = Borders,
3458 computed_value_type = Unknown,
3459 canonical_order = "per grammar",
3460)]
3461#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3462#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-inline-end-shape"))]
3463#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3464#[derive(csskit_derives::NodeWithMetadata)]
3465pub struct CornerInlineEndShapeStyleValue;
3466
3467#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3524#[derive(
3525 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3526)]
3527#[declaration_metadata(
3528 initial = "see individual properties",
3529 inherits = Unknown,
3530 applies_to = Unknown,
3531 animation_type = Unknown,
3532 percentages = Unknown,
3533 property_group = Borders,
3534 computed_value_type = Unknown,
3535 canonical_order = "per grammar",
3536)]
3537#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3538#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-inline-start-shape"))]
3539#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3540#[derive(csskit_derives::NodeWithMetadata)]
3541pub struct CornerInlineStartShapeStyleValue;
3542
3543#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3600#[derive(
3601 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3602)]
3603#[declaration_metadata(
3604 initial = "see individual properties",
3605 inherits = Unknown,
3606 applies_to = Unknown,
3607 animation_type = Unknown,
3608 percentages = Unknown,
3609 property_group = Borders,
3610 computed_value_type = Unknown,
3611 canonical_order = "per grammar",
3612)]
3613#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3614#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-left-shape"))]
3615#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3616#[derive(csskit_derives::NodeWithMetadata)]
3617pub struct CornerLeftShapeStyleValue;
3618
3619#[syntax(" <'corner-top-left-shape'>{1,2} ")]
3676#[derive(
3677 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3678)]
3679#[declaration_metadata(
3680 initial = "see individual properties",
3681 inherits = Unknown,
3682 applies_to = Unknown,
3683 animation_type = Unknown,
3684 percentages = Unknown,
3685 property_group = Borders,
3686 computed_value_type = Unknown,
3687 canonical_order = "per grammar",
3688)]
3689#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3690#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-right-shape"))]
3691#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3692#[derive(csskit_derives::NodeWithMetadata)]
3693pub struct CornerRightShapeStyleValue;
3694
3695#[syntax(" <'corner-top-left-shape'>{1,4} ")]
3707#[derive(
3708 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3709)]
3710#[declaration_metadata(
3711 initial = "round",
3712 applies_to = Unknown,
3713 animation_type = Unknown,
3714 percentages = Unknown,
3715 property_group = Borders,
3716 computed_value_type = Unknown,
3717 canonical_order = "per grammar",
3718)]
3719#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3720#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-shape"))]
3721#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3722#[derive(csskit_derives::NodeWithMetadata)]
3723pub struct CornerShapeStyleValue;
3724
3725#[syntax(" <corner-shape-value> ")]
3782#[derive(
3783 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3784)]
3785#[declaration_metadata(
3786 initial = "round",
3787 applies_to = Unknown,
3788 animation_type = Unknown,
3789 property_group = Borders,
3790 computed_value_type = Unknown,
3791 canonical_order = "per grammar",
3792 logical_property_group = CornerShape,
3793 box_side = BlockStart|InlineEnd,
3794)]
3795#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3796#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-start-end-shape"))]
3797#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3798#[derive(csskit_derives::NodeWithMetadata)]
3799pub struct CornerStartEndShapeStyleValue;
3800
3801#[syntax(" <corner-shape-value> ")]
3858#[derive(
3859 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3860)]
3861#[declaration_metadata(
3862 initial = "round",
3863 applies_to = Unknown,
3864 animation_type = Unknown,
3865 property_group = Borders,
3866 computed_value_type = Unknown,
3867 canonical_order = "per grammar",
3868 logical_property_group = CornerShape,
3869 box_side = BlockStart|InlineStart,
3870)]
3871#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3872#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-start-start-shape"))]
3873#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3874#[derive(csskit_derives::NodeWithMetadata)]
3875pub struct CornerStartStartShapeStyleValue;
3876
3877#[syntax(" <corner-shape-value> ")]
3979#[derive(
3980 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
3981)]
3982#[declaration_metadata(
3983 initial = "round",
3984 applies_to = Unknown,
3985 animation_type = Unknown,
3986 property_group = Borders,
3987 computed_value_type = Unknown,
3988 canonical_order = "per grammar",
3989 logical_property_group = CornerShape,
3990 box_side = Top|Left,
3991)]
3992#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
3993#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-left-shape"))]
3994#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
3995#[derive(csskit_derives::NodeWithMetadata)]
3996pub struct CornerTopLeftShapeStyleValue;
3997
3998#[syntax(" <corner-shape-value> ")]
4055#[derive(
4056 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
4057)]
4058#[declaration_metadata(
4059 initial = "round",
4060 applies_to = Unknown,
4061 animation_type = Unknown,
4062 property_group = Borders,
4063 computed_value_type = Unknown,
4064 canonical_order = "per grammar",
4065 logical_property_group = CornerShape,
4066 box_side = Top|Right,
4067)]
4068#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
4069#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-right-shape"))]
4070#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
4071#[derive(csskit_derives::NodeWithMetadata)]
4072pub struct CornerTopRightShapeStyleValue;
4073
4074#[syntax(" <'corner-top-left-shape'>{1,2} ")]
4086#[derive(
4087 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
4088)]
4089#[declaration_metadata(
4090 initial = "see individual properties",
4091 inherits = Unknown,
4092 applies_to = Unknown,
4093 animation_type = Unknown,
4094 percentages = Unknown,
4095 property_group = Borders,
4096 computed_value_type = Unknown,
4097 canonical_order = "per grammar",
4098)]
4099#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
4100#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.corner-top-shape"))]
4101#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
4102#[derive(csskit_derives::NodeWithMetadata)]
4103pub struct CornerTopShapeStyleValue;