README

mizchi/crater-css/media does not have a README file

#
ColorScheme

pub(all) enum ColorScheme {
Light
Dark
} derive(Eq,
Debug
)

Color scheme preference
impl Show for ColorScheme

#
MediaEnvironment

pub(all) struct MediaEnvironment {
viewport_width : Double
viewport_height : Double
device_pixel_ratio : Double
color_scheme : ColorScheme
}

Environment for evaluating media queries

#
MediaEnvironment::new

fn MediaEnvironment::new(viewport_width : Double, viewport_height : Double) -> MediaEnvironment

Create a default media environment for screen

#
MediaEnvironment::with_color_scheme

fn MediaEnvironment::with_color_scheme(viewport_width : Double, viewport_height : Double, color_scheme : ColorScheme) -> MediaEnvironment

Create a media environment with color scheme

#
MediaFeature

pub enum MediaFeature {
Color
ColorGamut
ColorIndex
Grid
Hover
Monochrome
Pointer
Scripting
Update
Width(MediaValue?)
MinWidth(MediaValue)
MaxWidth(MediaValue)
Height(MediaValue?)
MinHeight(MediaValue)
MaxHeight(MediaValue)
AspectRatio(MediaValue?)
MinAspectRatio(MediaValue)
MaxAspectRatio(MediaValue)
Resolution(MediaValue?)
MinResolution(MediaValue)
MaxResolution(MediaValue)
WidthRange(RangeOp, MediaValue)
HeightRange(RangeOp, MediaValue)
Orientation(String)
DisplayMode(String)
PrefersColorScheme(String)
PrefersReducedMotion(String)
Custom(String, MediaValue?)
} derive(Eq,
Debug
)

Media feature (e.g., width, height, color, etc.)

#
MediaQuery

pub struct MediaQuery {
negated : Bool
only : Bool
media_type : MediaType?
conditions : Array[MediaFeature]
} derive(Eq,
Debug
)

A complete media query
impl Show for MediaQuery

#
MediaQuery::default

fn MediaQuery::default() -> MediaQuery

Create a default media query (matches all)

#
MediaQuery::evaluate

fn MediaQuery::evaluate(self : MediaQuery, env : MediaEnvironment) -> Bool

Evaluate a single media query

#
MediaQueryList

pub struct MediaQueryList {
queries : Array[MediaQuery]
} derive(Eq,
Debug
)

A list of media queries (comma-separated in CSS)

#
MediaQueryList::evaluate

fn MediaQueryList::evaluate(self : MediaQueryList, env : MediaEnvironment) -> Bool

Evaluate a media query list against the environment Returns true if ANY query in the list matches (OR semantics)

#
MediaQueryList::is_empty

fn MediaQueryList::is_empty(self : MediaQueryList) -> Bool

Check if a media query list is empty

#
MediaQueryList::length

fn MediaQueryList::length(self : MediaQueryList) -> Int

Get the number of queries

#
MediaQueryList::new

Create an empty media query list

#
MediaType

pub enum MediaType {
All
Screen
Print
Speech
} derive(Eq,
Debug
)

Media type (screen, print, all, etc.)
impl Show for MediaType

#
MediaValue

pub enum MediaValue {
Number(Double)
Dimension(Double, String)
Ratio(Int, Int)
Ident(String)
} derive(Eq,
Debug
)

Media feature value
impl Show for MediaValue

#
RangeOp

pub enum RangeOp {
Eq
Lt
Le
Gt
Ge
} derive(Eq,
Debug
)

Comparison operator for range queries
impl Show for RangeOp

#
parse_media_query_list

fn parse_media_query_list(input : String) -> MediaQueryList

Parse a media query list from a string e.g., "screen and (min-width: 768px), print"

Powered by MoonBit

Site sourceReport issuePackagesBuild queueSkillsStatistics

© 2026 mooncakes.io