Sign in

    mizchi/crater/style does not have a README file

    AlignSelf

    pub(all) enum AlignSelf {
    Auto
    Start
    End
    Center
    Stretch
    Baseline
    }

    Align-self value (can override align-items for individual items)
    impl Eq for AlignSelf
    impl Show for AlignSelf

    Alignment

    pub(all) enum Alignment {
    Start
    End
    FlexStart
    FlexEnd
    Center
    SpaceBetween
    SpaceAround
    SpaceEvenly
    Stretch
    Baseline
    }

    Alignment for justify-content, align-items, etc. Note: Start/End are physical/logical directions (not affected by flex-wrap direction) FlexStart/FlexEnd are flex-relative (affected by wrap-reverse)
    impl Eq for Alignment
    impl Show for Alignment

    BorderCollapse

    pub(all) enum BorderCollapse {
    Separate
    Collapse
    }

    CSS border-collapse property (for tables)

    BoxSizing

    pub(all) enum BoxSizing {
    ContentBox
    BorderBox
    }

    CSS box-sizing property
    impl Eq for BoxSizing
    impl Show for BoxSizing

    CaptionSide

    pub(all) enum CaptionSide {
    Top
    Bottom
    }

    CSS caption-side property (for table captions)
    impl Eq for CaptionSide
    impl Show for CaptionSide

    Clear

    pub(all) enum Clear {
    None
    Left
    Right
    Both
    }

    CSS clear property
    impl Eq for Clear
    impl Show for Clear

    Contain

    pub(all) struct Contain {
    size : Bool
    inline_size : Bool
    layout : Bool
    paint : Bool
    style : Bool
    }

    CSS contain property - uses flags since multiple values can be combined e.g., "contain: layout paint" or "contain: strict"
    impl Eq for Contain
    impl Show for Contain

    Contain::content

    fn Contain::content() -> Contain

    content = layout + paint + style (no size)

    Contain::has_containment

    fn Contain::has_containment(self : Contain) -> Bool

    Contain::none

    fn Contain::none() -> Contain

    Contain::strict

    fn Contain::strict() -> Contain

    strict = size + layout + paint + style

    Display

    pub(all) enum Display {
    Block
    Inline
    InlineBlock
    Flex
    InlineFlex
    Grid
    InlineGrid
    Table
    InlineTable
    TableRow
    TableCell
    TableCaption
    TableRowGroup
    TableHeaderGroup
    TableFooterGroup
    TableColumn
    TableColumnGroup
    None
    Contents
    FlowRoot
    }

    CSS display property
    impl Eq for Display
    impl Show for Display

    FlexDirection

    pub(all) enum FlexDirection {
    Row
    RowReverse
    Column
    ColumnReverse
    }

    Flex direction
    impl Eq for FlexDirection

    FlexWrap

    pub(all) enum FlexWrap {
    NoWrap
    Wrap
    WrapReverse
    }

    Flex wrap mode
    impl Eq for FlexWrap
    impl Show for FlexWrap

    Float

    pub(all) enum Float {
    None
    Left
    Right
    }

    CSS float property
    impl Eq for Float
    impl Show for Float

    GridAutoFlow

    pub(all) enum GridAutoFlow {
    Row
    Column
    RowDense
    ColumnDense
    }

    Grid auto-flow direction
    impl Eq for GridAutoFlow

    GridLine

    pub(all) struct GridLine {
    start : GridPlacement
    end : GridPlacement
    }

    Grid line range (start and end)
    impl Eq for GridLine
    impl Show for GridLine

    GridLine::auto

    fn GridLine::auto() -> GridLine

    GridPlacement

    pub(all) enum GridPlacement {
    Auto
    Line(Int)
    Span(Int)
    }

    Grid line placement for grid items
    impl Eq for GridPlacement

    MaxTrackSizing

    pub(all) enum MaxTrackSizing {
    Length(Double)
    Percent(Double)
    Fr(Double)
    Auto
    MinContent
    MaxContent
    }

    Maximum track sizing function for minmax()

    MinTrackSizing

    pub(all) enum MinTrackSizing {
    Length(Double)
    Percent(Double)
    Auto
    MinContent
    MaxContent
    }

    Minimum track sizing function for minmax()

    Overflow

    pub(all) enum Overflow {
    Visible
    Hidden
    Scroll
    Auto
    }

    CSS overflow property
    impl Eq for Overflow
    impl Show for Overflow

    Position

    pub(all) enum Position {
    Static
    Relative
    Absolute
    Fixed
    }

    CSS position property
    impl Eq for Position
    impl Show for Position

    RepeatCount

    pub(all) enum RepeatCount {
    Count(Int)
    AutoFill
    AutoFit
    }

    Repeat count for repeat() function
    impl Eq for RepeatCount
    impl Show for RepeatCount

    SingleTrackSizing

    pub(all) enum SingleTrackSizing {
    Length(Double)
    Percent(Double)
    Fr(Double)
    Auto
    MinContent
    MaxContent
    MinMax(MinTrackSizing, MaxTrackSizing)
    FitContentLength(Double)
    FitContentPercent(Double)
    }

    Single track sizing function (non-repeating)

    Style

    pub(all) struct Style {
    display : Display
    position : Position
    float : Float
    clear : Clear
    box_sizing : BoxSizing
    overflow_x : Overflow
    overflow_y : Overflow
    width :
    Dimension

    height :
    Dimension

    min_width :
    Dimension

    min_height :
    Dimension

    max_width :
    Dimension

    max_height :
    Dimension

    margin :
    Rect
    [
    Dimension
    ]
    padding :
    Rect
    [
    Dimension
    ]
    border :
    Rect
    [
    Dimension
    ]
    flex_direction : FlexDirection
    flex_wrap : FlexWrap
    justify_content : Alignment
    align_items : Alignment
    align_content : Alignment
    align_self : AlignSelf
    flex_grow : Double
    flex_shrink : Double
    flex_basis :
    Dimension

    order : Int
    row_gap :
    Dimension

    column_gap :
    Dimension

    aspect_ratio : Double?
    inset :
    Rect
    [
    Dimension
    ]
    grid_template_rows : Array[TrackSizingFunction]
    grid_template_columns : Array[TrackSizingFunction]
    grid_auto_rows : Array[TrackSizingFunction]
    grid_auto_columns : Array[TrackSizingFunction]
    grid_auto_flow : GridAutoFlow
    grid_template_areas : Array[String]
    grid_row : GridLine
    grid_column : GridLine
    grid_area : String?
    justify_items : Alignment
    justify_self : AlignSelf
    font_size : Double
    line_height : Double
    vertical_align : VerticalAlign
    clip :
    ClipRect

    visibility : Visibility
    z_index : ZIndex
    opacity : Double
    color :
    Color

    background_color :
    Color

    contain : Contain
    transform : Transform
    border_spacing : Double
    border_collapse : BorderCollapse
    table_layout : TableLayout
    caption_side : CaptionSide
    rowspan : Int
    colspan : Int
    }

    CSS Style definition for layout computation All fields are mutable to support Yoga-like setter API

    Style::default

    fn Style::default() -> Style

    TableLayout

    pub(all) enum TableLayout {
    Auto
    Fixed
    }

    Table layout algorithm
    impl Eq for TableLayout
    impl Show for TableLayout

    TrackSizingFunction

    pub(all) enum TrackSizingFunction {
    Length(Double)
    Percent(Double)
    Fr(Double)
    Auto
    MinContent
    MaxContent
    MinMax(MinTrackSizing, MaxTrackSizing)
    Repeat(RepeatCount, Array[SingleTrackSizing])
    FitContentLength(Double)
    FitContentPercent(Double)
    }

    Track sizing function for grid-template-rows/columns

    Transform

    pub(all) struct Transform {
    translate_x : TranslateValue
    translate_y : TranslateValue
    }

    CSS transform property - list of transform functions Currently supports translate only for layout purposes
    impl Eq for Transform
    impl Show for Transform

    Transform::compute_translate_x

    fn Transform::compute_translate_x(self : Transform, element_width : Double) -> Double

    Compute translate X offset given element width

    Transform::compute_translate_y

    fn Transform::compute_translate_y(self : Transform, element_height : Double) -> Double

    Compute translate Y offset given element height

    Transform::is_none

    fn Transform::is_none(self : Transform) -> Bool

    Check if transform is identity (no visual change)

    Transform::none

    fn Transform::none() -> Transform

    Create a none/identity transform

    TranslateValue

    pub(all) enum TranslateValue {
    Length(Double)
    Percent(Double)
    }

    CSS transform translate value (can be length or percent)

    VerticalAlign

    pub(all) enum VerticalAlign {
    Baseline
    Top
    Middle
    Bottom
    TextTop
    TextBottom
    Sub
    Super
    }

    Vertical alignment for inline elements
    impl Eq for VerticalAlign

    Visibility

    pub(all) enum Visibility {
    Visible
    Hidden
    Collapse
    }

    CSS visibility property
    impl Eq for Visibility
    impl Show for Visibility

    ZIndex

    pub(all) enum ZIndex {
    Auto
    Value(Int)
    }

    CSS z-index property
    impl Eq for ZIndex
    impl Show for ZIndex

    Source Files