1use crate::CssAtomSet;
2use css_parse::{Diagnostic, pseudo_class, pseudo_element};
3use csskit_derives::{SemanticEq, ToCursors, ToSpan};
4
5pseudo_element!(
6 #[derive(ToCursors, ToSpan, SemanticEq, Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
7 #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
8 #[cfg_attr(feature = "visitable", derive(csskit_derives::Visitable), visit(self))]
9#[derive(csskit_derives::NodeWithMetadata)]
10 pub enum OPseudoElement {
11 InnerSpinButton: CssAtomSet::_OInnerSpinButton,
12 OuterSpinButton: CssAtomSet::_OOuterSpinButton,
13 Placeholder: CssAtomSet::_OPlaceholder,
14 Scrollbar: CssAtomSet::_OScrollbar,
15 ScrollbarThumb: CssAtomSet::_OScrollbarThumb,
16 ScrollbarTrack: CssAtomSet::_OScrollbarTrack,
17 ScrollbarTrackPiece: CssAtomSet::_OScrollbarTrackPiece,
18 Selection: CssAtomSet::_OSelection,
19 }
20);
21
22pseudo_class!(
23 #[derive(ToCursors, ToSpan, SemanticEq, Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
24 #[cfg_attr(feature = "serde", derive(serde::Serialize), serde())]
25 #[cfg_attr(feature = "visitable", derive(csskit_derives::Visitable), visit(self))]
26#[derive(csskit_derives::NodeWithMetadata)]
27 pub enum OPseudoClass {
28 Prefocus: CssAtomSet::_OPrefocus,
29 }
30);