1#![allow(warnings)]
5mod impls;
8use super::prelude::*;
9use impls::*;
10#[syntax(" <rect()> | auto ")]
22#[derive(
23 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
24)]
25#[declaration_metadata(
26 initial = "auto",
27 applies_to = Unknown,
28 animation_type = ByComputedValue,
29 property_group = Masking,
30 computed_value_type = AsSpecified,
31 canonical_order = "per grammar",
32)]
33#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
34#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.clip"))]
35#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
36#[derive(csskit_derives::NodeWithMetadata)]
37pub struct ClipStyleValue<'a>;
38
39#[syntax(" <clip-source> | [ <basic-shape> || <geometry-box> ] | none ")]
51#[derive(
52 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
53)]
54#[declaration_metadata(
55 initial = "none",
56 applies_to = Unknown,
57 animation_type = ByComputedValue,
58 property_group = Masking,
59 computed_value_type = SpecifiedWithAbsoluteUrls,
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.clip-path"))]
64#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
65#[derive(csskit_derives::NodeWithMetadata)]
66pub enum ClipPathStyleValue<'a> {}
67
68#[syntax(" nonzero | evenodd ")]
80#[derive(
81 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
82)]
83#[declaration_metadata(
84 initial = "nonzero",
85 inherits,
86 applies_to = Unknown,
87 animation_type = Discrete,
88 property_group = Masking,
89 computed_value_type = AsSpecified,
90 canonical_order = "per grammar",
91)]
92#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
93#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.clip-rule"))]
94#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
95#[derive(csskit_derives::NodeWithMetadata)]
96pub enum ClipRuleStyleValue<'a> {}
97
98#[syntax(" <mask-layer># ")]
110#[derive(
111 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
112)]
113#[declaration_metadata(
114 initial = "see individual properties",
115 applies_to = Unknown,
116 animation_type = Unknown,
117 percentages = Unknown,
118 longhands = MaskClip|MaskComposite|MaskImage|MaskMode|MaskOrigin|MaskPosition|MaskRepeat|MaskSize,
119 shorthand_resets_known = true,
120 shorthand_resets = MaskBorder,
121 property_group = Masking,
122 computed_value_type = Unknown,
123 canonical_order = "per grammar",
124)]
125#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
126#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask"))]
127#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
128#[derive(csskit_derives::NodeWithMetadata)]
129pub struct MaskStyleValue<'a>;
130
131#[syntax(
143 " <'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'> "
144)]
145#[derive(
146 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
147)]
148#[declaration_metadata(
149 initial = "See individual properties",
150 applies_to = Unknown,
151 animation_type = Unknown,
152 longhands = MaskBorderMode|MaskBorderOutset|MaskBorderRepeat|MaskBorderSlice|MaskBorderSource|MaskBorderWidth,
153 reset_by_shorthands = Mask,
154 property_group = Masking,
155 computed_value_type = Unknown,
156 canonical_order = "per grammar",
157)]
158#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
159#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-border"))]
160#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
161#[derive(csskit_derives::NodeWithMetadata)]
162pub struct MaskBorderStyleValue<'a>;
163
164#[syntax(" luminance | alpha ")]
174#[derive(
175 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
176)]
177#[declaration_metadata(
178 initial = "alpha",
179 applies_to = Unknown,
180 animation_type = Discrete,
181 shorthand_group = MaskBorder,
182 reset_by_shorthands = Mask,
183 property_group = Masking,
184 computed_value_type = AsSpecified,
185 canonical_order = "per grammar",
186)]
187#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
188#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-border-mode"))]
189#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
190#[derive(csskit_derives::NodeWithMetadata)]
191pub enum MaskBorderModeStyleValue<'a> {}
192
193#[syntax(" <'border-image-outset'> ")]
205#[derive(
206 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
207)]
208#[declaration_metadata(
209 initial = "0",
210 applies_to = Unknown,
211 animation_type = ByComputedValue,
212 shorthand_group = MaskBorder,
213 reset_by_shorthands = Mask,
214 property_group = Masking,
215 computed_value_type = Unknown,
216 canonical_order = "per grammar",
217)]
218#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
219#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-border-outset"))]
220#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
221#[derive(csskit_derives::NodeWithMetadata)]
222pub struct MaskBorderOutsetStyleValue<'a>;
223
224#[syntax(" <'border-image-repeat'> ")]
236#[derive(
237 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
238)]
239#[declaration_metadata(
240 initial = "stretch",
241 applies_to = Unknown,
242 animation_type = Discrete,
243 shorthand_group = MaskBorder,
244 reset_by_shorthands = Mask,
245 property_group = Masking,
246 computed_value_type = AsSpecified,
247 canonical_order = "per grammar",
248)]
249#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
250#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-border-repeat"))]
251#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
252#[derive(csskit_derives::NodeWithMetadata)]
253pub struct MaskBorderRepeatStyleValue<'a>;
254
255#[syntax(" <'border-image-slice'> ")]
267#[derive(
268 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
269)]
270#[declaration_metadata(
271 initial = "0",
272 applies_to = Unknown,
273 animation_type = ByComputedValue,
274 percentages = BorderImageArea,
275 shorthand_group = MaskBorder,
276 reset_by_shorthands = Mask,
277 property_group = Masking,
278 computed_value_type = AsSpecified,
279 canonical_order = "per grammar",
280)]
281#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
282#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-border-slice"))]
283#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
284#[derive(csskit_derives::NodeWithMetadata)]
285pub struct MaskBorderSliceStyleValue<'a>;
286
287#[syntax(" <'border-image-source'> ")]
299#[derive(
300 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
301)]
302#[declaration_metadata(
303 initial = "none",
304 applies_to = Unknown,
305 animation_type = Discrete,
306 shorthand_group = MaskBorder,
307 reset_by_shorthands = Mask,
308 property_group = Masking,
309 computed_value_type = Unknown,
310 canonical_order = "per grammar",
311)]
312#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
313#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-border-source"))]
314#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
315#[derive(csskit_derives::NodeWithMetadata)]
316pub struct MaskBorderSourceStyleValue<'a>;
317
318#[syntax(" <'border-image-width'> ")]
330#[derive(
331 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
332)]
333#[declaration_metadata(
334 initial = "auto",
335 applies_to = Unknown,
336 animation_type = ByComputedValue,
337 percentages = BorderImageArea,
338 shorthand_group = MaskBorder,
339 reset_by_shorthands = Mask,
340 property_group = Masking,
341 computed_value_type = Unknown,
342 canonical_order = "per grammar",
343)]
344#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
345#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-border-width"))]
346#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
347#[derive(csskit_derives::NodeWithMetadata)]
348pub struct MaskBorderWidthStyleValue<'a>;
349
350#[syntax(" [ <coord-box> | no-clip ]# ")]
362#[derive(
363 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
364)]
365#[declaration_metadata(
366 initial = "border-box",
367 applies_to = Unknown,
368 animation_type = Discrete,
369 shorthand_group = Mask,
370 property_group = Masking,
371 computed_value_type = Unknown,
372 canonical_order = "per grammar",
373)]
374#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
375#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-clip"))]
376#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
377#[derive(csskit_derives::NodeWithMetadata)]
378pub struct MaskClipStyleValue<'a>;
379
380#[syntax(" <compositing-operator># ")]
392#[derive(
393 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
394)]
395#[declaration_metadata(
396 initial = "add",
397 applies_to = Unknown,
398 animation_type = Discrete,
399 shorthand_group = Mask,
400 property_group = Masking,
401 computed_value_type = Unknown,
402 canonical_order = "per grammar",
403)]
404#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
405#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-composite"))]
406#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
407#[derive(csskit_derives::NodeWithMetadata)]
408pub struct MaskCompositeStyleValue<'a>;
409
410#[syntax(" <mask-reference># ")]
422#[derive(
423 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
424)]
425#[declaration_metadata(
426 initial = "none",
427 applies_to = Unknown,
428 animation_type = Discrete,
429 shorthand_group = Mask,
430 property_group = Masking,
431 computed_value_type = Unknown,
432 canonical_order = "per grammar",
433)]
434#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
435#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-image"))]
436#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
437#[derive(csskit_derives::NodeWithMetadata)]
438pub struct MaskImageStyleValue<'a>;
439
440#[syntax(" <masking-mode># ")]
452#[derive(
453 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
454)]
455#[declaration_metadata(
456 initial = "match-source",
457 applies_to = Unknown,
458 animation_type = Discrete,
459 shorthand_group = Mask,
460 property_group = Masking,
461 computed_value_type = Unknown,
462 canonical_order = "per grammar",
463)]
464#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
465#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-mode"))]
466#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
467#[derive(csskit_derives::NodeWithMetadata)]
468pub struct MaskModeStyleValue<'a>;
469
470#[syntax(" <coord-box># ")]
482#[derive(
483 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
484)]
485#[declaration_metadata(
486 initial = "border-box",
487 applies_to = Unknown,
488 animation_type = Discrete,
489 shorthand_group = Mask,
490 property_group = Masking,
491 computed_value_type = Unknown,
492 canonical_order = "per grammar",
493)]
494#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
495#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-origin"))]
496#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
497#[derive(csskit_derives::NodeWithMetadata)]
498pub struct MaskOriginStyleValue<'a>;
499
500#[syntax(" <position># ")]
512#[derive(
513 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
514)]
515#[declaration_metadata(
516 initial = "0% 0%",
517 applies_to = Unknown,
518 animation_type = RepeatableList,
519 percentages = Unknown,
520 shorthand_group = Mask,
521 property_group = Masking,
522 computed_value_type = AbsoluteLengthOrPercentage,
523 canonical_order = "per grammar",
524)]
525#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
526#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-position"))]
527#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
528#[derive(csskit_derives::NodeWithMetadata)]
529pub struct MaskPositionStyleValue<'a>;
530
531#[syntax(" <repeat-style># ")]
543#[derive(
544 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
545)]
546#[declaration_metadata(
547 initial = "repeat",
548 applies_to = Unknown,
549 animation_type = Discrete,
550 shorthand_group = Mask,
551 property_group = Masking,
552 computed_value_type = Unknown,
553 canonical_order = "per grammar",
554)]
555#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
556#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-repeat"))]
557#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
558#[derive(csskit_derives::NodeWithMetadata)]
559pub struct MaskRepeatStyleValue<'a>;
560
561#[syntax(" <bg-size># ")]
573#[derive(
574 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
575)]
576#[declaration_metadata(
577 initial = "auto",
578 applies_to = Unknown,
579 animation_type = RepeatableList,
580 shorthand_group = Mask,
581 property_group = Masking,
582 computed_value_type = Unknown,
583 canonical_order = "per grammar",
584)]
585#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
586#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-size"))]
587#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
588#[derive(csskit_derives::NodeWithMetadata)]
589pub struct MaskSizeStyleValue<'a>;
590
591#[syntax(" luminance | alpha ")]
603#[derive(
604 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
605)]
606#[declaration_metadata(
607 initial = "luminance",
608 applies_to = Unknown,
609 animation_type = Discrete,
610 property_group = Masking,
611 computed_value_type = AsSpecified,
612 canonical_order = "per grammar",
613)]
614#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
615#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-type"))]
616#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
617#[derive(csskit_derives::NodeWithMetadata)]
618pub enum MaskTypeStyleValue<'a> {}