1#![allow(warnings)]
5mod impls;
8use super::prelude::*;
9use impls::*;
10#[syntax(" <fill-layer># ")]
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 property_group = FillStroke,
31 computed_value_type = Unknown,
32 canonical_order = "per grammar",
33)]
34#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
35#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.fill"))]
36#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
37#[derive(csskit_derives::NodeWithMetadata)]
38pub struct FillStyleValue<'a>;
39
40#[syntax(" bounding-box | slice | clone ")]
50#[derive(
51 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
52)]
53#[declaration_metadata(
54 initial = "bounding-box",
55 inherits = Unknown,
56 applies_to = Elements,
57 animation_type = Discrete,
58 property_group = FillStroke,
59 computed_value_type = AsSpecified,
60 canonical_order = "per grammar",
61)]
62#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
63#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.fill-break"))]
64#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
65#[derive(csskit_derives::NodeWithMetadata)]
66pub enum FillBreakStyleValue<'a> {}
67
68#[syntax(" <color> ")]
78#[derive(
79 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
80)]
81#[declaration_metadata(
82 initial = "currentcolor",
83 inherits,
84 applies_to = Unknown,
85 animation_type = ByComputedValue,
86 property_group = FillStroke,
87 computed_value_type = Unknown,
88 canonical_order = "per grammar",
89)]
90#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
91#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.fill-color"))]
92#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
93#[derive(csskit_derives::NodeWithMetadata)]
94pub struct FillColorStyleValue<'a>;
95
96#[syntax(" <paint># ")]
106#[derive(
107 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
108)]
109#[declaration_metadata(
110 initial = "none",
111 inherits,
112 applies_to = Unknown,
113 animation_type = RepeatableList,
114 property_group = FillStroke,
115 computed_value_type = AsSpecified,
116 canonical_order = "per grammar",
117)]
118#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
119#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.fill-image"))]
120#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
121#[derive(csskit_derives::NodeWithMetadata)]
122pub struct FillImageStyleValue<'a>;
123
124#[syntax(" <'opacity'> ")]
136#[derive(
137 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
138)]
139#[declaration_metadata(
140 initial = "1",
141 inherits,
142 applies_to = Unknown,
143 animation_type = ByComputedValue,
144 property_group = FillStroke,
145 computed_value_type = Unknown,
146 canonical_order = "per grammar",
147)]
148#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
149#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.fill-opacity"))]
150#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
151#[derive(csskit_derives::NodeWithMetadata)]
152pub struct FillOpacityStyleValue<'a>;
153
154#[syntax(" match-parent | fill-box | stroke-box | content-box | padding-box | border-box ")]
164#[derive(
165 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
166)]
167#[declaration_metadata(
168 initial = "match-parent",
169 applies_to = Elements,
170 animation_type = Discrete,
171 property_group = FillStroke,
172 computed_value_type = AsSpecified,
173 canonical_order = "per grammar",
174)]
175#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
176#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.fill-origin"))]
177#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
178#[derive(csskit_derives::NodeWithMetadata)]
179pub enum FillOriginStyleValue<'a> {}
180
181#[syntax(" <position># ")]
191#[derive(
192 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
193)]
194#[declaration_metadata(
195 initial = "0% 0%",
196 inherits,
197 applies_to = Unknown,
198 animation_type = RepeatableList,
199 property_group = FillStroke,
200 computed_value_type = AbsoluteLengthOrPercentage,
201 canonical_order = "per grammar",
202)]
203#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
204#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.fill-position"))]
205#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
206#[derive(csskit_derives::NodeWithMetadata)]
207pub struct FillPositionStyleValue<'a>;
208
209#[syntax(" <repeat-style># ")]
219#[derive(
220 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
221)]
222#[declaration_metadata(
223 initial = "repeat",
224 inherits,
225 applies_to = Unknown,
226 animation_type = Discrete,
227 property_group = FillStroke,
228 computed_value_type = Unknown,
229 canonical_order = "per grammar",
230)]
231#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
232#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.fill-repeat"))]
233#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
234#[derive(csskit_derives::NodeWithMetadata)]
235pub struct FillRepeatStyleValue<'a>;
236
237#[syntax(" nonzero | evenodd ")]
249#[derive(
250 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
251)]
252#[declaration_metadata(
253 initial = "nonzero",
254 inherits,
255 applies_to = Unknown,
256 animation_type = Discrete,
257 property_group = FillStroke,
258 computed_value_type = AsSpecified,
259 canonical_order = "per grammar",
260)]
261#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
262#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.fill-rule"))]
263#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
264#[derive(csskit_derives::NodeWithMetadata)]
265pub enum FillRuleStyleValue<'a> {}
266
267#[syntax(" <bg-size># ")]
277#[derive(
278 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
279)]
280#[declaration_metadata(
281 initial = "auto",
282 inherits,
283 applies_to = Unknown,
284 animation_type = RepeatableList,
285 property_group = FillStroke,
286 computed_value_type = AsSpecified,
287 canonical_order = "per grammar",
288)]
289#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
290#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.fill-size"))]
291#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
292#[derive(csskit_derives::NodeWithMetadata)]
293pub struct FillSizeStyleValue<'a>;
294
295#[syntax(" <stroke-layer># ")]
307#[derive(
308 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
309)]
310#[declaration_metadata(
311 initial = "See individual properties",
312 inherits = Unknown,
313 applies_to = Unknown,
314 animation_type = Unknown,
315 property_group = FillStroke,
316 computed_value_type = Unknown,
317 canonical_order = "per grammar",
318)]
319#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
320#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.stroke"))]
321#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
322#[derive(csskit_derives::NodeWithMetadata)]
323pub struct StrokeStyleValue<'a>;
324
325#[syntax(" center | inset | outset ")]
335#[derive(
336 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
337)]
338#[declaration_metadata(
339 initial = "center",
340 inherits,
341 applies_to = Unknown,
342 animation_type = Discrete,
343 property_group = FillStroke,
344 computed_value_type = AsSpecified,
345 canonical_order = "per grammar",
346)]
347#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
348#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.stroke-align"))]
349#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
350#[derive(csskit_derives::NodeWithMetadata)]
351pub enum StrokeAlignStyleValue<'a> {}
352
353#[syntax(" bounding-box | slice | clone ")]
363#[derive(
364 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
365)]
366#[declaration_metadata(
367 initial = "bounding-box",
368 inherits = Unknown,
369 applies_to = Elements,
370 animation_type = Discrete,
371 property_group = FillStroke,
372 computed_value_type = AsSpecified,
373 canonical_order = "per grammar",
374)]
375#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
376#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.stroke-break"))]
377#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
378#[derive(csskit_derives::NodeWithMetadata)]
379pub enum StrokeBreakStyleValue<'a> {}
380
381#[syntax(" <color># ")]
393#[derive(
394 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
395)]
396#[declaration_metadata(
397 initial = "transparent",
398 inherits,
399 applies_to = Unknown,
400 animation_type = ByComputedValue,
401 property_group = FillStroke,
402 computed_value_type = Unknown,
403 canonical_order = "per grammar",
404)]
405#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
406#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.stroke-color"))]
407#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
408#[derive(csskit_derives::NodeWithMetadata)]
409pub struct StrokeColorStyleValue<'a>;
410
411#[syntax(" none | <length> ")]
421#[derive(
422 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
423)]
424#[declaration_metadata(
425 initial = "none",
426 inherits,
427 applies_to = Unknown,
428 animation_type = Discrete,
429 property_group = FillStroke,
430 computed_value_type = Unknown,
431 canonical_order = "per grammar",
432)]
433#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
434#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.stroke-dash-corner"))]
435#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
436#[derive(csskit_derives::NodeWithMetadata)]
437pub struct StrokeDashCornerStyleValue<'a>;
438
439#[syntax(" none | [ stretch | compress ] || [ dashes || gaps ] ")]
449#[derive(
450 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
451)]
452#[declaration_metadata(
453 initial = "none",
454 inherits,
455 applies_to = Unknown,
456 animation_type = Discrete,
457 property_group = FillStroke,
458 computed_value_type = Unknown,
459 canonical_order = "per grammar",
460)]
461#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
462#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.stroke-dash-justify"))]
463#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
464#[derive(csskit_derives::NodeWithMetadata)]
465pub enum StrokeDashJustifyStyleValue<'a> {}
466
467#[syntax(" none | <length-percentage>+# ")]
479#[derive(
480 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
481)]
482#[declaration_metadata(
483 initial = "none",
484 inherits,
485 applies_to = Unknown,
486 animation_type = RepeatableList,
487 percentages = Unknown,
488 property_group = FillStroke,
489 computed_value_type = AsSpecified,
490 canonical_order = "per grammar",
491)]
492#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
493#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.stroke-dasharray"))]
494#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
495#[derive(csskit_derives::NodeWithMetadata)]
496pub struct StrokeDasharrayStyleValue<'a>;
497
498#[syntax(" <length-percentage> ")]
510#[derive(
511 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
512)]
513#[declaration_metadata(
514 initial = "0",
515 inherits,
516 applies_to = Unknown,
517 animation_type = RepeatableList,
518 percentages = Unknown,
519 property_group = FillStroke,
520 computed_value_type = AsSpecified,
521 canonical_order = "per grammar",
522)]
523#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
524#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.stroke-dashoffset"))]
525#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
526#[derive(csskit_derives::NodeWithMetadata)]
527pub struct StrokeDashoffsetStyleValue<'a>;
528
529#[syntax(" <paint># ")]
539#[derive(
540 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
541)]
542#[declaration_metadata(
543 initial = "none",
544 inherits,
545 applies_to = Unknown,
546 animation_type = RepeatableList,
547 property_group = FillStroke,
548 computed_value_type = AsSpecified,
549 canonical_order = "per grammar",
550)]
551#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
552#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.stroke-image"))]
553#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
554#[derive(csskit_derives::NodeWithMetadata)]
555pub struct StrokeImageStyleValue<'a>;
556
557#[syntax(" butt | round | square ")]
569#[derive(
570 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
571)]
572#[declaration_metadata(
573 initial = "butt",
574 inherits,
575 applies_to = Unknown,
576 animation_type = Discrete,
577 property_group = FillStroke,
578 computed_value_type = AsSpecified,
579 canonical_order = "per grammar",
580)]
581#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
582#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.stroke-linecap"))]
583#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
584#[derive(csskit_derives::NodeWithMetadata)]
585pub enum StrokeLinecapStyleValue<'a> {}
586
587#[syntax(" [ crop | arcs | miter ] || [ bevel | round | fallback ] ")]
599#[derive(
600 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
601)]
602#[declaration_metadata(
603 initial = "miter",
604 inherits,
605 applies_to = Unknown,
606 animation_type = Discrete,
607 property_group = FillStroke,
608 computed_value_type = AsSpecified,
609 canonical_order = "per grammar",
610)]
611#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
612#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.stroke-linejoin"))]
613#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
614#[derive(csskit_derives::NodeWithMetadata)]
615pub struct StrokeLinejoinStyleValue<'a>;
616
617#[syntax(" <number> ")]
629#[derive(
630 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
631)]
632#[declaration_metadata(
633 initial = "4",
634 inherits,
635 applies_to = Unknown,
636 animation_type = Discrete,
637 property_group = FillStroke,
638 computed_value_type = Unknown,
639 canonical_order = "per grammar",
640)]
641#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
642#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.stroke-miterlimit"))]
643#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
644#[derive(csskit_derives::NodeWithMetadata)]
645pub struct StrokeMiterlimitStyleValue<'a>;
646
647#[syntax(" <'opacity'> ")]
659#[derive(
660 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
661)]
662#[declaration_metadata(
663 initial = "1",
664 inherits,
665 applies_to = Unknown,
666 animation_type = ByComputedValue,
667 property_group = FillStroke,
668 computed_value_type = Unknown,
669 canonical_order = "per grammar",
670)]
671#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
672#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.stroke-opacity"))]
673#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
674#[derive(csskit_derives::NodeWithMetadata)]
675pub struct StrokeOpacityStyleValue<'a>;
676
677#[syntax(" match-parent | fill-box | stroke-box | content-box | padding-box | border-box ")]
687#[derive(
688 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
689)]
690#[declaration_metadata(
691 initial = "match-parent",
692 applies_to = Elements,
693 animation_type = Discrete,
694 property_group = FillStroke,
695 computed_value_type = AsSpecified,
696 canonical_order = "per grammar",
697)]
698#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
699#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.stroke-origin"))]
700#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
701#[derive(csskit_derives::NodeWithMetadata)]
702pub enum StrokeOriginStyleValue<'a> {}
703
704#[syntax(" <position># ")]
714#[derive(
715 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
716)]
717#[declaration_metadata(
718 initial = "0% 0%",
719 inherits,
720 applies_to = Unknown,
721 animation_type = RepeatableList,
722 property_group = FillStroke,
723 computed_value_type = AbsoluteLengthOrPercentage,
724 canonical_order = "per grammar",
725)]
726#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
727#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.stroke-position"))]
728#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
729#[derive(csskit_derives::NodeWithMetadata)]
730pub struct StrokePositionStyleValue<'a>;
731
732#[syntax(" <repeat-style># ")]
742#[derive(
743 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
744)]
745#[declaration_metadata(
746 initial = "repeat",
747 inherits,
748 applies_to = Unknown,
749 animation_type = Discrete,
750 property_group = FillStroke,
751 computed_value_type = Unknown,
752 canonical_order = "per grammar",
753)]
754#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
755#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.stroke-repeat"))]
756#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
757#[derive(csskit_derives::NodeWithMetadata)]
758pub struct StrokeRepeatStyleValue<'a>;
759
760#[syntax(" <bg-size># ")]
770#[derive(
771 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
772)]
773#[declaration_metadata(
774 initial = "auto",
775 inherits,
776 applies_to = Unknown,
777 animation_type = RepeatableList,
778 property_group = FillStroke,
779 computed_value_type = AsSpecified,
780 canonical_order = "per grammar",
781)]
782#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
783#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.stroke-size"))]
784#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
785#[derive(csskit_derives::NodeWithMetadata)]
786pub struct StrokeSizeStyleValue<'a>;
787
788#[syntax(" [ <length-percentage> | <line-width> ]# ")]
800#[derive(
801 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
802)]
803#[declaration_metadata(
804 initial = "1px",
805 inherits,
806 applies_to = Unknown,
807 animation_type = ByComputedValue,
808 percentages = Unknown,
809 property_group = FillStroke,
810 computed_value_type = AbsoluteLengthOrPercentage,
811 canonical_order = "per grammar",
812)]
813#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
814#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.stroke-width"))]
815#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
816#[derive(csskit_derives::NodeWithMetadata)]
817pub struct StrokeWidthStyleValue<'a>;