css_ast/values/backgrounds/mod.rs
1// AUTO-GENERATED from w3c/csswg-drafts
2// Commit: https://github.com/w3c/csswg-drafts/commit/7e27ad7484307dfdbe9d0e18ad19d02859389688
3// Do not edit this file directly.
4#![allow(warnings)]
5//! https://drafts.csswg.org/css-backgrounds-4/
6
7mod impls;
8use super::prelude::*;
9use impls::*;
10// /// Represents the style value for `background` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background).
11// ///
12// /// The background CSS property is a shorthand that sets several background properties at once.
13// ///
14// /// The grammar is defined as:
15// ///
16// /// ```text,ignore
17// /// <bg-layer>#? , <final-bg-layer>
18// /// ```
19// ///
20// /// https://drafts.csswg.org/css-backgrounds-4/#background
21// #[syntax(" <bg-layer>#? , <final-bg-layer> ")]
22// #[derive(
23// Parse,
24// Peek,
25// ToSpan,
26// ToCursors,
27// DeclarationMetadata,
28// SemanticEq,
29// Debug,
30// Clone,
31// PartialEq,
32// Eq,
33// PartialOrd,
34// Ord,
35// Hash,
36// )]
37// #[declaration_metadata(
38// initial = "see individual properties",
39// applies_to = Elements,
40// animation_type = Unknown,
41// percentages = Unknown,
42// longhands = BackgroundAttachment|BackgroundClip|BackgroundColor|BackgroundImage|BackgroundOrigin|BackgroundPosition|BackgroundRepeat|BackgroundSize,
43// property_group = Backgrounds,
44// computed_value_type = Unknown,
45// canonical_order = "per grammar",
46// )]
47// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
48// #[cfg_attr(
49// feature = "css_feature_data",
50// derive(ToCSSFeature),
51// css_feature("css.properties.background")
52// )]
53// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
54// #[derive(csskit_derives::NodeWithMetadata)]
55// pub struct BackgroundStyleValue<'a>;
56
57/// Represents the style value for `background-attachment` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-attachment).
58///
59/// The background-attachment CSS property sets whether an element's background image or gradient moves as the element scrolls.
60///
61/// The grammar is defined as:
62///
63/// ```text,ignore
64/// <attachment>#
65/// ```
66///
67/// https://drafts.csswg.org/css-backgrounds-4/#background-attachment
68#[syntax(" <attachment># ")]
69#[derive(
70 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
71)]
72#[declaration_metadata(
73 initial = "scroll",
74 applies_to = Elements,
75 animation_type = Discrete,
76 shorthand_group = Background,
77 property_group = Backgrounds,
78 computed_value_type = Unknown,
79 canonical_order = "per grammar",
80)]
81#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
82#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-attachment"))]
83#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
84#[derive(csskit_derives::NodeWithMetadata)]
85pub struct BackgroundAttachmentStyleValue<'a>;
86
87/// Represents the style value for `background-clip` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-clip).
88///
89/// The background-clip CSS property sets the extent of the background: the padding box, the content box, or the default border box.
90///
91/// The grammar is defined as:
92///
93/// ```text,ignore
94/// <bg-clip>#
95/// ```
96///
97/// https://drafts.csswg.org/css-backgrounds-4/#background-clip
98#[syntax(" <bg-clip># ")]
99#[derive(
100 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
101)]
102#[declaration_metadata(
103 initial = "border-box",
104 applies_to = Elements,
105 animation_type = RepeatableList,
106 shorthand_group = Background,
107 property_group = Backgrounds,
108 computed_value_type = AsSpecified,
109 canonical_order = "per grammar",
110)]
111#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
112#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-clip"))]
113#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
114#[derive(csskit_derives::NodeWithMetadata)]
115pub struct BackgroundClipStyleValue<'a>;
116
117/// Represents the style value for `background-color` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-color).
118///
119/// The background-color CSS property sets the fill color of an element, behind any content and background images or gradients.
120///
121/// The grammar is defined as:
122///
123/// ```text,ignore
124/// <color>
125/// ```
126///
127/// https://drafts.csswg.org/css-backgrounds-4/#background-color
128#[syntax(" <color> ")]
129#[derive(
130 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
131)]
132#[declaration_metadata(
133 initial = "transparent",
134 applies_to = Elements,
135 animation_type = ByComputedValue,
136 shorthand_group = Background,
137 property_group = Backgrounds,
138 computed_value_type = Unknown,
139 canonical_order = "per grammar",
140)]
141#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
142#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-color"))]
143#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
144#[derive(csskit_derives::NodeWithMetadata)]
145pub struct BackgroundColorStyleValue;
146
147/// Represents the style value for `background-image` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-image).
148///
149/// The background-image CSS property sets the graphics to display behind the content of an element and in front of the background color. Graphics may be any combination of images or gradients.
150///
151/// The grammar is defined as:
152///
153/// ```text,ignore
154/// <bg-image>#
155/// ```
156///
157/// https://drafts.csswg.org/css-backgrounds-4/#background-image
158#[syntax(" <bg-image># ")]
159#[derive(
160 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
161)]
162#[declaration_metadata(
163 initial = "none",
164 applies_to = Elements,
165 animation_type = Discrete,
166 shorthand_group = Background,
167 property_group = Backgrounds,
168 computed_value_type = Unknown,
169 canonical_order = "per grammar",
170)]
171#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
172#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-image"))]
173#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
174#[derive(csskit_derives::NodeWithMetadata)]
175pub struct BackgroundImageStyleValue<'a>;
176
177/// Represents the style value for `background-origin` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-origin).
178///
179/// The background-origin CSS property sets the background starting position relative to the border and padding of an element.
180///
181/// The grammar is defined as:
182///
183/// ```text,ignore
184/// <visual-box>#
185/// ```
186///
187/// https://drafts.csswg.org/css-backgrounds-4/#background-origin
188#[syntax(" <visual-box># ")]
189#[derive(
190 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
191)]
192#[declaration_metadata(
193 initial = "padding-box",
194 applies_to = Elements,
195 animation_type = RepeatableList,
196 shorthand_group = Background,
197 property_group = Backgrounds,
198 computed_value_type = Unknown,
199 canonical_order = "per grammar",
200)]
201#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
202#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-origin"))]
203#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
204#[derive(csskit_derives::NodeWithMetadata)]
205pub struct BackgroundOriginStyleValue<'a>;
206
207// /// Represents the style value for `background-position` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-position).
208// ///
209// /// The background-position CSS property offsets the initial position of background images relative to the background origin.
210// ///
211// /// The grammar is defined as:
212// ///
213// /// ```text,ignore
214// /// <bg-position>#
215// /// ```
216// ///
217// /// https://drafts.csswg.org/css-backgrounds-4/#background-position
218// #[syntax(" <bg-position># ")]
219// #[derive(
220// Parse,
221// Peek,
222// ToSpan,
223// ToCursors,
224// DeclarationMetadata,
225// SemanticEq,
226// Debug,
227// Clone,
228// PartialEq,
229// Eq,
230// PartialOrd,
231// Ord,
232// Hash,
233// )]
234// #[declaration_metadata(
235// initial = "0% 0%",
236// applies_to = Elements,
237// animation_type = RepeatableList,
238// percentages = BackgroundPositioningArea,
239// shorthand_group = Background,
240// property_group = Backgrounds,
241// computed_value_type = Unknown,
242// canonical_order = "per grammar",
243// )]
244// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
245// #[cfg_attr(
246// feature = "css_feature_data",
247// derive(ToCSSFeature),
248// css_feature("css.properties.background-position")
249// )]
250// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
251// #[derive(csskit_derives::NodeWithMetadata)]
252// pub struct BackgroundPositionStyleValue<'a>;
253
254// /// Represents the style value for `background-position-block` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-position-block).
255// ///
256// /// The grammar is defined as:
257// ///
258// /// ```text,ignore
259// /// [ center | [ [ start | end ]? <length-percentage>? ]! ]#
260// /// ```
261// ///
262// /// https://drafts.csswg.org/css-backgrounds-4/#background-position-block
263// #[syntax(" [ center | [ [ start | end ]? <length-percentage>? ]! ]# ")]
264// #[derive(
265// Parse,
266// Peek,
267// ToSpan,
268// ToCursors,
269// DeclarationMetadata,
270// SemanticEq,
271// Debug,
272// Clone,
273// PartialEq,
274// Eq,
275// PartialOrd,
276// Ord,
277// Hash,
278// )]
279// #[declaration_metadata(
280// initial = "0%",
281// applies_to = Elements,
282// animation_type = RepeatableList,
283// percentages = BackgroundPositioningArea,
284// property_group = Backgrounds,
285// computed_value_type = Unknown,
286// canonical_order = "per grammar",
287// logical_property_group = BackgroundPosition,
288// box_side = BlockStart|BlockEnd,
289// )]
290// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
291// #[cfg_attr(
292// feature = "css_feature_data",
293// derive(ToCSSFeature),
294// css_feature("css.properties.background-position-block")
295// )]
296// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
297// #[derive(csskit_derives::NodeWithMetadata)]
298// pub struct BackgroundPositionBlockStyleValue<'a>;
299
300// /// Represents the style value for `background-position-inline` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-position-inline).
301// ///
302// /// The grammar is defined as:
303// ///
304// /// ```text,ignore
305// /// [ center | [ [ start | end ]? <length-percentage>? ]! ]#
306// /// ```
307// ///
308// /// https://drafts.csswg.org/css-backgrounds-4/#background-position-inline
309// #[syntax(" [ center | [ [ start | end ]? <length-percentage>? ]! ]# ")]
310// #[derive(
311// Parse,
312// Peek,
313// ToSpan,
314// ToCursors,
315// DeclarationMetadata,
316// SemanticEq,
317// Debug,
318// Clone,
319// PartialEq,
320// Eq,
321// PartialOrd,
322// Ord,
323// Hash,
324// )]
325// #[declaration_metadata(
326// initial = "0%",
327// applies_to = Elements,
328// animation_type = RepeatableList,
329// percentages = BackgroundPositioningArea,
330// property_group = Backgrounds,
331// computed_value_type = Unknown,
332// canonical_order = "per grammar",
333// logical_property_group = BackgroundPosition,
334// box_side = InlineStart|InlineEnd,
335// )]
336// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
337// #[cfg_attr(
338// feature = "css_feature_data",
339// derive(ToCSSFeature),
340// css_feature("css.properties.background-position-inline")
341// )]
342// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
343// #[derive(csskit_derives::NodeWithMetadata)]
344// pub struct BackgroundPositionInlineStyleValue<'a>;
345
346// /// Represents the style value for `background-position-x` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-position-x).
347// ///
348// /// The background-position CSS property offsets the initial position of background images relative to the background origin.
349// ///
350// /// The grammar is defined as:
351// ///
352// /// ```text,ignore
353// /// [ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]#
354// /// ```
355// ///
356// /// https://drafts.csswg.org/css-backgrounds-4/#background-position-x
357// #[syntax(
358// " [ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]# "
359// )]
360// #[derive(
361// Parse,
362// Peek,
363// ToSpan,
364// ToCursors,
365// DeclarationMetadata,
366// SemanticEq,
367// Debug,
368// Clone,
369// PartialEq,
370// Eq,
371// PartialOrd,
372// Ord,
373// Hash,
374// )]
375// #[declaration_metadata(
376// initial = "0%",
377// applies_to = Elements,
378// animation_type = RepeatableList,
379// percentages = BackgroundPositioningArea,
380// property_group = Backgrounds,
381// computed_value_type = Unknown,
382// canonical_order = "per grammar",
383// logical_property_group = BackgroundPosition,
384// )]
385// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
386// #[cfg_attr(
387// feature = "css_feature_data",
388// derive(ToCSSFeature),
389// css_feature("css.properties.background-position-x")
390// )]
391// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
392// #[derive(csskit_derives::NodeWithMetadata)]
393// pub struct BackgroundPositionXStyleValue<'a>;
394
395// /// Represents the style value for `background-position-y` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-position-y).
396// ///
397// /// The background-position CSS property offsets the initial position of background images relative to the background origin.
398// ///
399// /// The grammar is defined as:
400// ///
401// /// ```text,ignore
402// /// [ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]#
403// /// ```
404// ///
405// /// https://drafts.csswg.org/css-backgrounds-4/#background-position-y
406// #[syntax(
407// " [ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]# "
408// )]
409// #[derive(
410// Parse,
411// Peek,
412// ToSpan,
413// ToCursors,
414// DeclarationMetadata,
415// SemanticEq,
416// Debug,
417// Clone,
418// PartialEq,
419// Eq,
420// PartialOrd,
421// Ord,
422// Hash,
423// )]
424// #[declaration_metadata(
425// initial = "0%",
426// applies_to = Elements,
427// animation_type = RepeatableList,
428// percentages = BackgroundPositioningArea,
429// property_group = Backgrounds,
430// computed_value_type = Unknown,
431// canonical_order = "per grammar",
432// logical_property_group = BackgroundPosition,
433// )]
434// #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
435// #[cfg_attr(
436// feature = "css_feature_data",
437// derive(ToCSSFeature),
438// css_feature("css.properties.background-position-y")
439// )]
440// #[cfg_attr(feature = "visitable", derive(Visitable), visit)]
441// #[derive(csskit_derives::NodeWithMetadata)]
442// pub struct BackgroundPositionYStyleValue<'a>;
443
444/// Represents the style value for `background-repeat` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-repeat).
445///
446/// The background-repeat CSS property sets how a background image is tiled.
447///
448/// The grammar is defined as:
449///
450/// ```text,ignore
451/// <repeat-style>#
452/// ```
453///
454/// https://drafts.csswg.org/css-backgrounds-4/#background-repeat
455#[syntax(" <repeat-style># ")]
456#[derive(
457 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
458)]
459#[declaration_metadata(
460 initial = "repeat",
461 applies_to = Elements,
462 animation_type = Discrete,
463 shorthand_group = Background,
464 property_group = Backgrounds,
465 computed_value_type = Unknown,
466 canonical_order = "per grammar",
467)]
468#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
469#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-repeat"))]
470#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
471#[derive(csskit_derives::NodeWithMetadata)]
472pub struct BackgroundRepeatStyleValue<'a>;
473
474/// Represents the style value for `background-repeat-block` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-repeat-block).
475///
476/// The grammar is defined as:
477///
478/// ```text,ignore
479/// <repetition>#
480/// ```
481///
482/// https://drafts.csswg.org/css-backgrounds-4/#background-repeat-block
483#[syntax(" <repetition># ")]
484#[derive(
485 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
486)]
487#[declaration_metadata(
488 initial = "repeat",
489 applies_to = Elements,
490 animation_type = Discrete,
491 property_group = Backgrounds,
492 computed_value_type = AsSpecified,
493 canonical_order = "per grammar",
494 logical_property_group = BackgroundRepeat,
495 box_side = BlockStart|BlockEnd,
496)]
497#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
498#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-repeat-block"))]
499#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
500#[derive(csskit_derives::NodeWithMetadata)]
501pub struct BackgroundRepeatBlockStyleValue<'a>;
502
503/// Represents the style value for `background-repeat-inline` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-repeat-inline).
504///
505/// The grammar is defined as:
506///
507/// ```text,ignore
508/// <repetition>#
509/// ```
510///
511/// https://drafts.csswg.org/css-backgrounds-4/#background-repeat-inline
512#[syntax(" <repetition># ")]
513#[derive(
514 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
515)]
516#[declaration_metadata(
517 initial = "repeat",
518 applies_to = Elements,
519 animation_type = Discrete,
520 property_group = Backgrounds,
521 computed_value_type = AsSpecified,
522 canonical_order = "per grammar",
523 logical_property_group = BackgroundRepeat,
524 box_side = InlineStart|InlineEnd,
525)]
526#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
527#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-repeat-inline"))]
528#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
529#[derive(csskit_derives::NodeWithMetadata)]
530pub struct BackgroundRepeatInlineStyleValue<'a>;
531
532/// Represents the style value for `background-repeat-x` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-repeat-x).
533///
534/// The grammar is defined as:
535///
536/// ```text,ignore
537/// <repetition>#
538/// ```
539///
540/// https://drafts.csswg.org/css-backgrounds-4/#background-repeat-x
541#[syntax(" <repetition># ")]
542#[derive(
543 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
544)]
545#[declaration_metadata(
546 initial = "repeat",
547 applies_to = Elements,
548 animation_type = Discrete,
549 property_group = Backgrounds,
550 computed_value_type = AsSpecified,
551 canonical_order = "per grammar",
552 logical_property_group = BackgroundRepeat,
553)]
554#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
555#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-repeat-x"))]
556#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
557#[derive(csskit_derives::NodeWithMetadata)]
558pub struct BackgroundRepeatXStyleValue<'a>;
559
560/// Represents the style value for `background-repeat-y` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-repeat-y).
561///
562/// The grammar is defined as:
563///
564/// ```text,ignore
565/// <repetition>#
566/// ```
567///
568/// https://drafts.csswg.org/css-backgrounds-4/#background-repeat-y
569#[syntax(" <repetition># ")]
570#[derive(
571 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
572)]
573#[declaration_metadata(
574 initial = "repeat",
575 applies_to = Elements,
576 animation_type = Discrete,
577 property_group = Backgrounds,
578 computed_value_type = AsSpecified,
579 canonical_order = "per grammar",
580 logical_property_group = BackgroundRepeat,
581)]
582#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
583#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-repeat-y"))]
584#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
585#[derive(csskit_derives::NodeWithMetadata)]
586pub struct BackgroundRepeatYStyleValue<'a>;
587
588/// Represents the style value for `background-size` as defined in [css-backgrounds-4](https://drafts.csswg.org/css-backgrounds-4/#background-size).
589///
590/// The background-size CSS property scales or stretches a background based on the size of the element (with the contain and cover keywords), a length, or percentage.
591///
592/// The grammar is defined as:
593///
594/// ```text,ignore
595/// <bg-size>#
596/// ```
597///
598/// https://drafts.csswg.org/css-backgrounds-4/#background-size
599#[syntax(" <bg-size># ")]
600#[derive(
601 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
602)]
603#[declaration_metadata(
604 initial = "auto",
605 applies_to = Elements,
606 animation_type = RepeatableList,
607 percentages = Unknown,
608 shorthand_group = Background,
609 property_group = Backgrounds,
610 computed_value_type = Unknown,
611 canonical_order = "per grammar",
612)]
613#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
614#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.background-size"))]
615#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
616#[derive(csskit_derives::NodeWithMetadata)]
617pub struct BackgroundSizeStyleValue<'a>;