[{"name":"Layout","comment":" write HTML like elm-ui\n\n\n# Html elements\n\n@docs none, container, el, column, row, orderedList, unorderedList, descriptionList, paragraph\n\n@docs heading1, heading2, heading3, heading4, heading5, heading6\n\n@docs image, linkTo, linkToNewTab, buttonEl, radio\n\n@docs lineBreak, horizontalRuler\n\n\n# Attributes\n\n@docs centered, noWrap, wrap\n\n@docs contentAtStart, contentAtEnd, contentCentered, contentWithSpaceBetween\n\n@docs alignAtStart, alignAtEnd, alignAtBaseline, alignAtCenter, alignStretched\n\n@docs gap\n\n\n## Size\n\n@docs fill, fillPortion\n\n\n## Sticky\n\n@docs sticky, stickyOnBottom, stickyOnTop\n\n\n## Role\n\n@docs asEl, asButton\n\n\n# Deprecated\n\n@docs button, centerContent, spaceBetween, spacing, alignBaseline, alignCenter\n\n","unions":[],"aliases":[],"values":[{"name":"alignAtBaseline","comment":"\n\n    alignAtBaseline =\n        Html.Attributes.style \"align-items\" \"baseline\"\n\n","type":"Html.Attribute msg"},{"name":"alignAtCenter","comment":"\n\n    alignAtCenter =\n        Html.Attributes.style \"align-items\" \"center\"\n\n","type":"Html.Attribute msg"},{"name":"alignAtEnd","comment":"\n\n    alignAtEnd =\n        Html.Attributes.style \"align-items\" \"flex-end\"\n\n","type":"Html.Attribute msg"},{"name":"alignAtStart","comment":"\n\n    alignAtStart =\n        Html.Attributes.style \"align-items\" \"flex-start\"\n\n","type":"Html.Attribute msg"},{"name":"alignBaseline","comment":" @Deprecated use `alignAtBaseline` instead\n","type":"Html.Attribute msg"},{"name":"alignCenter","comment":" @deprecated Use `alignAtCenter` instead\n","type":"Html.Attribute msg"},{"name":"alignStretched","comment":"\n\n    alignStretched =\n        Html.Attributes.style \"align-items\" \"stretch\"\n\n","type":"Html.Attribute msg"},{"name":"asButton","comment":" Turns anything into a button\n\n    asButton args =\n        [ Html.Attributes.style \"cursor\" \"pointer\"\n        , Html.Attributes.attribute \"aria-label\" args.label\n        , Html.Attributes.attribute \"role\" \"button\"\n        ]\n            ++ (args.onPress\n                    |> Maybe.map (\\msg -> [ Html.Events.onClick msg ])\n                    |> Maybe.withDefault []\n               )\n\n","type":"{ onPress : Maybe.Maybe msg, label : String.String } -> List.List (Html.Attribute msg)"},{"name":"asEl","comment":"\n\n    asEl =\n        Html.Attributes.style \"display\" \"flex\"\n\n","type":"Html.Attribute msg"},{"name":"button","comment":" @deprecated type signature will change in next major update. Until then, use `buttonEl`.\n\n    button args attrs =\n        Html.div (asButton args ++ attrs)\n            [ Html.text args.label ]\n\n","type":"{ onPress : Maybe.Maybe msg, label : String.String } -> List.List (Html.Attribute msg) -> Html.Html msg"},{"name":"buttonEl","comment":"\n\n    buttonEl args attrs content =\n        Html.button (asEl :: asButton args ++ attrs)\n            [ content ]\n\n","type":"{ onPress : Maybe.Maybe msg, label : String.String } -> List.List (Html.Attribute msg) -> Html.Html msg -> Html.Html msg"},{"name":"centerContent","comment":" @deprecated use `contentCentered` instead\n\n    centerContent =\n        Html.Attributes.style \"justify-content\" \"center\"\n\n","type":"Html.Attribute msg"},{"name":"centered","comment":"\n\n    centered =\n        [ contentCentered, alignAtCenter ]\n\n","type":"List.List (Html.Attribute msg)"},{"name":"column","comment":"\n\n    column attrs =\n        Html.div\n            ([ Html.Attributes.style \"display\" \"flex\"\n             , Html.Attributes.style \"flex-direction\" \"column\"\n             ]\n                ++ attrs\n            )\n\n","type":"List.List (Html.Attribute msg) -> List.List (Html.Html msg) -> Html.Html msg"},{"name":"container","comment":" Fills the entire screen. Should be the outer most element.\n\n    container attrs =\n        el\n            ([ Html.Attributes.style \"width\" \"100%\"\n             , Html.Attributes.style \"height\" \"100%\"\n             , Html.Attributes.style \"position\" \"absolute\"\n             , Html.Attributes.style \"left\" \"0px\"\n             , Html.Attributes.style \"top\" \"0px\"\n             ]\n                ++ attrs\n            )\n\n","type":"List.List (Html.Attribute msg) -> Html.Html msg -> Html.Html msg"},{"name":"contentAtEnd","comment":"\n\n    contentAtEnd =\n        Html.Attributes.style \"justify-content\" \"flex-end\"\n\n","type":"Html.Attribute msg"},{"name":"contentAtStart","comment":"\n\n    contentAtStart =\n        Html.Attributes.style \"justify-content\" \"flex-start\"\n\n","type":"Html.Attribute msg"},{"name":"contentCentered","comment":"\n\n    contentCentered =\n        Html.Attributes.style \"justify-content\" \"center\"\n\n","type":"Html.Attribute msg"},{"name":"contentWithSpaceBetween","comment":"\n\n    contentWithSpaceBetween =\n        Html.Attributes.style \"justify-content\" \"space-between\"\n\n","type":"Html.Attribute msg"},{"name":"descriptionList","comment":"\n\n    descriptionList attrs content =\n        Html.dl\n            (Html.Attributes.style \"display\" \"flex\" :: attrs)\n            (content\n                |> List.concatMap\n                    (\\{ description, item } ->\n                        [ description |> (\\( a, h ) -> Html.dt a [ h ])\n                        , item |> (\\( a, h ) -> Html.dd a [ h ])\n                        ]\n                    )\n            )\n\n","type":"List.List (Html.Attribute msg) -> List.List { description : ( List.List (Html.Attribute msg), Html.Html msg ), item : ( List.List (Html.Attribute msg), Html.Html msg ) } -> Html.Html msg"},{"name":"el","comment":"\n\n    el attrs content =\n        Html.div\n            (Html.Attributes.style \"display\" \"flex\"\n                :: attrs\n            )\n            [ content ]\n\n","type":"List.List (Html.Attribute msg) -> Html.Html msg -> Html.Html msg"},{"name":"fill","comment":"\n\n    fill =\n        fillPortion 1\n\n","type":"Html.Attribute msg"},{"name":"fillPortion","comment":"\n\n    fillPortion n =\n        Html.Attributes.style \"flex\" (String.fromInt n)\n\n","type":"Basics.Int -> Html.Attribute msg"},{"name":"gap","comment":"\n\n    gap n =\n        Html.Attributes.style \"gap\" (String.fromFloat n ++ \"px\")\n\n","type":"Basics.Float -> Html.Attribute msg"},{"name":"heading1","comment":"\n\n    heading1 attrs content =\n        Html.h1\n            (Html.Attributes.style \"display\" \"flex\" :: attrs)\n            [ content ]\n\n","type":"List.List (Html.Attribute msg) -> Html.Html msg -> Html.Html msg"},{"name":"heading2","comment":"\n\n    heading2 attrs content =\n        Html.h2\n            (Html.Attributes.style \"display\" \"flex\" :: attrs)\n            [ content ]\n\n","type":"List.List (Html.Attribute msg) -> Html.Html msg -> Html.Html msg"},{"name":"heading3","comment":"\n\n    heading3 attrs content =\n        Html.h3\n            (Html.Attributes.style \"display\" \"flex\" :: attrs)\n            [ content ]\n\n","type":"List.List (Html.Attribute msg) -> Html.Html msg -> Html.Html msg"},{"name":"heading4","comment":"\n\n    heading4 attrs content =\n        Html.h4\n            (Html.Attributes.style \"display\" \"flex\" :: attrs)\n            [ content ]\n\n","type":"List.List (Html.Attribute msg) -> Html.Html msg -> Html.Html msg"},{"name":"heading5","comment":"\n\n    heading5 attrs content =\n        Html.h5\n            (Html.Attributes.style \"display\" \"flex\" :: attrs)\n            [ content ]\n\n","type":"List.List (Html.Attribute msg) -> Html.Html msg -> Html.Html msg"},{"name":"heading6","comment":"\n\n    heading6 attrs content =\n        Html.h6\n            (Html.Attributes.style \"display\" \"flex\" :: attrs)\n            [ content ]\n\n","type":"List.List (Html.Attribute msg) -> Html.Html msg -> Html.Html msg"},{"name":"horizontalRuler","comment":"\n\n    horizontalRuler attrs =\n        Html.hr attrs []\n\n","type":"List.List (Html.Attribute msg) -> Html.Html msg"},{"name":"image","comment":"\n\n    image attrs args =\n        Html.img\n            ([ Html.Attributes.src args.src\n             , Html.Attributes.alt args.description\n             ]\n                ++ attrs\n            )\n            []\n\n","type":"List.List (Html.Attribute msg) -> { src : String.String, description : String.String } -> Html.Html msg"},{"name":"lineBreak","comment":"\n\n    lineBreak =\n        Html.br [] []\n\n","type":"Html.Html msg"},{"name":"linkTo","comment":"\n\n    linkTo link attrs content =\n        Html.a\n            (Html.Attributes.href link\n                :: attrs\n            )\n            [ content ]\n\n","type":"String.String -> List.List (Html.Attribute msg) -> Html.Html msg -> Html.Html msg"},{"name":"linkToNewTab","comment":"\n\n    linkToNewTab link attrs content =\n        Html.a\n            ([ Html.Attributes.href link\n             , Html.Attributes.target \"_blank\"\n             ]\n                ++ attrs\n            )\n            [ content ]\n\n","type":"String.String -> List.List (Html.Attribute msg) -> Html.Html msg -> Html.Html msg"},{"name":"noWrap","comment":"\n\n    noWrap =\n        Html.Attributes.style \"flex-wrap\" \"nowrap\"\n\n","type":"Html.Attribute msg"},{"name":"none","comment":"\n\n    none =\n        Html.text \"\"\n\n","type":"Html.Html msg"},{"name":"orderedList","comment":"\n\n    orderedList attrs content =\n        Html.ol\n            (Html.Attributes.style \"display\" \"flex\" :: attrs)\n            (content\n                |> List.map (\\( a, h ) -> Html.li a [ h ])\n            )\n\n","type":"List.List (Html.Attribute msg) -> List.List ( List.List (Html.Attribute msg), Html.Html msg ) -> Html.Html msg"},{"name":"paragraph","comment":"\n\n    paragraph attrs content =\n        Html.p\n            (Html.Attributes.style \"display\" \"flex\" :: attrs)\n            [ content ]\n\n","type":"List.List (Html.Attribute msg) -> Html.Html msg -> Html.Html msg"},{"name":"radio","comment":"\n\n    radio args attrs =\n        Html.input\n            ([ Html.Attributes.type_ \"radio\"\n             , Html.Attributes.checked args.checked\n             , Html.Attributes.attribute \"aria-label\" args.label\n             ]\n                ++ attrs\n            )\n            []\n\n","type":"{ onChange : Basics.Bool -> msg, checked : Basics.Bool, label : String.String } -> List.List (Html.Attribute msg) -> Html.Html msg"},{"name":"row","comment":"\n\n    row attrs =\n        Html.div\n            ([ Html.Attributes.style \"display\" \"flex\"\n             , Html.Attributes.style \"flex-direction\" \"row\"\n             , Html.Attributes.style \"flex-wrap\" \"wrap\"\n             ]\n                ++ attrs\n            )\n\nWill wrap into the next line if there is not enough space.\n\nIf you don't want this behavior, you can just add `noWrap`:\n\n    unwrappedRow attrs =\n        Layout.row (Layout.noWrap ++ attrs)\n\n","type":"List.List (Html.Attribute msg) -> List.List (Html.Html msg) -> Html.Html msg"},{"name":"spaceBetween","comment":" @deprecated use `contentWithSpaceBetween` instead\n\n    spaceBetween =\n        Html.Attributes.style \"justify-content\" \"space-between\"\n\n","type":"Html.Attribute msg"},{"name":"spacing","comment":" @deprecated use `gap` instead.\n","type":"Basics.Float -> Html.Attribute msg"},{"name":"sticky","comment":"\n\n    sticky =\n        [ Html.Attributes.style \"position\" \"sticky\"\n        , Html.Attributes.style \"z-index\" \"99999\"\n        ]\n\n","type":"List.List (Html.Attribute msg)"},{"name":"stickyOnBottom","comment":"\n\n    stickyOnBottom =\n        [ Html.Attributes.style \"position\" \"sticky\"\n        , Html.Attributes.style \"bottom\" \"0\"\n        , Html.Attributes.style \"z-index\" \"99999\"\n        ]\n\n","type":"List.List (Html.Attribute msg)"},{"name":"stickyOnTop","comment":"\n\n    stickyOnTop =\n        [ Html.Attributes.style \"position\" \"sticky\"\n        , Html.Attributes.style \"top\" \"0\"\n        , Html.Attributes.style \"z-index\" \"99999\"\n        ]\n\n","type":"List.List (Html.Attribute msg)"},{"name":"unorderedList","comment":"\n\n    unorderedList attrs content =\n        Html.ul\n            (Html.Attributes.style \"display\" \"flex\" :: attrs)\n            (content\n                |> List.map (\\( a, h ) -> Html.li a [ h ])\n            )\n\n","type":"List.List (Html.Attribute msg) -> List.List ( List.List (Html.Attribute msg), Html.Html msg ) -> Html.Html msg"},{"name":"wrap","comment":"\n\n    wrap =\n        Html.Attributes.style \"flex-wrap\" \"wrap\"\n\n","type":"Html.Attribute msg"}],"binops":[]}]