Skip to main content

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