elm-athlete / athlete / Elegant.Grid

align : Align -> { a | align : Maybe Align } -> { a | align : Maybe Align }

alignItems : AlignItems -> GridContainerCoordinate -> GridContainerCoordinate

alignItemsToCouple : String -> AlignItems -> ( String, String )

alignSelfToCouple : String -> Align -> ( String, String )

alignToCouple : String -> Align -> ( String, String )

alignToString : Align -> String

alignWrapper : Align -> AlignItems

auto : ValType

autofill : RepeatOption

autofit : RepeatOption

center : Align

columns : Modifiers GridContainerCoordinate -> GridContainerDetails -> GridContainerDetails

end : Align

fitContent : ValType -> Repeatable

fractionOfAvailableSpace : Basics.Int -> ValType

gap : Elegant.Helpers.Shared.SizeUnit -> GridContainerCoordinate -> GridContainerCoordinate

gridContainerCoordinateToCouples : String -> String -> GridContainerCoordinate -> List ( String, String )

gridContainerDetailsToCouples : GridContainerDetails -> List ( String, String )

gridItemCoordinateToCouples : String -> String -> GridItemCoordinate -> List ( String, String )

gridItemDetailsToCouples : GridItemDetails -> List ( String, String )

gutterToCouple : String -> Elegant.Helpers.Shared.SizeUnit -> ( String, String )

horizontal : Modifiers GridItemCoordinate -> GridItemDetails -> GridItemDetails

maxContent : ValType

minContent : ValType

minmax : ValType -> ValType -> Repeatable

placement : Basics.Int -> GridItemCoordinate -> GridItemCoordinate

placementToCouple : String -> Basics.Int -> ( String, String )

placementToString : Basics.Int -> String

size : GridItemSize -> GridItemCoordinate -> GridItemCoordinate

sizeToCouple : String -> GridItemSize -> ( String, String )

sizeToString : GridItemSize -> String

repeat : RepeatOption -> List Elegant.Helpers.Shared.SizeUnit -> Repeatable

repeatOptionToString : RepeatOption -> String

repeatableToString : Repeatable -> String

rows : Modifiers GridContainerCoordinate -> GridContainerDetails -> GridContainerDetails

simple : ValType -> Repeatable

sizeUnitVal : Elegant.Helpers.Shared.SizeUnit -> ValType

spaceAround : AlignItems

spaceBetween : AlignItems

spaceEvenly : AlignItems

spacingToString : Spacing -> String

span : Basics.Int -> GridItemSize

start : Align

stretch : Align

template : List Repeatable -> GridContainerCoordinate -> GridContainerCoordinate

templateToCouple : String -> GridTemplate -> ( String, String )

untilEndOfCoordinate : GridItemSize

valTypeToString : ValType -> String

vertical : Modifiers GridItemCoordinate -> GridItemDetails -> GridItemDetails

viewWidth : Basics.Int -> ValType


type alias GridItemDetails =
{ x : Maybe GridItemCoordinate
, y : Maybe GridItemCoordinate 
}


type alias GridItemCoordinate =
{ placement : Maybe Basics.Int
, size : Maybe GridItemSize
, align : Maybe Align 
}


type alias GridContainerDetails =
{ x : Maybe GridContainerCoordinate
, y : Maybe GridContainerCoordinate 
}


type alias GridContainerCoordinate =
{ gutter : Maybe Elegant.Helpers.Shared.SizeUnit
, align : Maybe Align
, alignItems : Maybe AlignItems
, template : Maybe GridTemplate 
}


type GridItemSize
    = UntilEndOfCoordinate
    | Span Basics.Int


type alias GridTemplate =
List Repeatable


type Repeatable
    = Simple ValType
    | Minmax ValType ValType
    | FitContent ValType
    | Repeat RepeatOption (List Elegant.Helpers.Shared.SizeUnit)


type ValType
    = SizeUnitVal Elegant.Helpers.Shared.SizeUnit
    | Fr Basics.Int
    | Vw Basics.Int
    | MinContent
    | MaxContent
    | Auto