css_ast/rules/media/features/
ms.rs

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