A music player that connects to your cloud/distributed storage.
at main 1.5 kB view raw
1module Chunky exposing (brick, bricky, chunk, chunky, inline, lineBreak, nothing, raw, rawy, slab, slaby) 2 3{-| Chunks, blocks and slabs. 4 5Convenience functions to build UIs with composable CSS classes. 6 7-} 8 9import Html exposing (Html) 10import Html.Attributes as A 11 12 13 14-- 1 15 16 17slab : 18 (List (Html.Attribute msg) -> List (Html msg) -> Html msg) 19 -> List (Html.Attribute msg) 20 -> List String 21 -> List (Html msg) 22 -> Html msg 23slab typ attributes stylingAttributes children = 24 typ 25 (A.class (String.join " " stylingAttributes) :: attributes) 26 children 27 28 29slaby : 30 (List (Html.Attribute msg) -> List (Html msg) -> Html msg) 31 -> List (Html.Attribute msg) 32 -> List String 33 -> Html msg 34 -> Html msg 35slaby a b c = 36 List.singleton >> slab a b c 37 38 39 40-- 2 41 42 43brick : List (Html.Attribute msg) -> List String -> List (Html msg) -> Html msg 44brick = 45 slab Html.div 46 47 48bricky : List (Html.Attribute msg) -> List String -> Html msg -> Html msg 49bricky a b = 50 List.singleton >> brick a b 51 52 53 54-- 3 55 56 57chunk : List String -> List (Html msg) -> Html msg 58chunk = 59 brick [] 60 61 62chunky : List String -> Html msg -> Html msg 63chunky a = 64 List.singleton >> chunk a 65 66 67inline : List String -> List (Html msg) -> Html msg 68inline = 69 slab Html.span [] 70 71 72 73-- 4 74 75 76raw : List (Html msg) -> Html msg 77raw = 78 chunk [] 79 80 81rawy : Html msg -> Html msg 82rawy = 83 List.singleton >> raw 84 85 86 87-- 5 88 89 90nothing : Html msg 91nothing = 92 Html.text "" 93 94 95lineBreak : Html msg 96lineBreak = 97 Html.br [] []