Skip to main content

css_ast/rules/media/features/
ms.rs

1use super::prelude::*;
2use crate::{CSSFloat, CSSInt};
3
4#[node]
5#[derive(Parse, Peek, ToCursors, ToSpan, SemanticEq, Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
6#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
7#[cfg_attr(feature = "visitable", derive(csskit_derives::Visitable), visit(skip))]
8#[derive(csskit_derives::NodeWithMetadata)]
9pub enum MsHighContrastMediaFeatureKeyword {
10	#[atom(CssAtomSet::None)]
11	None(T![Ident]),
12	#[atom(CssAtomSet::Active)]
13	Active(T![Ident]),
14}
15
16discrete_feature!(
17	#[node]
18	#[derive(ToCursors, ToSpan, SemanticEq, Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
19	#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
20	#[derive(csskit_derives::FeatureMetadata)]
21	#[feature_metadata(CssAtomSet::_MsHighContrast)]
22	#[cfg_attr(feature = "visitable", derive(csskit_derives::Visitable), visit)]
23#[derive(csskit_derives::NodeWithMetadata)]
24	pub enum MsHighContrastMediaFeature{CssAtomSet::_MsHighContrast, MsHighContrastMediaFeatureKeyword}
25);
26#[node]
27#[derive(Parse, Peek, ToCursors, ToSpan, SemanticEq, Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
28#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
29#[cfg_attr(feature = "visitable", derive(csskit_derives::Visitable), visit(skip))]
30#[derive(csskit_derives::NodeWithMetadata)]
31pub enum MsViewStateMediaFeatureKeyword {
32	#[atom(CssAtomSet::Snapped)]
33	Snapped(T![Ident]),
34	#[atom(CssAtomSet::FullscreenPortait)]
35	FullscreenPortait(T![Ident]),
36	#[atom(CssAtomSet::FullscreenLandscape)]
37	FullscreenLandscape(T![Ident]),
38}
39
40discrete_feature!(
41	#[node]
42	#[derive(ToCursors, ToSpan, SemanticEq, Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
43	#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
44	#[derive(csskit_derives::FeatureMetadata)]
45	#[feature_metadata(CssAtomSet::_MsViewState)]
46	#[cfg_attr(feature = "visitable", derive(csskit_derives::Visitable), visit)]
47#[derive(csskit_derives::NodeWithMetadata)]
48	pub enum MsViewStateMediaFeature{CssAtomSet::_MsViewState, MsViewStateMediaFeatureKeyword}
49);
50
51#[node]
52#[derive(Parse, Peek, ToCursors, ToSpan, SemanticEq, Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
53#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
54#[cfg_attr(feature = "visitable", derive(csskit_derives::Visitable), visit(skip))]
55#[derive(csskit_derives::NodeWithMetadata)]
56pub struct MsImeAlignMediaFeatureKeyword(#[atom(CssAtomSet::Auto)] T![Ident]);
57
58discrete_feature!(
59	#[node]
60	#[derive(ToCursors, ToSpan, SemanticEq, Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
61	#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
62	#[derive(csskit_derives::FeatureMetadata)]
63	#[feature_metadata(CssAtomSet::_MsImeAlign)]
64	#[cfg_attr(feature = "visitable", derive(csskit_derives::Visitable), visit)]
65#[derive(csskit_derives::NodeWithMetadata)]
66	pub enum MsImeAlignMediaFeature{CssAtomSet::_MsImeAlign, MsImeAlignMediaFeatureKeyword}
67);
68
69ranged_feature!(
70	#[node]
71	#[derive(ToCursors, ToSpan, SemanticEq, Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
72	#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
73	#[derive(csskit_derives::FeatureMetadata)]
74	#[feature_metadata(CssAtomSet::_MsDevicePixelRatio)]
75	#[cfg_attr(feature = "visitable", derive(csskit_derives::Visitable), visit)]
76#[derive(csskit_derives::NodeWithMetadata)]
77	pub enum MsDevicePixelRatioMediaFeature{CssAtomSet::_MsDevicePixelRatio | CssAtomSet::_MsMinDevicePixelRatio | CssAtomSet::_MsMaxDevicepixelRatio, CSSFloat}
78);
79
80ranged_feature!(
81	#[node]
82	#[derive(ToCursors, ToSpan, SemanticEq, Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
83	#[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
84	#[derive(csskit_derives::FeatureMetadata)]
85	#[feature_metadata(CssAtomSet::_MsColumnCount)]
86	#[cfg_attr(feature = "visitable", derive(csskit_derives::Visitable), visit)]
87#[derive(csskit_derives::NodeWithMetadata)]
88	pub enum MsColumnCountMediaFeature{CssAtomSet::_MsColumnCount | CssAtomSet::_MsMinColumnCount | CssAtomSet::_MsMaxColumnCount, CSSInt}
89);