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 resets = MaskBorder,
120 property_group = Masking,
121 computed_value_type = Unknown,
122 canonical_order = "per grammar",
123)]
124#[declaration_writes(
125 MaskImage?,
126 MaskPosition?,
127 "/"
128 MaskSize?,
129 MaskRepeat?,
130 MaskOrigin?,
131 = MaskClip?,
132 MaskComposite?,
133 MaskMode?
134)]
135#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
136#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask"))]
137#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
138#[derive(csskit_derives::NodeWithMetadata)]
139pub struct MaskStyleValue<'a>;
140
141#[syntax(
153 " <'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'> "
154)]
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 = MaskBorderSource|MaskBorderSlice|MaskBorderWidth|MaskBorderOutset|MaskBorderRepeat|MaskBorderMode,
163 reset_by = Mask,
164 property_group = Masking,
165 computed_value_type = Unknown,
166 canonical_order = "per grammar",
167)]
168#[declaration_writes(
169 MaskBorderSource,
170 MaskBorderSlice,
171 "/"
172 MaskBorderWidth,
173 "/"
174 MaskBorderOutset,
175 MaskBorderRepeat,
176 MaskBorderMode
177)]
178#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
179#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-border"))]
180#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
181#[derive(csskit_derives::NodeWithMetadata)]
182pub struct MaskBorderStyleValue<'a>;
183
184#[syntax(" luminance | alpha ")]
194#[derive(
195 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
196)]
197#[declaration_metadata(
198 initial = "alpha",
199 applies_to = Unknown,
200 animation_type = Discrete,
201 shorthands = MaskBorder,
202 reset_by = Mask,
203 property_group = Masking,
204 computed_value_type = AsSpecified,
205 canonical_order = "per grammar",
206)]
207#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
208#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-border-mode"))]
209#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
210#[derive(csskit_derives::NodeWithMetadata)]
211pub enum MaskBorderModeStyleValue<'a> {}
212
213#[syntax(" <'border-image-outset'> ")]
225#[derive(
226 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
227)]
228#[declaration_metadata(
229 initial = "0",
230 applies_to = Unknown,
231 animation_type = ByComputedValue,
232 shorthands = MaskBorder,
233 reset_by = Mask,
234 property_group = Masking,
235 computed_value_type = Unknown,
236 canonical_order = "per grammar",
237)]
238#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
239#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-border-outset"))]
240#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
241#[derive(csskit_derives::NodeWithMetadata)]
242pub struct MaskBorderOutsetStyleValue<'a>;
243
244#[syntax(" <'border-image-repeat'> ")]
256#[derive(
257 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
258)]
259#[declaration_metadata(
260 initial = "stretch",
261 applies_to = Unknown,
262 animation_type = Discrete,
263 shorthands = MaskBorder,
264 reset_by = Mask,
265 property_group = Masking,
266 computed_value_type = AsSpecified,
267 canonical_order = "per grammar",
268)]
269#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
270#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-border-repeat"))]
271#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
272#[derive(csskit_derives::NodeWithMetadata)]
273pub struct MaskBorderRepeatStyleValue<'a>;
274
275#[syntax(" <'border-image-slice'> ")]
287#[derive(
288 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
289)]
290#[declaration_metadata(
291 initial = "0",
292 applies_to = Unknown,
293 animation_type = ByComputedValue,
294 percentages = BorderImageArea,
295 shorthands = MaskBorder,
296 reset_by = Mask,
297 property_group = Masking,
298 computed_value_type = AsSpecified,
299 canonical_order = "per grammar",
300)]
301#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
302#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-border-slice"))]
303#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
304#[derive(csskit_derives::NodeWithMetadata)]
305pub struct MaskBorderSliceStyleValue<'a>;
306
307#[syntax(" <'border-image-source'> ")]
319#[derive(
320 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
321)]
322#[declaration_metadata(
323 initial = "none",
324 applies_to = Unknown,
325 animation_type = Discrete,
326 shorthands = MaskBorder,
327 reset_by = Mask,
328 property_group = Masking,
329 computed_value_type = Unknown,
330 canonical_order = "per grammar",
331)]
332#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
333#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-border-source"))]
334#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
335#[derive(csskit_derives::NodeWithMetadata)]
336pub struct MaskBorderSourceStyleValue<'a>;
337
338#[syntax(" <'border-image-width'> ")]
350#[derive(
351 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
352)]
353#[declaration_metadata(
354 initial = "auto",
355 applies_to = Unknown,
356 animation_type = ByComputedValue,
357 percentages = BorderImageArea,
358 shorthands = MaskBorder,
359 reset_by = Mask,
360 property_group = Masking,
361 computed_value_type = Unknown,
362 canonical_order = "per grammar",
363)]
364#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
365#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-border-width"))]
366#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
367#[derive(csskit_derives::NodeWithMetadata)]
368pub struct MaskBorderWidthStyleValue<'a>;
369
370#[syntax(" [ <coord-box> | no-clip ]# ")]
382#[derive(
383 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
384)]
385#[declaration_metadata(
386 initial = "border-box",
387 applies_to = Unknown,
388 animation_type = Discrete,
389 shorthands = Mask,
390 property_group = Masking,
391 computed_value_type = Unknown,
392 canonical_order = "per grammar",
393)]
394#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
395#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-clip"))]
396#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
397#[derive(csskit_derives::NodeWithMetadata)]
398pub struct MaskClipStyleValue<'a>;
399
400#[syntax(" <compositing-operator># ")]
412#[derive(
413 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
414)]
415#[declaration_metadata(
416 initial = "add",
417 applies_to = Unknown,
418 animation_type = Discrete,
419 shorthands = Mask,
420 property_group = Masking,
421 computed_value_type = Unknown,
422 canonical_order = "per grammar",
423)]
424#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
425#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-composite"))]
426#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
427#[derive(csskit_derives::NodeWithMetadata)]
428pub struct MaskCompositeStyleValue<'a>;
429
430#[syntax(" <mask-reference># ")]
442#[derive(
443 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
444)]
445#[declaration_metadata(
446 initial = "none",
447 applies_to = Unknown,
448 animation_type = Discrete,
449 shorthands = Mask,
450 property_group = Masking,
451 computed_value_type = Unknown,
452 canonical_order = "per grammar",
453)]
454#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
455#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-image"))]
456#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
457#[derive(csskit_derives::NodeWithMetadata)]
458pub struct MaskImageStyleValue<'a>;
459
460#[syntax(" <masking-mode># ")]
472#[derive(
473 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
474)]
475#[declaration_metadata(
476 initial = "match-source",
477 applies_to = Unknown,
478 animation_type = Discrete,
479 shorthands = Mask,
480 property_group = Masking,
481 computed_value_type = Unknown,
482 canonical_order = "per grammar",
483)]
484#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
485#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-mode"))]
486#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
487#[derive(csskit_derives::NodeWithMetadata)]
488pub struct MaskModeStyleValue<'a>;
489
490#[syntax(" <coord-box># ")]
502#[derive(
503 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
504)]
505#[declaration_metadata(
506 initial = "border-box",
507 applies_to = Unknown,
508 animation_type = Discrete,
509 shorthands = Mask,
510 property_group = Masking,
511 computed_value_type = Unknown,
512 canonical_order = "per grammar",
513)]
514#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
515#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-origin"))]
516#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
517#[derive(csskit_derives::NodeWithMetadata)]
518pub struct MaskOriginStyleValue<'a>;
519
520#[syntax(" <position># ")]
532#[derive(
533 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
534)]
535#[declaration_metadata(
536 initial = "0% 0%",
537 applies_to = Unknown,
538 animation_type = RepeatableList,
539 percentages = Unknown,
540 shorthands = Mask,
541 property_group = Masking,
542 computed_value_type = AbsoluteLengthOrPercentage,
543 canonical_order = "per grammar",
544)]
545#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
546#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-position"))]
547#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
548#[derive(csskit_derives::NodeWithMetadata)]
549pub struct MaskPositionStyleValue<'a>;
550
551#[syntax(" <repeat-style># ")]
563#[derive(
564 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
565)]
566#[declaration_metadata(
567 initial = "repeat",
568 applies_to = Unknown,
569 animation_type = Discrete,
570 shorthands = Mask,
571 property_group = Masking,
572 computed_value_type = Unknown,
573 canonical_order = "per grammar",
574)]
575#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
576#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-repeat"))]
577#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
578#[derive(csskit_derives::NodeWithMetadata)]
579pub struct MaskRepeatStyleValue<'a>;
580
581#[syntax(" <bg-size># ")]
593#[derive(
594 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
595)]
596#[declaration_metadata(
597 initial = "auto",
598 applies_to = Unknown,
599 animation_type = RepeatableList,
600 shorthands = Mask,
601 property_group = Masking,
602 computed_value_type = Unknown,
603 canonical_order = "per grammar",
604)]
605#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
606#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-size"))]
607#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
608#[derive(csskit_derives::NodeWithMetadata)]
609pub struct MaskSizeStyleValue<'a>;
610
611#[syntax(" luminance | alpha ")]
623#[derive(
624 Parse, Peek, ToSpan, ToCursors, DeclarationMetadata, SemanticEq, Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash,
625)]
626#[declaration_metadata(
627 initial = "luminance",
628 applies_to = Unknown,
629 animation_type = Discrete,
630 property_group = Masking,
631 computed_value_type = AsSpecified,
632 canonical_order = "per grammar",
633)]
634#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
635#[cfg_attr(feature = "css_feature_data", derive(ToCSSFeature), css_feature("css.properties.mask-type"))]
636#[cfg_attr(feature = "visitable", derive(Visitable), visit)]
637#[derive(csskit_derives::NodeWithMetadata)]
638pub enum MaskTypeStyleValue<'a> {}