Module Selectors

type attr_op =
  1. | Exists
  2. | Equals
  3. | Includes
  4. | Dash
  5. | Prefix
  6. | Suffix
  7. | Substring
type pseudo_class =
  1. | First_child
  2. | Last_child
  3. | Only_child
  4. | Nth_child of int * int
  5. | Not of complex list
  6. | Is of complex list * bool
  7. | Visited
  8. | Hover
  9. | Active
  10. | Focus
  11. | Root
  12. | Empty
  13. | Checked
  14. | Disabled
  15. | Enabled
and simple =
  1. | Type of string
  2. | Universal
  3. | Id of string
  4. | Class of string
  5. | Attr of string * attr_op * string * bool
  6. | Pseudo of pseudo_class
  7. | Pseudo_element of string
and combinator =
  1. | Descendant
  2. | Child
  3. | Next_sibling
  4. | Subsequent_sibling
and complex = (simple list * combinator option) list
val parse : Css_syntax.component list -> complex list option
val parse_string : string -> complex list option
val specificity : complex -> int * int * int
val pseudo_element : complex -> string option
val matches : ?visited:(string -> bool) -> complex -> Dom.element list -> Dom.element -> bool
val to_string : complex -> string