[{"name":"BodyBuilder","comment":" This module entirely replaces Html, providing a type-safer alternatives.\nThis also manages inlining styling through Elegant.\nIt is perfectly compatible with Html, though.\n\n  - [Types](#types)\n      - [Elements](#elements-types)\n      - [Attributes](#attributes)\n  - [Elements](#elements)\n      - [Special](#special)\n      - [Inline](#inline)\n      - [Block](#block)\n  - [Program](#program)\n\n\n# Types\n\n\n## Elements Types\n\n@docs Node, FlexItem, GridItem, Option, NodeWithStyle\n\n@docs Document\n\n\n## Attributes\n\n@docs BlockAttributes\n\n\n# Elements\n\n\n## Special\n\n@docs text, none, flexItem, gridItem, option, br\n\n\n## Inline\n\nThose elements are inline by default. However, their behavior can be overrided by\nusing `Style.block []`. They become block, and behaves like this.\n\n@docs node, span, flex, grid, a, button, img, audio, inputColor, inputFile, inputHidden, inputNumber, inputCheckbox, inputPassword, inputRadio, inputRange, inputSubmit, inputTel, inputText, inputEmail, inputUrl, progress, select, textarea\n\n\n## Block\n\nThose elements are block by default. Their behavior can't be overrided.\nIt is possible to style those elements using `Style.blockProperties`.\n\n@docs div, header, footer, nav, section, article, aside, h1, h2, h3, h4, h5, h6, p\n\n\n# Programs\n\n@docs element\n@docs sandbox\n@docs staticPage\n@docs application\n@docs document\n\n\n# Lazy\n\n@docs lazy\n@docs lazy2\n@docs lazy3\n@docs lazy4\n@docs lazy5\n@docs stylise\n@docs stylise2\n@docs stylise3\n@docs stylise4\n@docs stylise5\n\n","unions":[{"name":"FlexItem","comment":" The type of the flex items. A flex container contains only specific items.\nThose are represented by this type. They're generated by the flexItem function,\nto be used exclusively in flex.\n","args":["msg"],"cases":[]},{"name":"GridItem","comment":" The type of the grid items. A grid container contains only specific items.\nThose are represented by this type. They're generated by the gridItem function,\nto be used exclusively in grid.\n","args":["msg"],"cases":[]},{"name":"Option","comment":" Represents the different options used in select items. They're generated by\nthe option function, exclusively to be used in select.\n","args":["msg"],"cases":[]}],"aliases":[{"name":"BlockAttributes","comment":" Represents the attributes for a block element, i.e. an element which can't be\nanything else other than a block. This includes titles, paragraph, section, nav,\narticle, aside, footer, header and div. This element have to use `Style.blockProperties`\nto set style on them.\n","args":["msg"],"type":"BodyBuilder.Attributes.HeadingAttributes msg"},{"name":"Document","comment":" Document, like in Browser, but for BodyBuilder.\n","args":["msg"],"type":"{ title : String.String, body : BodyBuilder.NodeWithStyle msg }"},{"name":"Node","comment":" The main type of BodyBuilder. It is an alias to Html, in order to keep\nperfect backward compatibility.\n","args":["msg"],"type":"Html.Html msg"},{"name":"NodeWithStyle","comment":" NodeWithStyle is allowing BodyBuilder to have Nodes with styles inside them.\nIt is the central type of Bodybuilder, and inside that type resides the key asset of\nBodyBuilder and Elegant\n","args":["msg"],"type":"( BodyBuilder.Node msg, List.List String.String )"}],"values":[{"name":"a","comment":" Generates a link in the DOM. A link is inline by default, but\nchanges its behavior when specifically set as block. You don't have to worry about\nthe display: use an a whenever you want, style like you want, it will adapt to\nwhat you wrote.\n\n    inlineLink : NodeWithStyle msg\n    inlineLink =\n        -- This produces an inline a in the DOM.\n        BodyBuilder.a [] []\n\n    blockLink : NodeWithStyle msg\n    blockLink =\n        -- This produces a block a in the DOM.\n        BodyBuilder.a [ BodyBuilder.Attributes.style [ Style.block [] ] ] []\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.AAttributes msg) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"application","comment":" Creates a program, like you could with Html.\n","type":"{ init : flags -> Url.Url -> Browser.Navigation.Key -> ( model, Platform.Cmd.Cmd msg ), view : model -> BodyBuilder.Document msg, update : msg -> model -> ( model, Platform.Cmd.Cmd msg ), subscriptions : model -> Platform.Sub.Sub msg, onUrlRequest : Browser.UrlRequest -> msg, onUrlChange : Url.Url -> msg } -> Platform.Program flags model msg"},{"name":"article","comment":" Generates the corresponding article in the DOM. This is used mainly to respect\nthe HTML semantic and for accessibility.\n","type":"Modifiers.Modifiers (BodyBuilder.BlockAttributes msg) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"aside","comment":" Generates the corresponding aside in the DOM. This is used mainly to respect\nthe HTML semantic and for accessibility.\n","type":"Modifiers.Modifiers (BodyBuilder.BlockAttributes msg) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"audio","comment":" Generates an audio in the DOM. An audio is inline by default, but\nchanges its behavior when specifically set as block. You don't have to worry about\nthe display: use an audio whenever you want, style like you want, it will adapt to\nwhat you wrote.\n\n    inlineAudio : NodeWithStyle msg\n    inlineAudio =\n        -- This produces an inline audio in the DOM.\n        BodyBuilder.audio [] []\n\n    blockAudio : NodeWithStyle msg\n    blockAudio =\n        -- This produces a block audio in the DOM.\n        BodyBuilder.audio [ BodyBuilder.Attributes.style [ Style.block [] ] ] []\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.AudioAttributes msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"br","comment":" Puts a br in the DOM. You can't set any attributes or events on it, since\nyou want br to insert a carriage return.\n","type":"BodyBuilder.NodeWithStyle msg"},{"name":"button","comment":" Generates a button in the DOM. A button is inline by default, but\nchanges its behavior when specifically set as block. You don't have to worry about\nthe display: use an button whenever you want, style like you want, it will adapt to\nwhat you wrote.\n\n    inlineButton : NodeWithStyle msg\n    inlineButton =\n        -- This produces an inline button in the DOM.\n        BodyBuilder.button [] []\n\n    blockButton : NodeWithStyle msg\n    blockButton =\n        -- This produces a block button in the DOM.\n        BodyBuilder.button [ BodyBuilder.Attributes.style [ Style.block [] ] ] []\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.ButtonAttributes msg) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"div","comment":" For backward compatibilty. It behaves like div in Html.\n","type":"Modifiers.Modifiers (BodyBuilder.BlockAttributes msg) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"document","comment":" Creates a progarm, like Html.\n","type":"{ init : flags -> ( model, Platform.Cmd.Cmd msg ), view : model -> BodyBuilder.Document msg, update : msg -> model -> ( model, Platform.Cmd.Cmd msg ), subscriptions : model -> Platform.Sub.Sub msg } -> Platform.Program flags model msg"},{"name":"element","comment":" Creates a program, like you could with Html. This allows you to completely\noverrides Html to focus on BodyBuilder.\n","type":"{ init : flags -> ( model, Platform.Cmd.Cmd msg ), subscriptions : model -> Platform.Sub.Sub msg, update : msg -> model -> ( model, Platform.Cmd.Cmd msg ), view : model -> BodyBuilder.NodeWithStyle msg } -> Platform.Program flags model msg"},{"name":"flex","comment":" Generates an inline flex in the DOM. A flex is inline by default, but\nchanges its behavior when specifically set as block. You don't have to worry about\nthe display: use a flex whenever you want, style like you want, it will adapt to\nwhat you wrote.\n\n    inlineFlex : NodeWithStyle msg\n    inlineFlex =\n        -- This produces an inline flex in the DOM.\n        BodyBuilder.flex [] []\n\n    blockFlex : NodeWithStyle msg\n    blockFlex =\n        -- This produces a block flex in the DOM.\n        BodyBuilder.flex [ BodyBuilder.Attributes.style [ Style.block [] ] ] []\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.FlexContainerAttributes msg) -> List.List (BodyBuilder.FlexItem msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"flexItem","comment":" Generates a flexItem in the DOM. A flexItem is only used inside flex, and\ncan contains the specific styling of the flexChildren.\n\n    flexElement : NodeWithStyle msg\n    flexElement =\n        BodyBuilder.flex []\n            [ BodyBuilder.flexItem []\n                [ Html.text \"I'm inside a flex-item!\" ]\n            ]\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.FlexItemAttributes msg) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.FlexItem msg"},{"name":"footer","comment":" Generates the corresponding footer in the DOM. This is used mainly to respect\nthe HTML semantic and for accessibility.\n","type":"Modifiers.Modifiers (BodyBuilder.BlockAttributes msg) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"grid","comment":" Generates an inline grid in the DOM. A grid is inline by default, but\nchanges its behavior when specifically set as block. You don't have to worry about\nthe display: use a grid whenever you want, style like you want, it will adapt to\nwhat you wrote.\n\n    inlineGrid : NodeWithStyle msg\n    inlineGrid =\n        -- This produces an inline grid in the DOM.\n        BodyBuilder.grid [] []\n\n    blockGrid : NodeWithStyle msg\n    blockGrid =\n        -- This produces a block grid in the DOM.\n        BodyBuilder.grid [ BodyBuilder.Attributes.style [ Style.block [] ] ] []\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.GridContainerAttributes msg) -> List.List (BodyBuilder.GridItem msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"gridItem","comment":" Generates a gridItem in the DOM. A gridItem is only used inside grid, and\ncan contains the specific styling of the gridChildren.\n\n    gridElement : NodeWithStyle msg\n    gridElement =\n        BodyBuilder.grid []\n            [ BodyBuilder.gridItem []\n                [ Html.text \"I'm inside a grid-item!\" ]\n            ]\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.GridItemAttributes msg) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.GridItem msg"},{"name":"h1","comment":" Generates an h1 in the DOM. An h1 is block, and can't be anything else.\nYou can add custom block style on it, but can't turn it inline.\n\n    title : NodeWithStyle msg\n    title =\n        BodyBuilder.h1\n            [ BodyBuilder.Attributes.style [ Style.blockProperties [] ] ]\n            [ Html.text \"I'm inside a title!\" ]\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.HeadingAttributes msg) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"h2","comment":" Generates an h2 in the DOM. An h2 is block, and can't be anything else.\nYou can add custom block style on it, but can't turn it inline.\n\n    title : NodeWithStyle msg\n    title =\n        BodyBuilder.h2\n            [ BodyBuilder.Attributes.style [ Style.blockProperties [] ] ]\n            [ Html.text \"I'm inside a title!\" ]\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.HeadingAttributes msg) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"h3","comment":" Generates an h3 in the DOM. An h3 is block, and can't be anything else.\nYou can add custom block style on it, but can't turn it inline.\n\n    title : NodeWithStyle msg\n    title =\n        BodyBuilder.h3\n            [ BodyBuilder.Attributes.style [ Style.blockProperties [] ] ]\n            [ Html.text \"I'm inside a title!\" ]\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.HeadingAttributes msg) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"h4","comment":" Generates an h4 in the DOM. An h4 is block, and can't be anything else.\nYou can add custom block style on it, but can't turn it inline.\n\n    title : NodeWithStyle msg\n    title =\n        BodyBuilder.h4\n            [ BodyBuilder.Attributes.style [ Style.blockProperties [] ] ]\n            [ Html.text \"I'm inside a title!\" ]\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.HeadingAttributes msg) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"h5","comment":" Generates an h5 in the DOM. An h5 is block, and can't be anything else.\nYou can add custom block style on it, but can't turn it inline.\n\n    title : NodeWithStyle msg\n    title =\n        BodyBuilder.h5\n            [ BodyBuilder.Attributes.style [ Style.blockProperties [] ] ]\n            [ Html.text \"I'm inside a title!\" ]\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.HeadingAttributes msg) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"h6","comment":" Generates an h6 in the DOM. An h6 is block, and can't be anything else.\nYou can add custom block style on it, but can't turn it inline.\n\n    title : NodeWithStyle msg\n    title =\n        BodyBuilder.h6\n            [ BodyBuilder.Attributes.style [ Style.blockProperties [] ] ]\n            [ Html.text \"I'm inside a title!\" ]\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.HeadingAttributes msg) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"header","comment":" Generates the corresponding header in the DOM. This is used mainly to respect\nthe HTML semantic and for accessibility.\n","type":"Modifiers.Modifiers (BodyBuilder.BlockAttributes msg) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"img","comment":" Generates an image in the DOM. An image is inline by default, but\nchanges its behavior when specifically set as block. You don't have to worry about\nthe display: use an img whenever you want, style like you want, it will adapt to\nwhat you wrote.\n\n    inlineImage : NodeWithStyle msg\n    inlineImage =\n        -- This produces an inline img in the DOM.\n        BodyBuilder.img [] []\n\n    blockImage : NodeWithStyle msg\n    blockImage =\n        -- This produces a block img in the DOM.\n        BodyBuilder.img [ BodyBuilder.Attributes.style [ Style.block [] ] ] []\n\n","type":"String.String -> String.String -> Modifiers.Modifiers (BodyBuilder.Attributes.ImgAttributes msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"inputCheckbox","comment":" Generates a checkbox input in the DOM. A checkbox input is inline by default, but\nchanges its behavior when specifically set as block. You don't have to worry about\nthe display: use an inputCheckbox whenever you want, style like you want, it will adapt to\nwhat you wrote.\n\n    inlineCheckboxInput : NodeWithStyle msg\n    inlineCheckboxInput =\n        -- This produces an inline checkbox input in the DOM.\n        BodyBuilder.inputCheckbox []\n\n    blockCheckboxInput : NodeWithStyle msg\n    blockCheckboxInput =\n        -- This produces a block checkbox input in the DOM.\n        BodyBuilder.inputCheckbox [ BodyBuilder.Attributes.style [ Style.block [] ] ]\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.InputCheckboxAttributes msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"inputColor","comment":" Generates a color input in the DOM. A color input is inline by default, but\nchanges its behavior when specifically set as block. You don't have to worry about\nthe display: use an inputColor whenever you want, style like you want, it will adapt to\nwhat you wrote.\n\n    inlineColorInput : NodeWithStyle msg\n    inlineColorInput =\n        -- This produces an inline color input in the DOM.\n        BodyBuilder.inputColor []\n\n    blockColorInput : NodeWithStyle msg\n    blockColorInput =\n        -- This produces a block color input in the DOM.\n        BodyBuilder.inputColor [ BodyBuilder.Attributes.style [ Style.block [] ] ]\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.InputColorAttributes msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"inputEmail","comment":" Generates a email input in the DOM. A email input is inline by default, but\nchanges its behavior when specifically set as block. You don't have to worry about\nthe display: use an inputEmail whenever you want, style like you want, it will adapt to\nwhat you wrote.\n\n    inlineTextInput : NodeWithStyle msg\n    inlineTextInput =\n        -- This produces an inline text input in the DOM.\n        BodyBuilder.inputEmail []\n\n    blockTextInput : NodeWithStyle msg\n    blockTextInput =\n        -- This produces a block text input in the DOM.\n        BodyBuilder.inputEmail [ BodyBuilder.Attributes.style [ Style.block [] ] ]\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.InputTextAttributes msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"inputFile","comment":" Generates a file input in the DOM. A file input is inline by default, but\nchanges its behavior when specifically set as block. You don't have to worry about\nthe display: use an inputFile whenever you want, style like you want, it will adapt to\nwhat you wrote.\n\n    inlineFileInput : NodeWithStyle msg\n    inlineFileInput =\n        -- This produces an inline file input in the DOM.\n        BodyBuilder.inputFile []\n\n    blockFileInput : NodeWithStyle msg\n    blockFileInput =\n        -- This produces a block file input in the DOM.\n        BodyBuilder.inputFile [ BodyBuilder.Attributes.style [ Style.block [] ] ]\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.InputFileAttributes msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"inputHidden","comment":" Generates an hidden input in the DOM. An hidden input is not displayed in the DOM.\n\n    hiddenInput : NodeWithStyle msg\n    hiddenInput =\n        -- This produces an hidden input in the DOM.\n        BodyBuilder.inputHidden []\n\n","type":"Modifiers.Modifiers BodyBuilder.Attributes.InputHiddenAttributes -> BodyBuilder.NodeWithStyle msg"},{"name":"inputNumber","comment":" Generates a number input in the DOM. A number input is inline by default, but\nchanges its behavior when specifically set as block. You don't have to worry about\nthe display: use an inputNumber whenever you want, style like you want, it will adapt to\nwhat you wrote.\n\n    inlineNumberInput : NodeWithStyle msg\n    inlineNumberInput =\n        -- This produces an inline number input in the DOM.\n        BodyBuilder.inputNumber []\n\n    blockNumberInput : NodeWithStyle msg\n    blockNumberInput =\n        -- This produces a block number input in the DOM.\n        BodyBuilder.inputNumber [ BodyBuilder.Attributes.style [ Style.block [] ] ]\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.InputNumberAttributes msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"inputPassword","comment":" Generates a password input in the DOM. A password input is inline by default, but\nchanges its behavior when specifically set as block. You don't have to worry about\nthe display: use an inputPassword whenever you want, style like you want, it will adapt to\nwhat you wrote.\n\n    inlinePasswordInput : NodeWithStyle msg\n    inlinePasswordInput =\n        -- This produces an inline password input in the DOM.\n        BodyBuilder.inputPassword []\n\n    blockPasswordInput : NodeWithStyle msg\n    blockPasswordInput =\n        -- This produces a block password input in the DOM.\n        BodyBuilder.inputPassword [ BodyBuilder.Attributes.style [ Style.block [] ] ]\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.InputPasswordAttributes msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"inputRadio","comment":" Generates a radio input in the DOM. A radio input is inline by default, but\nchanges its behavior when specifically set as block. You don't have to worry about\nthe display: use an inputRadio whenever you want, style like you want, it will adapt to\nwhat you wrote.\n\n    inlineRadioInput : NodeWithStyle msg\n    inlineRadioInput =\n        -- This produces an inline radio input in the DOM.\n        BodyBuilder.inputRadio []\n\n    blockRadioInput : NodeWithStyle msg\n    blockRadioInput =\n        -- This produces a block radio input in the DOM.\n        BodyBuilder.inputRadio [ BodyBuilder.Attributes.style [ Style.block [] ] ]\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.InputRadioAttributes msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"inputRange","comment":" Generates a range input in the DOM. A range input is inline by default, but\nchanges its behavior when specifically set as block. You don't have to worry about\nthe display: use an inputRange whenever you want, style like you want, it will adapt to\nwhat you wrote.\n\n    inlineRangeInput : NodeWithStyle msg\n    inlineRangeInput =\n        -- This produces an inline range input in the DOM.\n        BodyBuilder.inputRange []\n\n    blockRangeInput : NodeWithStyle msg\n    blockRangeInput =\n        -- This produces a block range input in the DOM.\n        BodyBuilder.inputRange [ BodyBuilder.Attributes.style [ Style.block [] ] ]\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.InputRangeAttributes msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"inputSubmit","comment":" Generates a submit input in the DOM. A submit input is inline by default, but\nchanges its behavior when specifically set as block. You don't have to worry about\nthe display: use an inputSubmit whenever you want, style like you want, it will adapt to\nwhat you wrote.\n\n    inlineSubmitInput : NodeWithStyle msg\n    inlineSubmitInput =\n        -- This produces an inline submit input in the DOM.\n        BodyBuilder.inputSubmit []\n\n    blockSubmitInput : NodeWithStyle msg\n    blockSubmitInput =\n        -- This produces a block submit input in the DOM.\n        BodyBuilder.inputSubmit [ BodyBuilder.Attributes.style [ Style.block [] ] ]\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.InputSubmitAttributes msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"inputTel","comment":" Generates a tel input in the DOM. A tel input is inline by default, but\nchanges its behavior when specifically set as block. You don't have to worry about\nthe display: use an inputTel whenever you want, style like you want, it will adapt to\nwhat you wrote.\n\n    inlineTelInput : NodeWithStyle msg\n    inlineTelInput =\n        -- This produces an inline tel input in the DOM.\n        BodyBuilder.inputTel []\n\n    blockTelInput : NodeWithStyle msg\n    blockTelInput =\n        -- This produces a block tel input in the DOM.\n        BodyBuilder.inputTel [ BodyBuilder.Attributes.style [ Style.block [] ] ]\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.InputTextAttributes msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"inputText","comment":" Generates a text input in the DOM. A text input is inline by default, but\nchanges its behavior when specifically set as block. You don't have to worry about\nthe display: use an inputText whenever you want, style like you want, it will adapt to\nwhat you wrote.\n\n    inlineTextInput : NodeWithStyle msg\n    inlineTextInput =\n        -- This produces an inline text input in the DOM.\n        BodyBuilder.inputText [] []\n\n    blockTextInput : NodeWithStyle msg\n    blockTextInput =\n        -- This produces a block text input in the DOM.\n        BodyBuilder.inputText [ BodyBuilder.Attributes.style [ Style.block [] ] ] []\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.InputTextAttributes msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"inputUrl","comment":" Generates an url input in the DOM. An url input is inline by default, but\nchanges its behavior when specifically set as block. You don't have to worry about\nthe display: use an inputUrl whenever you want, style like you want, it will adapt to\nwhat you wrote.\n\n    inlineUrlInput : NodeWithStyle msg\n    inlineUrlInput =\n        -- This produces an inline url input in the DOM.\n        BodyBuilder.inputUrl []\n\n    blockUrlInput : NodeWithStyle msg\n    blockUrlInput =\n        -- This produces a block url input in the DOM.\n        BodyBuilder.inputUrl [ BodyBuilder.Attributes.style [ Style.block [] ] ]\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.InputUrlAttributes msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"lazy","comment":" Allows app developers to use the power of easy directly inside athlete programs\n","type":"(a -> BodyBuilder.NodeWithStyle msg) -> a -> BodyBuilder.NodeWithStyle msg"},{"name":"lazy2","comment":" Same as lazy, but with 2 arguments\n","type":"(a -> b -> BodyBuilder.NodeWithStyle msg) -> a -> b -> BodyBuilder.NodeWithStyle msg"},{"name":"lazy3","comment":" Same as lazy, but with 3 arguments\n","type":"(a -> b -> c -> BodyBuilder.NodeWithStyle msg) -> a -> b -> c -> BodyBuilder.NodeWithStyle msg"},{"name":"lazy4","comment":" Same as lazy, but with 4 arguments\n","type":"(a -> b -> c -> d -> BodyBuilder.NodeWithStyle msg) -> a -> b -> c -> d -> BodyBuilder.NodeWithStyle msg"},{"name":"lazy5","comment":" Same as lazy, but with 5 arguments\n","type":"(a -> b -> c -> d -> e -> BodyBuilder.NodeWithStyle msg) -> a -> b -> c -> d -> e -> BodyBuilder.NodeWithStyle msg"},{"name":"nav","comment":" Generates the corresponding nav in the DOM. This is used mainly to respect\nthe HTML semantic and for accessibility.\n","type":"Modifiers.Modifiers (BodyBuilder.BlockAttributes msg) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"node","comment":" Generates an empty inline node in the DOM. A node is inline by default, but\nchanges its behavior when specifically set as block. You don't have to worry about\nthe display: use a node whenever you want, style like you want, it will adapt to\nwhat you wrote.\n\n    inlineElement : NodeWithStyle msg\n    inlineElement =\n        -- This produces an inline node in the DOM.\n        BodyBuilder.node [] []\n\n    blockElement : NodeWithStyle msg\n    blockElement =\n        -- This produces a block node in the DOM.\n        BodyBuilder.node [ BodyBuilder.Attributes.style [ Style.block [] ] ] []\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.NodeAttributes msg) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"none","comment":" Don't create anything in the DOM. This is useful when you have a conditionnal\nand are forced to return a Node.\n\n    textOrNone : Maybe String -> NodeWithStyle msg\n    textOrNone value =\n        case value of\n            Nothing ->\n                BodyBuilder.none\n\n            Just content ->\n                BodyBuilder.text content\n\n","type":"BodyBuilder.NodeWithStyle msg"},{"name":"option","comment":" Generates an option in the DOM. An option is only used inside select, and\nconstituted of to String: the value and the content. It can also be selected, or not.\n\n    selectElement : NodeWithStyle msg\n    selectElement =\n        BodyBuilder.select []\n            [ BodyBuilder.option \"Paris\" \"We're in Paris!\" True\n            , BodyBuilder.option \"London\" \"We're in London!\" False\n            , BodyBuilder.option \"Berlin\" \"We're in Berlin!\" False\n            ]\n\n","type":"String.String -> String.String -> Basics.Bool -> BodyBuilder.Option msg"},{"name":"p","comment":" Generates a p in the DOM. A p is block, and can't be anything else.\nYou can add custom block style on it, but can't turn it inline.\n\n    title : NodeWithStyle msg\n    title =\n        BodyBuilder.p\n            [ BodyBuilder.Attributes.style [ Style.blockProperties [] ] ]\n            [ Html.text \"I'm inside a paragrah!\" ]\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.HeadingAttributes msg) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"progress","comment":" Generates a progress in the DOM. A progress is inline by default, but\nchanges its behavior when specifically set as block. You don't have to worry about\nthe display: use an progress whenever you want, style like you want, it will adapt to\nwhat you wrote.\n\n    inlineProgress : NodeWithStyle msg\n    inlineProgress =\n        -- This produces an inline progress in the DOM.\n        BodyBuilder.progress [] []\n\n    blockProgress : NodeWithStyle msg\n    blockProgress =\n        -- This produces a block progress in the DOM.\n        BodyBuilder.progress [ BodyBuilder.Attributes.style [ Style.block [] ] ] []\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.ProgressAttributes msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"sandbox","comment":" Creates a sandbox program exactly like VirtualDom.\n","type":"{ init : model, view : model -> BodyBuilder.NodeWithStyle msg, update : msg -> model -> model } -> Platform.Program () model msg"},{"name":"section","comment":" Generates the corresponding section in the DOM. This is used mainly to respect\nthe HTML semantic and for accessibility.\n","type":"Modifiers.Modifiers (BodyBuilder.BlockAttributes msg) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"select","comment":" Generates a select in the DOM. A select is inline by default, but\nchanges its behavior when specifically set as block. You don't have to worry about\nthe display: use a select whenever you want, style like you want, it will adapt to\nwhat you wrote.\n\n    inlineSelect : NodeWithStyle msg\n    inlineSelect =\n        -- This produces an inline select in the DOM.\n        BodyBuilder.select [] []\n\n    blockSelect : NodeWithStyle msg\n    blockSelect =\n        -- This produces a block select in the DOM.\n        BodyBuilder.select [ BodyBuilder.Attributes.style [ Style.block [] ] ] []\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.SelectAttributes msg) -> List.List (BodyBuilder.Option msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"span","comment":" For backward compatibilty. It behaves like node, but avoids to rewrote all your\ncode when switching to BodyBuilder.\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.NodeAttributes msg) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"staticPage","comment":" Creates a static page in HTML.\n","type":"BodyBuilder.NodeWithStyle msg -> Platform.Program () () msg"},{"name":"stylise","comment":" resulting html of a parameterized athlete structure\n","type":"(a -> BodyBuilder.NodeWithStyle msg) -> a -> BodyBuilder.Node msg"},{"name":"stylise2","comment":" resulting html of a parameterized athlete structure (with two arguments)\n","type":"(a -> b -> BodyBuilder.NodeWithStyle msg) -> a -> b -> BodyBuilder.Node msg"},{"name":"stylise3","comment":" resulting html of a parameterized athlete structure (with three arguments)\n","type":"(a -> b -> c -> BodyBuilder.NodeWithStyle msg) -> a -> b -> c -> BodyBuilder.Node msg"},{"name":"stylise4","comment":" resulting html of a parameterized athlete structure (with four arguments)\n","type":"(a -> b -> c -> d -> BodyBuilder.NodeWithStyle msg) -> a -> b -> c -> d -> BodyBuilder.Node msg"},{"name":"stylise5","comment":" resulting html of a parameterized athlete structure (with five arguments)\n","type":"(a -> b -> c -> d -> e -> BodyBuilder.NodeWithStyle msg) -> a -> b -> c -> d -> e -> BodyBuilder.Node msg"},{"name":"text","comment":" Puts plain text in the DOM. You can't set any attributes or events on it.\n","type":"String.String -> BodyBuilder.NodeWithStyle msg"},{"name":"textarea","comment":" Generates a textarea in the DOM. A textarea is inline by default, but\nchanges its behavior when specifically set as block. You don't have to worry about\nthe display: use an textarea whenever you want, style like you want, it will adapt to\nwhat you wrote.\n\n    inlineTextarea : NodeWithStyle msg\n    inlineTextarea =\n        -- This produces an inline textarea in the DOM.\n        BodyBuilder.textarea []\n\n    blockTextarea : NodeWithStyle msg\n    blockTextarea =\n        -- This produces a block textarea in the DOM.\n        BodyBuilder.textarea [ BodyBuilder.Attributes.style [ Style.block [] ] ]\n\n","type":"Modifiers.Modifiers (BodyBuilder.Attributes.TextareaAttributes msg) -> BodyBuilder.NodeWithStyle msg"}],"binops":[]},{"name":"BodyBuilder.Attributes","comment":" This module entirely replaces Html.Attributes, providing a type-safer alternatives.\nThis is designed to work with BodyBuilder.\nIt is not compatible with Html.Attributes, though.\n\n@docs StyleSelector, defaultStyleSelector\n@docs MediaQuery\n@docs StyleModifier, style, rawStyle\n@docs rawAttribute\n@docs AutocompleteAttribute, WidthAttribute\n@docs HeightAttribute\n@docs ValueAttribute\n@docs StepAttribute\n@docs MaxAttribute\n@docs MinAttribute\n@docs TargetAttribute\n@docs HrefAttribute\n@docs NameAttribute\n@docs DisabledAttribute\n@docs PlaceholderAttribute\n@docs DataAttribute, data\n@docs TypeContainer\n@docs BoxContainer\n@docs CheckedContainer\n@docs UniversalContainer, title, id, class, tabindex\n@docs MaybeBlockContainer\n@docs BlockContainer\n@docs FlexContainerProperties\n@docs FlexItemProperties\n@docs GridContainerProperties\n@docs GridItemProperties\n@docs VisibleAttributes, visibleAttributesToHtmlAttributes, rawStyleToHtmlAttributes\n@docs VisibleAttributesAndEvents\n@docs UniversalAttributes, defaultUniversalAttributes, universalAttributesToHtmlAttributes\n@docs NodeAttributes, defaultNodeAttributes, nodeAttributesToHtmlAttributes\n@docs BlockAttributes, width, height\n@docs HeadingAttributes, defaultHeadingAttributes, headingAttributesToHtmlAttributes\n@docs FlowAttributes, defaultFlowAttributes, flowAttributesToHtmlAttributes\n@docs FlexContainerAttributes, defaultFlexContainerAttributes, flexContainerAttributesToHtmlAttributes\n@docs FlexItemAttributes, defaultFlexItemAttributes, flexItemAttributesToHtmlAttributes\n@docs GridContainerAttributes, defaultGridContainerAttributes, gridContainerAttributesToHtmlAttributes\n@docs GridItemAttributes, defaultGridItemAttributes, gridItemAttributesToHtmlAttributes\n@docs ButtonAttributes, defaultButtonAttributes, buttonAttributesToHtmlAttributes\n@docs AAttributes, target, href, defaultAAttributes, aAttributesToHtmlAttributes\n@docs ImgAttributes, defaultImgAttributes, imgAttributesToHtmlAttributes\n@docs AudioAttributes, defaultAudioAttributes, audioAttributesToHtmlAttributes\n@docs ScriptAttributes, defaultScriptAttributes, scriptAttributesToHtmlAttributes\n@docs ProgressAttributes, defaultProgressAttributes, progressAttributesToHtmlAttributes\n@docs SelectAttributes, defaultSelectAttributes, selectAttributesToHtmlAttributes\n@docs LabelAttributes, label, PositionAttribute, Position\n@docs InputAttributes, value, disabled, name, disabledAttributeToHtmlAttributes, inputAttributesToHtmlAttributes, inputVisibleToHtmlAttributes\n@docs InputHiddenAttributes, defaultInputHiddenAttributes, inputHiddenAttributesToHtmlAttributes\n@docs InputPasswordAttributes, defaultInputPasswordAttributes, inputPasswordAttributesToHtmlAttributes\n@docs InputRangeAttributes, step, defaultInputRangeAttributes, inputRangeAttributesToHtmlAttributes\n@docs InputRadioAttributes, defaultInputRadioAttributes, inputRadioAttributesToHtmlAttributes\n@docs InputCheckboxAttributes, checked, defaultInputCheckboxAttributes, inputCheckboxAttributesToHtmlAttributes\n@docs InputTextAttributes, autocomplete, defaultInputTextAttributes, defaultInputEmailAttributes, inputTextAttributesToHtmlAttributes\n@docs InputTelAttributes, defaultInputTelAttributes\n@docs InputSubmitAttributes, defaultInputSubmitAttributes, inputSubmitAttributesToHtmlAttributes\n@docs InputUrlAttributes, defaultInputUrlAttributes, inputUrlAttributesToHtmlAttributes\n@docs InputNumberAttributes, max, min, defaultInputNumberAttributes, inputNumberAttributesToHtmlAttributes\n@docs InputColorAttributes, defaultInputColorAttributes, inputColorAttributesToHtmlAttributes\n@docs InputFileAttributes, defaultInputFileAttributes, inputFileAttributesToHtmlAttributes\n@docs TextareaAttributes, placeholder, defaultTextareaAttributes, textareaAttributesToHtmlAttributes\n\n","unions":[{"name":"MediaQuery","comment":" ","args":[],"cases":[["Greater",["Basics.Int"]],["Lesser",["Basics.Int"]],["Between",["Basics.Int","Basics.Int"]]]},{"name":"Position","comment":" ","args":[],"cases":[["Before",[]],["After",[]]]}],"aliases":[{"name":"AAttributes","comment":" ","args":["msg"],"type":"{ onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), universal : BodyBuilder.Attributes.UniversalAttributes, href : Maybe.Maybe String.String, target : Maybe.Maybe String.String, block : Maybe.Maybe (List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector )), rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg) }"},{"name":"AudioAttributes","comment":" ","args":["msg"],"type":"{ onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), universal : BodyBuilder.Attributes.UniversalAttributes, src : String.String, block : Maybe.Maybe (List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector )), rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg) }"},{"name":"AutocompleteAttribute","comment":" ","args":["a"],"type":"{ a | autocomplete : Basics.Bool }"},{"name":"BlockAttributes","comment":" ","args":["msg"],"type":"{ block : List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector ), onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), universal : BodyBuilder.Attributes.UniversalAttributes, rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg) }"},{"name":"BlockContainer","comment":" ","args":["a"],"type":"{ a | block : List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector ) }"},{"name":"BoxContainer","comment":" ","args":["a"],"type":"{ a | box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ) }"},{"name":"ButtonAttributes","comment":" ","args":["msg"],"type":"{ disabled : Basics.Bool, block : Maybe.Maybe (List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector )), onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), universal : BodyBuilder.Attributes.UniversalAttributes, rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg) }"},{"name":"CheckedContainer","comment":" ","args":["a"],"type":"{ a | checked : Basics.Bool }"},{"name":"DataAttribute","comment":" ","args":["a"],"type":"{ a | data : List.List ( String.String, String.String ) }"},{"name":"DisabledAttribute","comment":" ","args":["a"],"type":"{ a | disabled : Basics.Bool }"},{"name":"FlexContainerAttributes","comment":" ","args":["msg"],"type":"{ flexContainerProperties : List.List ( Modifiers.Modifiers Elegant.Flex.FlexContainerDetails, BodyBuilder.Attributes.StyleSelector ), onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), universal : BodyBuilder.Attributes.UniversalAttributes, block : Maybe.Maybe (List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector )), rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg) }"},{"name":"FlexContainerProperties","comment":" ","args":["a"],"type":"{ a | flexContainerProperties : List.List ( Modifiers.Modifiers Elegant.Flex.FlexContainerDetails, BodyBuilder.Attributes.StyleSelector ) }"},{"name":"FlexItemAttributes","comment":" ","args":["msg"],"type":"{ flexItemProperties : List.List ( Modifiers.Modifiers Elegant.Flex.FlexItemDetails, BodyBuilder.Attributes.StyleSelector ), onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), universal : BodyBuilder.Attributes.UniversalAttributes, block : Maybe.Maybe (List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector )), rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg) }"},{"name":"FlexItemProperties","comment":" ","args":["a"],"type":"{ a | flexItemProperties : List.List ( Modifiers.Modifiers Elegant.Flex.FlexItemDetails, BodyBuilder.Attributes.StyleSelector ) }"},{"name":"FlowAttributes","comment":" ","args":["msg"],"type":"{ onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), universal : BodyBuilder.Attributes.UniversalAttributes, rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg) }"},{"name":"GridContainerAttributes","comment":" ","args":["msg"],"type":"{ gridContainerProperties : List.List ( Modifiers.Modifiers Elegant.Grid.GridContainerDetails, BodyBuilder.Attributes.StyleSelector ), onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), universal : BodyBuilder.Attributes.UniversalAttributes, block : Maybe.Maybe (List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector )), rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg) }"},{"name":"GridContainerProperties","comment":" ","args":["a"],"type":"{ a | gridContainerProperties : List.List ( Modifiers.Modifiers Elegant.Grid.GridContainerDetails, BodyBuilder.Attributes.StyleSelector ) }"},{"name":"GridItemAttributes","comment":" ","args":["msg"],"type":"{ gridItemProperties : List.List ( Modifiers.Modifiers Elegant.Grid.GridItemDetails, BodyBuilder.Attributes.StyleSelector ), onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), universal : BodyBuilder.Attributes.UniversalAttributes, block : Maybe.Maybe (List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector )), rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg) }"},{"name":"GridItemProperties","comment":" ","args":["a"],"type":"{ a | gridItemProperties : List.List ( Modifiers.Modifiers Elegant.Grid.GridItemDetails, BodyBuilder.Attributes.StyleSelector ) }"},{"name":"HeadingAttributes","comment":" ","args":["msg"],"type":"BodyBuilder.Attributes.BlockAttributes msg"},{"name":"HeightAttribute","comment":" ","args":["a"],"type":"{ a | height : Maybe.Maybe Basics.Int }"},{"name":"HrefAttribute","comment":" ","args":["a"],"type":"{ a | href : Maybe.Maybe String.String }"},{"name":"ImgAttributes","comment":" ","args":["msg"],"type":"{ onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), universal : BodyBuilder.Attributes.UniversalAttributes, src : String.String, alt : String.String, width : Maybe.Maybe Basics.Int, height : Maybe.Maybe Basics.Int, block : Maybe.Maybe (List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector )), rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg) }"},{"name":"InputAttributes","comment":" ","args":["a"],"type":"{ a | type_ : String.String, name : Maybe.Maybe String.String }"},{"name":"InputCheckboxAttributes","comment":" ","args":["msg"],"type":"{ name : Maybe.Maybe String.String, type_ : String.String, universal : BodyBuilder.Attributes.UniversalAttributes, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, value : Maybe.Maybe String.String, label : Maybe.Maybe (BodyBuilder.Internals.Shared.Label msg), block : Maybe.Maybe (List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector )), checked : Basics.Bool, onCheckEvent : Maybe.Maybe (Basics.Bool -> msg), rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg) }"},{"name":"InputColorAttributes","comment":" ","args":["msg"],"type":"{ name : Maybe.Maybe String.String, type_ : String.String, universal : BodyBuilder.Attributes.UniversalAttributes, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, label : Maybe.Maybe (BodyBuilder.Internals.Shared.Label msg), rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg), value : Maybe.Maybe Color.Color, onInputEvent : Maybe.Maybe (Color.Color -> msg), fromStringInput : String.String -> Color.Color, block : Maybe.Maybe (List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector )) }"},{"name":"InputFileAttributes","comment":" ","args":["msg"],"type":"{ name : Maybe.Maybe String.String, type_ : String.String, universal : BodyBuilder.Attributes.UniversalAttributes, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, label : Maybe.Maybe (BodyBuilder.Internals.Shared.Label msg), rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg), block : Maybe.Maybe (List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector )) }"},{"name":"InputHiddenAttributes","comment":" ","args":[],"type":"{ name : Maybe.Maybe String.String, type_ : String.String, value : Maybe.Maybe String.String, universal : BodyBuilder.Attributes.UniversalAttributes }"},{"name":"InputNumberAttributes","comment":" ","args":["msg"],"type":"{ name : Maybe.Maybe String.String, type_ : String.String, universal : BodyBuilder.Attributes.UniversalAttributes, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, label : Maybe.Maybe (BodyBuilder.Internals.Shared.Label msg), rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg), value : Maybe.Maybe Basics.Int, onInputEvent : Maybe.Maybe (Basics.Int -> msg), fromStringInput : String.String -> Basics.Int, step : Maybe.Maybe Basics.Int, max : Maybe.Maybe Basics.Int, min : Maybe.Maybe Basics.Int, block : Maybe.Maybe (List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector )), disabled : Basics.Bool }"},{"name":"InputPasswordAttributes","comment":" ","args":["msg"],"type":"BodyBuilder.Attributes.InputTextAttributes msg"},{"name":"InputRadioAttributes","comment":" ","args":["msg"],"type":"{ name : Maybe.Maybe String.String, type_ : String.String, universal : BodyBuilder.Attributes.UniversalAttributes, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, value : Maybe.Maybe String.String, block : Maybe.Maybe (List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector )), label : Maybe.Maybe (BodyBuilder.Internals.Shared.Label msg), rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg) }"},{"name":"InputRangeAttributes","comment":" ","args":["msg"],"type":"BodyBuilder.Attributes.InputNumberAttributes msg"},{"name":"InputSubmitAttributes","comment":" ","args":["msg"],"type":"{ label : Maybe.Maybe (BodyBuilder.Internals.Shared.Label msg), type_ : String.String, disabled : Basics.Bool, block : Maybe.Maybe (List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector )), onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, onSubmitEvent : Maybe.Maybe msg, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), universal : BodyBuilder.Attributes.UniversalAttributes, rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg) }"},{"name":"InputTelAttributes","comment":" ","args":["msg"],"type":"BodyBuilder.Attributes.InputTextAttributes msg"},{"name":"InputTextAttributes","comment":" ","args":["msg"],"type":"{ name : Maybe.Maybe String.String, type_ : String.String, universal : BodyBuilder.Attributes.UniversalAttributes, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, value : Maybe.Maybe String.String, label : Maybe.Maybe (BodyBuilder.Internals.Shared.Label msg), placeholder : Maybe.Maybe String.String, autocomplete : Basics.Bool, onInputEvent : Maybe.Maybe (String.String -> msg), fromStringInput : String.String -> String.String, block : Maybe.Maybe (List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector )), rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg) }"},{"name":"InputUrlAttributes","comment":" ","args":["msg"],"type":"BodyBuilder.Attributes.InputTextAttributes msg"},{"name":"LabelAttributes","comment":" ","args":["msg"],"type":"{ onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), universal : BodyBuilder.Attributes.UniversalAttributes, position : BodyBuilder.Attributes.Position, block : Maybe.Maybe (List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector )), rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg) }"},{"name":"MaxAttribute","comment":" ","args":["a"],"type":"{ a | max : Maybe.Maybe Basics.Int }"},{"name":"MaybeBlockContainer","comment":" ","args":["a"],"type":"{ a | block : Maybe.Maybe (List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector )) }"},{"name":"MinAttribute","comment":" ","args":["a"],"type":"{ a | min : Maybe.Maybe Basics.Int }"},{"name":"NameAttribute","comment":" ","args":["a"],"type":"{ a | name : Maybe.Maybe String.String }"},{"name":"NodeAttributes","comment":" Computed : MaybeBlockContainer (FlowAttributes msg)\n","args":["msg"],"type":"{ onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), universal : BodyBuilder.Attributes.UniversalAttributes, block : Maybe.Maybe (List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector )), rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg) }"},{"name":"PlaceholderAttribute","comment":" ","args":["a"],"type":"{ a | placeholder : Maybe.Maybe String.String }"},{"name":"PositionAttribute","comment":" ","args":["a"],"type":"{ a | position : BodyBuilder.Attributes.Position }"},{"name":"ProgressAttributes","comment":" ","args":["msg"],"type":"{ onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), universal : BodyBuilder.Attributes.UniversalAttributes, block : Maybe.Maybe (List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector )), rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg) }"},{"name":"ScriptAttributes","comment":" ","args":["msg"],"type":"{ onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), universal : BodyBuilder.Attributes.UniversalAttributes, src : String.String, data : List.List ( String.String, String.String ), rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg) }"},{"name":"SelectAttributes","comment":" Computed : -- MaybeBlockContainer (StringValue (FlowAttributes msg))\n","args":["msg"],"type":"{ block : Maybe.Maybe (List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector )), value : Maybe.Maybe String.String, onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), universal : BodyBuilder.Attributes.UniversalAttributes, rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg), onInputEvent : Maybe.Maybe (String.String -> msg), fromStringInput : String.String -> String.String }"},{"name":"StepAttribute","comment":" ","args":["a"],"type":"{ a | step : Maybe.Maybe Basics.Int }"},{"name":"StyleModifier","comment":" ","args":["a"],"type":"BodyBuilder.Attributes.StyleSelector -> Modifiers.Modifier a"},{"name":"StyleSelector","comment":" ","args":[],"type":"{ media : Maybe.Maybe BodyBuilder.Attributes.MediaQuery, pseudoClass : Maybe.Maybe String.String }"},{"name":"TargetAttribute","comment":" ","args":["a"],"type":"{ a | target : Maybe.Maybe String.String }"},{"name":"TextareaAttributes","comment":" ","args":["msg"],"type":"{ onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), universal : BodyBuilder.Attributes.UniversalAttributes, value : Maybe.Maybe String.String, onInputEvent : Maybe.Maybe (String.String -> msg), fromStringInput : String.String -> String.String, name : Maybe.Maybe String.String, placeholder : Maybe.Maybe String.String, block : Maybe.Maybe (List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector )), rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg) }"},{"name":"TypeContainer","comment":" ","args":["a"],"type":"{ a | type_ : String.String }"},{"name":"UniversalAttributes","comment":" TitleAttribute (TabindexAttribute (IdAttribute (ClassAttribute {})))\n","args":[],"type":"{ title : Maybe.Maybe String.String, tabindex : Maybe.Maybe Basics.Int, id : Maybe.Maybe String.String, class : List.List String.String }"},{"name":"UniversalContainer","comment":" ","args":["a"],"type":"{ a | universal : BodyBuilder.Attributes.UniversalAttributes }"},{"name":"ValueAttribute","comment":" ","args":["b","a"],"type":"{ a | value : Maybe.Maybe b }"},{"name":"VisibleAttributes","comment":" Computed :\n","args":["a"],"type":"{ a | box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), universal : BodyBuilder.Attributes.UniversalAttributes, rawStyle : Maybe.Maybe Elegant.CommonStyle }"},{"name":"VisibleAttributesAndEvents","comment":" OnEvent msg (OnFocusEvent msg (OnBlurEvent msg (OnMouseEvents msg (VisibleAttributes a))))\n","args":["msg","a"],"type":"{ a | onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg), onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ), onBlurEvent : Maybe.Maybe msg, onFocusEvent : Maybe.Maybe msg, box : List.List ( Modifiers.Modifiers Elegant.Box.Box, BodyBuilder.Attributes.StyleSelector ), universal : BodyBuilder.Attributes.UniversalAttributes, rawStyle : Maybe.Maybe Elegant.CommonStyle, rawAttributes : List.List (Html.Attribute msg) }"},{"name":"WidthAttribute","comment":" ","args":["a"],"type":"{ a | width : Maybe.Maybe Basics.Int }"}],"values":[{"name":"aAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.AAttributes msg -> List.List (Html.Attribute msg)"},{"name":"audioAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.AudioAttributes msg -> List.List (Html.Attribute msg)"},{"name":"autocomplete","comment":" ","type":"Basics.Bool -> Modifiers.Modifier (BodyBuilder.Attributes.AutocompleteAttribute a)"},{"name":"buttonAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.ButtonAttributes msg -> List.List (Html.Attribute msg)"},{"name":"checked","comment":" ","type":"Basics.Bool -> Modifiers.Modifier (BodyBuilder.Attributes.InputCheckboxAttributes msg)"},{"name":"class","comment":" ","type":"List.List String.String -> Modifiers.Modifier { a | universal : BodyBuilder.Attributes.UniversalAttributes }"},{"name":"data","comment":" ","type":"a -> { c | data : a } -> { c | data : a }"},{"name":"defaultAAttributes","comment":" ","type":"BodyBuilder.Attributes.AAttributes msg"},{"name":"defaultAudioAttributes","comment":" ","type":"BodyBuilder.Attributes.AudioAttributes msg"},{"name":"defaultButtonAttributes","comment":" ","type":"BodyBuilder.Attributes.ButtonAttributes msg"},{"name":"defaultFlexContainerAttributes","comment":" ","type":"BodyBuilder.Attributes.FlexContainerAttributes msg"},{"name":"defaultFlexItemAttributes","comment":" ","type":"BodyBuilder.Attributes.FlexItemAttributes msg"},{"name":"defaultFlowAttributes","comment":" ","type":"BodyBuilder.Attributes.FlowAttributes msg"},{"name":"defaultGridContainerAttributes","comment":" ","type":"BodyBuilder.Attributes.GridContainerAttributes msg"},{"name":"defaultGridItemAttributes","comment":" ","type":"BodyBuilder.Attributes.GridItemAttributes msg"},{"name":"defaultHeadingAttributes","comment":" ","type":"BodyBuilder.Attributes.HeadingAttributes msg"},{"name":"defaultImgAttributes","comment":" ","type":"String.String -> String.String -> BodyBuilder.Attributes.ImgAttributes msg"},{"name":"defaultInputCheckboxAttributes","comment":" ","type":"BodyBuilder.Attributes.InputCheckboxAttributes msg"},{"name":"defaultInputColorAttributes","comment":" ","type":"BodyBuilder.Attributes.InputColorAttributes msg"},{"name":"defaultInputEmailAttributes","comment":" ","type":"BodyBuilder.Attributes.InputTextAttributes msg"},{"name":"defaultInputFileAttributes","comment":" ","type":"BodyBuilder.Attributes.InputFileAttributes msg"},{"name":"defaultInputHiddenAttributes","comment":" ","type":"BodyBuilder.Attributes.InputHiddenAttributes"},{"name":"defaultInputNumberAttributes","comment":" ","type":"BodyBuilder.Attributes.InputNumberAttributes msg"},{"name":"defaultInputPasswordAttributes","comment":" ","type":"BodyBuilder.Attributes.InputPasswordAttributes msg"},{"name":"defaultInputRadioAttributes","comment":" ","type":"BodyBuilder.Attributes.InputRadioAttributes msg"},{"name":"defaultInputRangeAttributes","comment":" ","type":"BodyBuilder.Attributes.InputRangeAttributes msg"},{"name":"defaultInputSubmitAttributes","comment":" ","type":"BodyBuilder.Attributes.InputSubmitAttributes msg"},{"name":"defaultInputTelAttributes","comment":" ","type":"BodyBuilder.Attributes.InputTelAttributes msg"},{"name":"defaultInputTextAttributes","comment":" ","type":"BodyBuilder.Attributes.InputTextAttributes msg"},{"name":"defaultInputUrlAttributes","comment":" ","type":"BodyBuilder.Attributes.InputUrlAttributes msg"},{"name":"defaultNodeAttributes","comment":" ","type":"BodyBuilder.Attributes.NodeAttributes msg"},{"name":"defaultProgressAttributes","comment":" ","type":"BodyBuilder.Attributes.ProgressAttributes msg"},{"name":"defaultScriptAttributes","comment":" ","type":"BodyBuilder.Attributes.ScriptAttributes msg"},{"name":"defaultSelectAttributes","comment":" ","type":"BodyBuilder.Attributes.SelectAttributes msg"},{"name":"defaultStyleSelector","comment":" ","type":"BodyBuilder.Attributes.StyleSelector"},{"name":"defaultTextareaAttributes","comment":" ","type":"BodyBuilder.Attributes.TextareaAttributes msg"},{"name":"defaultUniversalAttributes","comment":" ","type":"BodyBuilder.Attributes.UniversalAttributes"},{"name":"disabled","comment":" ","type":"Modifiers.Modifier (BodyBuilder.Attributes.DisabledAttribute a)"},{"name":"disabledAttributeToHtmlAttributes","comment":" ","type":"Basics.Bool -> List.List (Html.Attribute msg)"},{"name":"flexContainerAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.FlexContainerAttributes msg -> List.List (Html.Attribute msg)"},{"name":"flexItemAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.FlexItemAttributes msg -> List.List (Html.Attribute msg)"},{"name":"flowAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.FlowAttributes msg -> List.List (Html.Attribute msg)"},{"name":"gridContainerAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.GridContainerAttributes msg -> List.List (Html.Attribute msg)"},{"name":"gridItemAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.GridItemAttributes msg -> List.List (Html.Attribute msg)"},{"name":"headingAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.HeadingAttributes msg -> List.List (Html.Attribute msg)"},{"name":"height","comment":" ","type":"Basics.Int -> Modifiers.Modifier (BodyBuilder.Attributes.HeightAttribute a)"},{"name":"href","comment":" ","type":"String.String -> Modifiers.Modifier (BodyBuilder.Attributes.HrefAttribute a)"},{"name":"id","comment":" ","type":"String.String -> Modifiers.Modifier { a | universal : BodyBuilder.Attributes.UniversalAttributes }"},{"name":"imgAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.ImgAttributes msg -> List.List (Html.Attribute msg)"},{"name":"inputAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.InputAttributes a -> List.List (Html.Attribute msg)"},{"name":"inputCheckboxAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.InputCheckboxAttributes msg -> List.List (Html.Attribute msg)"},{"name":"inputColorAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.InputColorAttributes msg -> List.List (Html.Attribute msg)"},{"name":"inputFileAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.InputFileAttributes msg -> List.List (Html.Attribute msg)"},{"name":"inputHiddenAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.InputHiddenAttributes -> List.List (Html.Attribute msg)"},{"name":"inputNumberAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.InputNumberAttributes msg -> List.List (Html.Attribute msg)"},{"name":"inputPasswordAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.InputPasswordAttributes msg -> List.List (Html.Attribute msg)"},{"name":"inputRadioAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.InputRadioAttributes msg -> List.List (Html.Attribute msg)"},{"name":"inputRangeAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.InputRangeAttributes msg -> List.List (Html.Attribute msg)"},{"name":"inputSubmitAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.InputSubmitAttributes msg -> List.List (Html.Attribute msg)"},{"name":"inputTextAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.InputTextAttributes msg -> List.List (Html.Attribute msg)"},{"name":"inputUrlAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.InputUrlAttributes msg -> List.List (Html.Attribute msg)"},{"name":"inputVisibleToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.VisibleAttributesAndEvents msg { a | name : Maybe.Maybe String.String, type_ : String.String } -> List.List (Html.Attribute msg)"},{"name":"label","comment":" ","type":"BodyBuilder.Attributes.Position -> List.List (Html.Html msg) -> { c | label : Maybe.Maybe (BodyBuilder.Internals.Shared.Label msg) } -> { c | label : Maybe.Maybe (BodyBuilder.Internals.Shared.Label msg) }"},{"name":"max","comment":" ","type":"Basics.Int -> Modifiers.Modifier (BodyBuilder.Attributes.MaxAttribute a)"},{"name":"min","comment":" ","type":"Basics.Int -> Modifiers.Modifier (BodyBuilder.Attributes.MinAttribute a)"},{"name":"name","comment":" ","type":"String.String -> Modifiers.Modifier (BodyBuilder.Attributes.NameAttribute a)"},{"name":"nodeAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.NodeAttributes msg -> List.List (Html.Attribute msg)"},{"name":"placeholder","comment":" ","type":"String.String -> Modifiers.Modifier (BodyBuilder.Attributes.PlaceholderAttribute a)"},{"name":"progressAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.ProgressAttributes msg -> List.List (Html.Attribute msg)"},{"name":"rawAttribute","comment":" ","type":"a -> { c | rawAttributes : List.List a } -> { c | rawAttributes : List.List a }"},{"name":"rawStyle","comment":" ","type":"b -> { a | rawStyle : Maybe.Maybe b } -> { a | rawStyle : Maybe.Maybe b }"},{"name":"rawStyleToHtmlAttributes","comment":" ","type":"Elegant.CommonStyle -> List.List (Html.Attribute msg)"},{"name":"scriptAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.ScriptAttributes msg -> List.List (Html.Attribute msg)"},{"name":"selectAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.SelectAttributes msg -> List.List (Html.Attribute msg)"},{"name":"step","comment":" ","type":"Basics.Int -> Modifiers.Modifier (BodyBuilder.Attributes.StepAttribute a)"},{"name":"style","comment":" ","type":"List.List (BodyBuilder.Attributes.StyleModifier a) -> Modifiers.Modifier a"},{"name":"tabindex","comment":" ","type":"Basics.Int -> Modifiers.Modifier { a | universal : BodyBuilder.Attributes.UniversalAttributes }"},{"name":"target","comment":" ","type":"String.String -> Modifiers.Modifier (BodyBuilder.Attributes.TargetAttribute a)"},{"name":"textareaAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.TextareaAttributes msg -> List.List (Html.Attribute msg)"},{"name":"title","comment":" ","type":"String.String -> Modifiers.Modifier { a | universal : BodyBuilder.Attributes.UniversalAttributes }"},{"name":"universalAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.UniversalAttributes -> List.List (Html.Attribute msg)"},{"name":"value","comment":" ","type":"a -> { c | value : Maybe.Maybe a } -> { c | value : Maybe.Maybe a }"},{"name":"visibleAttributesToHtmlAttributes","comment":" ","type":"BodyBuilder.Attributes.VisibleAttributesAndEvents msg a -> List.List (Html.Attribute msg)"},{"name":"width","comment":" ","type":"Basics.Int -> Modifiers.Modifier (BodyBuilder.Attributes.WidthAttribute a)"}],"binops":[]},{"name":"BodyBuilder.Elements.Card","comment":"\n\n@docs field\n@docs header\n@docs headerElement\n@docs headerWithText\n\n","unions":[],"aliases":[],"values":[{"name":"field","comment":" ","type":"String.String -> String.String -> BodyBuilder.NodeWithStyle msg"},{"name":"header","comment":" ","type":"BodyBuilder.NodeWithStyle msg -> BodyBuilder.NodeWithStyle msg"},{"name":"headerElement","comment":" ","type":"BodyBuilder.NodeWithStyle msg -> BodyBuilder.FlexItem msg"},{"name":"headerWithText","comment":" ","type":"String.String -> BodyBuilder.NodeWithStyle msg"}],"binops":[]},{"name":"BodyBuilder.Elements.Clickable","comment":"\n\n@docs blackButton\n@docs fullSizeButton\n@docs fullWidthButton\n@docs greyButton\n@docs hyperDarkerBlue\n@docs link\n@docs mailtoLink\n@docs monochromeBox\n@docs monochromeSquaredButton\n@docs removeButtonStyle\n\n","unions":[],"aliases":[],"values":[{"name":"blackButton","comment":" ","type":"String.String -> msg -> BodyBuilder.NodeWithStyle msg"},{"name":"fullSizeButton","comment":" ","type":"String.String -> msg -> BodyBuilder.NodeWithStyle msg"},{"name":"fullWidthButton","comment":" ","type":"String.String -> msg -> BodyBuilder.NodeWithStyle msg"},{"name":"greyButton","comment":" ","type":"String.String -> msg -> BodyBuilder.NodeWithStyle msg"},{"name":"hyperDarkerBlue","comment":" ","type":"Color.Color"},{"name":"link","comment":" ","type":"Modifiers.Modifiers (BodyBuilder.Attributes.AAttributes msg) -> String.String -> msg -> BodyBuilder.NodeWithStyle msg"},{"name":"mailtoLink","comment":" ","type":"String.String -> BodyBuilder.NodeWithStyle msg"},{"name":"monochromeBox","comment":" ","type":"BodyBuilder.Elements.Clickable.ColorTheme -> Modifiers.Modifiers Elegant.Box.Box"},{"name":"monochromeSquaredButton","comment":" ","type":"BodyBuilder.Elements.Clickable.ColorTheme -> String.String -> msg -> BodyBuilder.NodeWithStyle msg"},{"name":"removeButtonStyle","comment":" ","type":"Modifiers.Modifiers Elegant.Box.Box"}],"binops":[]},{"name":"BodyBuilder.Elements.DateTimePicker","comment":" Mobile like date time picker\n\n@docs Model\n@docs Msg\n@docs init\n@docs subscriptions\n@docs update\n@docs view\n\n","unions":[{"name":"Msg","comment":" Msg of the DateTime Picker\n","args":[],"cases":[["PickerMsg",["BodyBuilder.Elements.DateTimePicker.TimeUnit","BodyBuilder.Elements.WheelPicker.Msg"]]]}],"aliases":[{"name":"Model","comment":" Model of the DateTime Picker\n","args":[],"type":"{ date : Time.Posix, dayLimits : ( Date.RataDie.RataDie, Date.RataDie.RataDie ), dayPicker : BodyBuilder.Elements.WheelPicker.WheelPicker, hourPicker : BodyBuilder.Elements.WheelPicker.WheelPicker, minutePicker : BodyBuilder.Elements.WheelPicker.WheelPicker }"}],"values":[{"name":"init","comment":" The init function of the DateTime Picker\n","type":"( Date.RataDie.RataDie, Date.RataDie.RataDie ) -> BodyBuilder.Elements.DateTimePicker.Model"},{"name":"subscriptions","comment":" The subscriptions function of the DateTime Picker\n","type":"BodyBuilder.Elements.DateTimePicker.Model -> (BodyBuilder.Elements.DateTimePicker.Msg -> msg) -> Platform.Sub.Sub msg"},{"name":"update","comment":" The update function of the DateTime Picker\n","type":"BodyBuilder.Elements.DateTimePicker.Msg -> BodyBuilder.Elements.DateTimePicker.Model -> (BodyBuilder.Elements.DateTimePicker.Msg -> msg) -> ( BodyBuilder.Elements.DateTimePicker.Model, Platform.Cmd.Cmd msg )"},{"name":"view","comment":" The view function of the DateTime Picker\n","type":"(BodyBuilder.Elements.DateTimePicker.Msg -> msg) -> BodyBuilder.Elements.DateTimePicker.Model -> BodyBuilder.NodeWithStyle msg"}],"binops":[]},{"name":"BodyBuilder.Elements.Form","comment":"\n\n@docs CommonParams\n@docs FullInputType\n@docs InputCheckboxContent\n@docs InputNumberContent\n@docs InputTextContent\n@docs InputType(..)\n@docs buildCheckbox\n@docs buildDate\n@docs buildInput\n@docs buildInputFile\n@docs buildInputNumber\n@docs buildInputPassword\n@docs buildInputText\n@docs buildInputEmail\n@docs buildSelect\n@docs buildTextArea\n@docs checkBoxSurround\n@docs errorMessage\n@docs generateOptions\n@docs inputField\n@docs inputLabel\n@docs inputLabelPlaceholder\n@docs inputLabelPlaceholderWithError\n@docs inputLabelWithError\n@docs inputSurround\n@docs inputTextStyle\n@docs labelizedInput\n\n","unions":[{"name":"InputType","comment":" ","args":["msg"],"cases":[["Text",["String.String","String.String -> msg"]],["Email",["String.String","String.String -> msg"]],["TextArea",["String.String","String.String -> msg"]],["Password",["String.String","String.String -> msg"]],["Date",["Maybe.Maybe DateTime.MyDate","DateTime.DateBetween","DateTime.DateMsg -> msg"]],["Select",["List.List BodyBuilder.Elements.Form.Option","String.String -> msg"]],["Int",["Basics.Int","Basics.Int -> msg"]],["Bool",["Basics.Bool","Basics.Bool -> msg"]],["File",["String.String","msg"]]]}],"aliases":[{"name":"CommonParams","comment":" ","args":[],"type":"{ label : String.String, placeholder : Maybe.Maybe String.String, error : Maybe.Maybe String.String }"},{"name":"FullInputType","comment":" ","args":["msg"],"type":"{ value : BodyBuilder.Elements.Form.InputType msg, commonParams : BodyBuilder.Elements.Form.CommonParams }"},{"name":"InputCheckboxContent","comment":" ","args":["msg"],"type":"{ label : String.String, msg : Basics.Bool -> msg, checked : Basics.Bool }"},{"name":"InputNumberContent","comment":" ","args":["msg"],"type":"{ label : String.String, value : Basics.Int, msg : Basics.Int -> msg }"},{"name":"InputTextContent","comment":" ","args":["msg"],"type":"{ label : String.String, placeholder : String.String, value : String.String, msg : String.String -> msg }"}],"values":[{"name":"buildCheckbox","comment":" ","type":"BodyBuilder.Elements.Form.CommonParams -> Basics.Bool -> (Basics.Bool -> msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"buildDate","comment":" ","type":"BodyBuilder.Elements.Form.CommonParams -> Maybe.Maybe DateTime.MyDate -> DateTime.DateBetween -> (DateTime.DateMsg -> msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"buildInput","comment":" ","type":"BodyBuilder.Elements.Form.FullInputType msg -> BodyBuilder.NodeWithStyle msg"},{"name":"buildInputEmail","comment":" ","type":"BodyBuilder.Elements.Form.CommonParams -> String.String -> (String.String -> msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"buildInputFile","comment":" ","type":"BodyBuilder.Elements.Form.CommonParams -> String.String -> msg -> BodyBuilder.NodeWithStyle msg"},{"name":"buildInputNumber","comment":" ","type":"BodyBuilder.Elements.Form.CommonParams -> Basics.Int -> (Basics.Int -> msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"buildInputPassword","comment":" ","type":"BodyBuilder.Elements.Form.CommonParams -> String.String -> (String.String -> msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"buildInputText","comment":" ","type":"BodyBuilder.Elements.Form.CommonParams -> String.String -> (String.String -> msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"buildSelect","comment":" ","type":"BodyBuilder.Elements.Form.CommonParams -> List.List { a | active : Basics.Bool, id : String.String, value : String.String } -> (String.String -> msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"buildTextArea","comment":" ","type":"BodyBuilder.Elements.Form.CommonParams -> String.String -> (String.String -> msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"checkBoxSurround","comment":" ","type":"String.String -> Basics.Bool -> (Basics.Bool -> msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"errorMessage","comment":" ","type":"String.String -> BodyBuilder.NodeWithStyle msg"},{"name":"generateOptions","comment":" ","type":"String.String -> List.List String.String -> List.List BodyBuilder.Elements.Form.Option"},{"name":"inputField","comment":" ","type":"BodyBuilder.Elements.Form.CommonParams -> BodyBuilder.Elements.Form.InputType msg -> BodyBuilder.Elements.Form.FullInputType msg"},{"name":"inputLabel","comment":" ","type":"String.String -> BodyBuilder.Elements.Form.CommonParams"},{"name":"inputLabelPlaceholder","comment":" ","type":"String.String -> String.String -> BodyBuilder.Elements.Form.CommonParams"},{"name":"inputLabelPlaceholderWithError","comment":" ","type":"String.String -> String.String -> Maybe.Maybe String.String -> BodyBuilder.Elements.Form.CommonParams"},{"name":"inputLabelWithError","comment":" ","type":"String.String -> Maybe.Maybe String.String -> BodyBuilder.Elements.Form.CommonParams"},{"name":"inputSurround","comment":" ","type":"Maybe.Maybe String.String -> String.String -> BodyBuilder.NodeWithStyle msg -> BodyBuilder.NodeWithStyle msg"},{"name":"inputTextStyle","comment":" ","type":"Modifiers.Modifier (BodyBuilder.Attributes.BoxContainer { a | block : Maybe.Maybe (List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector )) })"},{"name":"labelizedInput","comment":" ","type":"(Modifiers.Modifiers (BodyBuilder.Attributes.BoxContainer { a | block : Maybe.Maybe (List.List ( Modifiers.Modifiers Elegant.Display.BlockDetails, BodyBuilder.Attributes.StyleSelector )), fromStringInput : String.String -> String.String, onInputEvent : Maybe.Maybe (String.String -> msg), placeholder : Maybe.Maybe String.String, value : Maybe.Maybe String.String }) -> BodyBuilder.NodeWithStyle msg) -> BodyBuilder.Elements.Form.CommonParams -> String.String -> (String.String -> msg) -> BodyBuilder.NodeWithStyle msg"}],"binops":[]},{"name":"BodyBuilder.Elements.Page","comment":"\n\n@docs backButton\n@docs headerButtonStyle\n@docs headerButtonStyleCenter\n@docs headerButtonStyleLeft\n@docs headerButtonStyleRight\n@docs headerElement\n@docs limitedPage\n@docs limitedPageQ\n@docs menuLinkTo\n@docs menuLinkToHref\n@docs menuLinkToWithIcon\n@docs namedPage\n@docs namedPageQ\n@docs namedPageWithAction\n@docs namedPageWithoutBack\n@docs pageTitle\n@docs pageView\n@docs pageWithAutoMargin\n@docs pageWithMargin\n@docs title\n@docs verticallyCenteredPage\n@docs verticallyCenteredPageQ\n\n","unions":[],"aliases":[],"values":[{"name":"backButton","comment":" ","type":"(BodyBuilder.Router.StandardHistoryMsg -> msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"headerButtonStyle","comment":" ","type":"Elegant.SizeUnit -> Modifiers.Modifier Elegant.Display.BlockDetails -> Modifiers.Modifier (BodyBuilder.Attributes.FlexItemAttributes msg)"},{"name":"headerButtonStyleCenter","comment":" ","type":"Modifiers.Modifier (BodyBuilder.Attributes.FlexItemAttributes msg)"},{"name":"headerButtonStyleLeft","comment":" ","type":"Modifiers.Modifier (BodyBuilder.Attributes.FlexItemAttributes msg)"},{"name":"headerButtonStyleRight","comment":" ","type":"Modifiers.Modifier (BodyBuilder.Attributes.FlexItemAttributes msg)"},{"name":"headerElement","comment":" display header\n","type":"{ a | center : BodyBuilder.NodeWithStyle msg, left : BodyBuilder.NodeWithStyle msg, right : BodyBuilder.NodeWithStyle msg } -> BodyBuilder.NodeWithStyle msg"},{"name":"limitedPage","comment":" ","type":"BodyBuilder.NodeWithStyle msg -> BodyBuilder.NodeWithStyle msg -> String.String -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"limitedPageQ","comment":" ","type":"BodyBuilder.NodeWithStyle msg -> BodyBuilder.NodeWithStyle msg -> Basics.Bool -> String.String -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"menuLinkTo","comment":" ","type":"msg -> String.String -> BodyBuilder.NodeWithStyle msg"},{"name":"menuLinkToHref","comment":" ","type":"String.String -> String.String -> BodyBuilder.NodeWithStyle msg"},{"name":"menuLinkToWithIcon","comment":" ","type":"msg -> { icon : Basics.Int -> BodyBuilder.Elements.Page.RGBA -> Html.Html msg, size : Basics.Int, color : BodyBuilder.Elements.Page.RGBA } -> String.String -> BodyBuilder.NodeWithStyle msg"},{"name":"namedPage","comment":" ","type":"BodyBuilder.NodeWithStyle msg -> BodyBuilder.NodeWithStyle msg -> String.String -> BodyBuilder.NodeWithStyle msg -> BodyBuilder.NodeWithStyle msg"},{"name":"namedPageQ","comment":" ","type":"BodyBuilder.NodeWithStyle msg -> BodyBuilder.NodeWithStyle msg -> Basics.Bool -> String.String -> BodyBuilder.NodeWithStyle msg -> BodyBuilder.NodeWithStyle msg"},{"name":"namedPageWithAction","comment":" ","type":"BodyBuilder.NodeWithStyle msg -> String.String -> ( String.String, msg ) -> BodyBuilder.NodeWithStyle msg -> BodyBuilder.NodeWithStyle msg"},{"name":"namedPageWithoutBack","comment":" ","type":"BodyBuilder.NodeWithStyle msg -> String.String -> BodyBuilder.NodeWithStyle msg -> BodyBuilder.NodeWithStyle msg"},{"name":"pageTitle","comment":" ","type":"String.String -> BodyBuilder.NodeWithStyle msg"},{"name":"pageView","comment":" ","type":"{ a | center : BodyBuilder.NodeWithStyle msg, left : BodyBuilder.NodeWithStyle msg, right : BodyBuilder.NodeWithStyle msg } -> BodyBuilder.NodeWithStyle msg -> BodyBuilder.NodeWithStyle msg"},{"name":"pageWithAutoMargin","comment":" ","type":"Basics.Int -> BodyBuilder.NodeWithStyle msg -> BodyBuilder.NodeWithStyle msg"},{"name":"pageWithMargin","comment":" ","type":"BodyBuilder.NodeWithStyle msg -> BodyBuilder.NodeWithStyle msg"},{"name":"title","comment":" ","type":"BodyBuilder.NodeWithStyle msg -> BodyBuilder.NodeWithStyle msg"},{"name":"verticallyCenteredPage","comment":" ","type":"BodyBuilder.NodeWithStyle msg -> BodyBuilder.NodeWithStyle msg -> String.String -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"verticallyCenteredPageQ","comment":" ","type":"BodyBuilder.NodeWithStyle msg -> BodyBuilder.NodeWithStyle msg -> Basics.Bool -> String.String -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"}],"binops":[]},{"name":"BodyBuilder.Events","comment":" This module entirely replaces Html.Events, providing a type-safer alternative.\nThis is designed to work with BodyBuilder.\nIt is not compatible with Html, though.\n\n@docs checkEventToHtmlEvent\n@docs focusEventToHtmlAttributes\n@docs inputEventToHtmlEvent\n@docs mouseEventsToHtmlAttributes\n@docs on\n@docs onCustom\n@docs onBlur\n@docs OnBlurEvent\n@docs onBlurEventToHtmlAttributes\n@docs onCheck\n@docs OnCheckEvent\n@docs onClick\n@docs OnColorInputEvent\n@docs onDoubleClick\n@docs onContextMenu\n@docs OnEvent\n@docs onEventToHtmlAttributes\n@docs onFocus\n@docs OnFocusEvent\n@docs onInput\n@docs OnInputEvent\n@docs OnIntInputEvent\n@docs onMouseDown\n@docs onMouseEnter\n@docs OnMouseEvents\n@docs OnMouseEventsInside\n@docs onMouseLeave\n@docs onMouseOut\n@docs onMouseOver\n@docs onMouseUp\n@docs OnStringInputEvent\n@docs onSubmit\n@docs OnSubmitEvent\n@docs submitEventToHtmlEvent\n\n","unions":[],"aliases":[{"name":"OnBlurEvent","comment":" ","args":["msg","a"],"type":"{ a | onBlurEvent : Maybe.Maybe msg }"},{"name":"OnCheckEvent","comment":" ","args":["msg","a"],"type":"{ a | onCheckEvent : Maybe.Maybe (Basics.Bool -> msg) }"},{"name":"OnColorInputEvent","comment":" ","args":["msg","a"],"type":"BodyBuilder.Events.OnInputEvent Color.Color msg a"},{"name":"OnEvent","comment":" ","args":["msg","a"],"type":"{ a | onEvent : Maybe.Maybe ( String.String, VirtualDom.Handler msg ) }"},{"name":"OnFocusEvent","comment":" ","args":["msg","a"],"type":"{ a | onFocusEvent : Maybe.Maybe msg }"},{"name":"OnInputEvent","comment":" ","args":["b","msg","a"],"type":"{ a | onInputEvent : Maybe.Maybe (b -> msg), fromStringInput : String.String -> b }"},{"name":"OnIntInputEvent","comment":" ","args":["msg","a"],"type":"BodyBuilder.Events.OnInputEvent Basics.Int msg a"},{"name":"OnMouseEvents","comment":" ","args":["msg","a"],"type":"{ a | onMouseEvents : Maybe.Maybe (BodyBuilder.Events.OnMouseEventsInside msg) }"},{"name":"OnMouseEventsInside","comment":" ","args":["msg"],"type":"{ click : Maybe.Maybe msg, doubleClick : Maybe.Maybe msg, contextMenu : Maybe.Maybe msg, mouseDown : Maybe.Maybe msg, mouseUp : Maybe.Maybe msg, mouseEnter : Maybe.Maybe msg, mouseLeave : Maybe.Maybe msg, mouseOver : Maybe.Maybe msg, mouseOut : Maybe.Maybe msg }"},{"name":"OnStringInputEvent","comment":" ","args":["msg","a"],"type":"BodyBuilder.Events.OnInputEvent String.String msg a"},{"name":"OnSubmitEvent","comment":" ","args":["msg","a"],"type":"{ a | onSubmitEvent : Maybe.Maybe msg }"}],"values":[{"name":"checkEventToHtmlEvent","comment":" ","type":"BodyBuilder.Events.OnCheckEvent msg a -> List.List (Html.Attribute msg)"},{"name":"focusEventToHtmlAttributes","comment":" ","type":"msg -> List.List (Html.Attribute msg)"},{"name":"inputEventToHtmlEvent","comment":" ","type":"( Maybe.Maybe (a -> msg), String.String -> a ) -> List.List (Html.Attribute msg)"},{"name":"mouseEventsToHtmlAttributes","comment":" ","type":"BodyBuilder.Events.OnMouseEventsInside msg -> List.List (Html.Attribute msg)"},{"name":"on","comment":" ","type":"String.String -> Json.Decode.Decoder msg -> BodyBuilder.Events.OnEvent msg a -> BodyBuilder.Events.OnEvent msg a"},{"name":"onBlur","comment":" ","type":"msg -> BodyBuilder.Events.OnBlurEvent msg a -> BodyBuilder.Events.OnBlurEvent msg a"},{"name":"onBlurEventToHtmlAttributes","comment":" ","type":"msg -> List.List (Html.Attribute msg)"},{"name":"onCheck","comment":" ","type":"(Basics.Bool -> msg) -> BodyBuilder.Events.OnCheckEvent msg a -> BodyBuilder.Events.OnCheckEvent msg a"},{"name":"onClick","comment":" ","type":"msg -> Modifiers.Modifier (BodyBuilder.Events.OnMouseEvents msg a)"},{"name":"onContextMenu","comment":" ","type":"msg -> Modifiers.Modifier (BodyBuilder.Events.OnMouseEvents msg a)"},{"name":"onCustom","comment":" ","type":"String.String -> Json.Decode.Decoder { message : msg, stopPropagation : Basics.Bool, preventDefault : Basics.Bool } -> BodyBuilder.Events.OnEvent msg a -> BodyBuilder.Events.OnEvent msg a"},{"name":"onDoubleClick","comment":" ","type":"msg -> Modifiers.Modifier (BodyBuilder.Events.OnMouseEvents msg a)"},{"name":"onEventToHtmlAttributes","comment":" ","type":"( String.String, VirtualDom.Handler msg ) -> List.List (Html.Attribute msg)"},{"name":"onFocus","comment":" ","type":"msg -> BodyBuilder.Events.OnFocusEvent msg a -> BodyBuilder.Events.OnFocusEvent msg a"},{"name":"onInput","comment":" ","type":"(a -> msg) -> BodyBuilder.Events.OnInputEvent a msg b -> BodyBuilder.Events.OnInputEvent a msg b"},{"name":"onMouseDown","comment":" ","type":"msg -> Modifiers.Modifier (BodyBuilder.Events.OnMouseEvents msg a)"},{"name":"onMouseEnter","comment":" ","type":"msg -> Modifiers.Modifier (BodyBuilder.Events.OnMouseEvents msg a)"},{"name":"onMouseLeave","comment":" ","type":"msg -> Modifiers.Modifier (BodyBuilder.Events.OnMouseEvents msg a)"},{"name":"onMouseOut","comment":" ","type":"msg -> Modifiers.Modifier (BodyBuilder.Events.OnMouseEvents msg a)"},{"name":"onMouseOver","comment":" ","type":"msg -> Modifiers.Modifier (BodyBuilder.Events.OnMouseEvents msg a)"},{"name":"onMouseUp","comment":" ","type":"msg -> Modifiers.Modifier (BodyBuilder.Events.OnMouseEvents msg a)"},{"name":"onSubmit","comment":" ","type":"msg -> BodyBuilder.Events.OnSubmitEvent msg a -> BodyBuilder.Events.OnSubmitEvent msg a"},{"name":"submitEventToHtmlEvent","comment":" ","type":"BodyBuilder.Events.OnSubmitEvent msg a -> List.List (Html.Attribute msg)"}],"binops":[]},{"name":"BodyBuilder.Extra","comment":"\n\n@docs b\n@docs centeredDiv\n@docs centeredImage\n@docs computeHtmlAndStyle\n@docs contentIf\n@docs contentUnless\n@docs customSpacer\n@docs customStyle\n@docs fi\n@docs grayScaledText\n@docs htmlToNodeWithStyle\n@docs ionIcon\n@docs largePadder\n@docs largePadderHorizontalAndBottom\n@docs largePadderTop\n@docs largeSpacer\n@docs limitedAndCentered\n@docs limitedWidth380WithPadding\n@docs limitedWidthWithPadding\n@docs rawStyle\n@docs resetBodyMarginStyle\n@docs smallSpacer\n@docs spacer\n@docs tinySpacer\n@docs standardVerticallyCentered\n@docs t\n@docs verticallyCentered\n\n","unions":[],"aliases":[],"values":[{"name":"b","comment":" ","type":"String.String -> BodyBuilder.NodeWithStyle msg"},{"name":"centeredDiv","comment":" ","type":"List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"centeredImage","comment":" ","type":"Modifiers.Modifiers Elegant.Display.BlockDetails -> String.String -> String.String -> BodyBuilder.NodeWithStyle msg"},{"name":"computeHtmlAndStyle","comment":" ","type":"( Html.Html msg, List.List String.String ) -> Html.Html msg"},{"name":"contentIf","comment":" ","type":"Basics.Bool -> BodyBuilder.NodeWithStyle msg -> BodyBuilder.NodeWithStyle msg"},{"name":"contentUnless","comment":" ","type":"Basics.Bool -> BodyBuilder.NodeWithStyle msg -> BodyBuilder.NodeWithStyle msg"},{"name":"customSpacer","comment":" ","type":"Elegant.SizeUnit -> BodyBuilder.NodeWithStyle msg"},{"name":"customStyle","comment":" ","type":"String.String -> Html.Html msg"},{"name":"fi","comment":" ","type":"Modifiers.Modifiers (BodyBuilder.Attributes.FlexItemAttributes msg) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.FlexItem msg"},{"name":"grayScaledText","comment":" ","type":"Basics.Float -> String.String -> BodyBuilder.NodeWithStyle msg"},{"name":"htmlToNodeWithStyle","comment":" ","type":"Html.Html msg -> BodyBuilder.NodeWithStyle msg"},{"name":"ionIcon","comment":" ","type":"(number -> BodyBuilder.Extra.RGBA -> Html.Html msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"largePadder","comment":" ","type":"List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"largePadderHorizontalAndBottom","comment":" ","type":"List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"largePadderTop","comment":" ","type":"List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"largeSpacer","comment":" ","type":"BodyBuilder.NodeWithStyle msg"},{"name":"limitedAndCentered","comment":" ","type":"List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"limitedWidth380WithPadding","comment":" ","type":"List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"limitedWidthWithPadding","comment":" ","type":"Basics.Int -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"rawStyle","comment":" ","type":"String.String -> BodyBuilder.NodeWithStyle msg"},{"name":"resetBodyMarginStyle","comment":" ","type":"BodyBuilder.NodeWithStyle msg"},{"name":"smallSpacer","comment":" ","type":"BodyBuilder.NodeWithStyle msg"},{"name":"spacer","comment":" ","type":"BodyBuilder.NodeWithStyle msg"},{"name":"standardVerticallyCentered","comment":" ","type":"BodyBuilder.NodeWithStyle msg -> BodyBuilder.NodeWithStyle msg"},{"name":"t","comment":" ","type":"String.String -> BodyBuilder.NodeWithStyle msg"},{"name":"tinySpacer","comment":" ","type":"BodyBuilder.NodeWithStyle msg"},{"name":"verticallyCentered","comment":" ","type":"Maybe.Maybe Elegant.Flex.Align -> Modifiers.Modifiers Elegant.Box.Box -> BodyBuilder.NodeWithStyle msg -> BodyBuilder.NodeWithStyle msg"}],"binops":[]},{"name":"BodyBuilder.Router","comment":" Router based on BodyBuilder and Elegant implementing transitions between\npages and history (backward and forward)\n\n@docs History\n@docs StandardHistoryMsg\n@docs Page\n@docs Transition\n@docs PageView\n@docs Direction\n@docs Easing\n\n@docs handleStandardHistory\n@docs maybeTransitionSubscription\n@docs initHistory\n@docs initHistoryAndData\n@docs push\n@docs slideUp\n@docs forward\n@docs pageWithDefaultTransition\n@docs pageWithTransition\n@docs pageWithoutTransition\n@docs customTransition\n@docs easeInOut\n@docs customKind\n@docs overflowHiddenContainer\n@docs pageView\n@docs beforeTransition\n@docs percentage\n@docs getMaybeTransitionValue\n@docs afterTransition\n@docs visiblePages\n@docs focusedElement\n@docs basicDuration\n@docs slideUpView\n@docs slideLeftView\n\n@docs headerElement\n@docs pageWithHeader\n@docs headerButton\n@docs historyView\n@docs mobileMeta\n\n","unions":[{"name":"Direction","comment":" ","args":[],"cases":[["Forward",[]],["Backward",[]]]},{"name":"Easing","comment":" ","args":[],"cases":[["EaseInOut",[]],["Linear",[]]]},{"name":"StandardHistoryMsg","comment":" Standard History Messages type :\nTick to handle transitions with RequestAnimationFrame\nBack to handle back buttons\n","args":[],"cases":[["Tick",["Basics.Float"]],["Back",[]],["FocusMsg",["Result.Result Browser.Dom.Error ()"]]]}],"aliases":[{"name":"History","comment":" Generic History type handling current page, before pages, after pages\nand current transition\n","args":["route","msg"],"type":"{ before : List.List (BodyBuilder.Router.Page route msg), current : BodyBuilder.Router.Page route msg, after : List.List (BodyBuilder.Router.Page route msg), transition : Maybe.Maybe (BodyBuilder.Router.Transition route msg), standardHistoryWrapper : BodyBuilder.Router.StandardHistoryMsg -> msg, firstFrameHasBeenPainted : Basics.Bool }"},{"name":"Page","comment":" Page type handling transition\n","args":["route","msg"],"type":"{ maybeFocusedId : Maybe.Maybe String.String, maybeTransition : Maybe.Maybe (BodyBuilder.Router.Transition route msg), route : route }"},{"name":"PageView","comment":" ","args":["route","msg"],"type":"BodyBuilder.Router.Page route msg -> Maybe.Maybe (BodyBuilder.Router.Transition route msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"Transition","comment":" Transition between 2 pages\n","args":["route","msg"],"type":"{ timer : Basics.Float, length : Basics.Float, kind : BodyBuilder.Router.Kind route msg, direction : BodyBuilder.Router.Direction, easing : BodyBuilder.Router.Easing }"}],"values":[{"name":"afterTransition","comment":" ","type":"BodyBuilder.Router.History route msg -> List.List (BodyBuilder.Router.Page route msg)"},{"name":"basicDuration","comment":" ","type":"number"},{"name":"beforeTransition","comment":" ","type":"BodyBuilder.Router.History route msg -> List.List (BodyBuilder.Router.Page route msg)"},{"name":"customKind","comment":" ","type":"(BodyBuilder.Router.History route msg -> (BodyBuilder.Router.Page route msg -> Maybe.Maybe (BodyBuilder.Router.Transition route msg) -> BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg) -> BodyBuilder.Router.Kind route msg"},{"name":"customTransition","comment":" ","type":"Basics.Float -> BodyBuilder.Router.Kind route msg -> BodyBuilder.Router.Direction -> BodyBuilder.Router.Easing -> BodyBuilder.Router.Transition route msg"},{"name":"easeInOut","comment":" ","type":"BodyBuilder.Router.Easing"},{"name":"focusedElement","comment":" ","type":"String.String -> BodyBuilder.Router.Page route msg -> BodyBuilder.Router.Page route msg"},{"name":"forward","comment":" ","type":"BodyBuilder.Router.Direction"},{"name":"getMaybeTransitionValue","comment":" ","type":"Maybe.Maybe (BodyBuilder.Router.Transition route msg) -> Basics.Float"},{"name":"handleStandardHistory","comment":" handle model's history update using historyMsg\n","type":"BodyBuilder.Router.StandardHistoryMsg -> { a | history : BodyBuilder.Router.History route msg } -> ( { a | history : BodyBuilder.Router.History route msg }, Platform.Cmd.Cmd msg )"},{"name":"headerButton","comment":" display button\n","type":"msg -> String.String -> BodyBuilder.NodeWithStyle msg"},{"name":"headerElement","comment":" display header\n","type":"{ a | center : BodyBuilder.NodeWithStyle msg, left : BodyBuilder.NodeWithStyle msg, right : BodyBuilder.NodeWithStyle msg } -> BodyBuilder.NodeWithStyle msg"},{"name":"historyView","comment":" display the current possible transition from one page to the other using\nthe history and its own routing system\n","type":"(BodyBuilder.Router.Page route msg -> Maybe.Maybe (BodyBuilder.Router.Transition route msg) -> BodyBuilder.NodeWithStyle msg) -> BodyBuilder.Router.History route msg -> BodyBuilder.NodeWithStyle msg"},{"name":"initHistory","comment":" Init your history.\n","type":"route -> (BodyBuilder.Router.StandardHistoryMsg -> msg) -> BodyBuilder.Router.History route msg"},{"name":"initHistoryAndData","comment":" initialize history and data based on the routing system\n","type":"route -> data -> (BodyBuilder.Router.StandardHistoryMsg -> msg) -> { history : BodyBuilder.Router.History route msg, data : data }"},{"name":"maybeTransitionSubscription","comment":" maybe transition subscription\n","type":"BodyBuilder.Router.History route msg -> Platform.Sub.Sub msg"},{"name":"mobileMeta","comment":" meta tag for a correct display on mobile devices\n","type":"BodyBuilder.NodeWithStyle msg"},{"name":"overflowHiddenContainer","comment":" ","type":"Modifiers.Modifiers (BodyBuilder.Attributes.FlexContainerAttributes msg) -> List.List (BodyBuilder.FlexItem msg) -> BodyBuilder.NodeWithStyle msg"},{"name":"pageView","comment":" ","type":"(a -> Maybe.Maybe (BodyBuilder.Router.Transition route msg) -> BodyBuilder.NodeWithStyle msg) -> Maybe.Maybe (BodyBuilder.Router.Transition route msg) -> a -> BodyBuilder.NodeWithStyle msg"},{"name":"pageWithDefaultTransition","comment":" creates a page with the defaultTransition\n","type":"route -> BodyBuilder.Router.Page route msg"},{"name":"pageWithHeader","comment":" ","type":"BodyBuilder.NodeWithStyle msg -> BodyBuilder.NodeWithStyle msg -> BodyBuilder.NodeWithStyle msg"},{"name":"pageWithTransition","comment":" creates a page with a custom transition\n","type":"BodyBuilder.Router.Transition route msg -> route -> BodyBuilder.Router.Page route msg"},{"name":"pageWithoutTransition","comment":" creates a page without any transition\n","type":"route -> BodyBuilder.Router.Page route msg"},{"name":"percentage","comment":" ","type":"Basics.Float -> Basics.Float"},{"name":"push","comment":" push a page into history\n","type":"BodyBuilder.Router.Page route msg -> BodyBuilder.Router.History route msg -> BodyBuilder.Router.History route msg"},{"name":"slideLeftView","comment":" ","type":"BodyBuilder.Router.History route msg -> BodyBuilder.Router.PageView route msg -> BodyBuilder.NodeWithStyle msg"},{"name":"slideUp","comment":" slideUp transition\n","type":"BodyBuilder.Router.Transition route msg"},{"name":"slideUpView","comment":" ","type":"BodyBuilder.Router.History route msg -> BodyBuilder.Router.PageView route msg -> BodyBuilder.NodeWithStyle msg"},{"name":"visiblePages","comment":" ","type":"BodyBuilder.Router.History route msg -> List.List (BodyBuilder.Router.Page route msg)"}],"binops":[]},{"name":"BodyBuilder.Style","comment":"\n\n@docs box\n@docs block\n@docs blockProperties\n@docs flexContainerProperties\n@docs flexItemProperties\n@docs gridContainerProperties\n@docs gridItemProperties\n@docs waitForStyleSelector\n@docs media\n@docs setMedia\n@docs greater\n@docs lesser\n@docs between\n@docs pseudoClass\n@docs setPseudoClass\n@docs hover\n@docs focus\n\n","unions":[],"aliases":[],"values":[{"name":"between","comment":" ","type":"Basics.Int -> Basics.Int -> BodyBuilder.Attributes.MediaQuery"},{"name":"block","comment":" Transform a node in block and pass a blockdetails modifiers\n","type":"Modifiers.Modifiers Elegant.Display.BlockDetails -> BodyBuilder.Attributes.StyleModifier (BodyBuilder.Attributes.MaybeBlockContainer a)"},{"name":"blockProperties","comment":" Change the blockdetails modifiers\n","type":"Modifiers.Modifiers Elegant.Display.BlockDetails -> BodyBuilder.Attributes.StyleModifier (BodyBuilder.Attributes.BlockContainer a)"},{"name":"box","comment":" ","type":"Modifiers.Modifiers Elegant.Box.Box -> BodyBuilder.Attributes.StyleModifier (BodyBuilder.Attributes.BoxContainer a)"},{"name":"flexContainerProperties","comment":" ","type":"Modifiers.Modifiers Elegant.Flex.FlexContainerDetails -> BodyBuilder.Attributes.StyleModifier (BodyBuilder.Attributes.FlexContainerAttributes msg)"},{"name":"flexItemProperties","comment":" ","type":"Modifiers.Modifiers Elegant.Flex.FlexItemDetails -> BodyBuilder.Attributes.StyleModifier (BodyBuilder.Attributes.FlexItemAttributes msg)"},{"name":"focus","comment":" ","type":"BodyBuilder.Attributes.StyleModifier a -> BodyBuilder.Attributes.StyleModifier a"},{"name":"greater","comment":" ","type":"Basics.Int -> BodyBuilder.Attributes.MediaQuery"},{"name":"gridContainerProperties","comment":" ","type":"Modifiers.Modifiers Elegant.Grid.GridContainerDetails -> BodyBuilder.Attributes.StyleModifier (BodyBuilder.Attributes.GridContainerAttributes msg)"},{"name":"gridItemProperties","comment":" ","type":"Modifiers.Modifiers Elegant.Grid.GridItemDetails -> BodyBuilder.Attributes.StyleModifier (BodyBuilder.Attributes.GridItemAttributes msg)"},{"name":"hover","comment":" ","type":"BodyBuilder.Attributes.StyleModifier a -> BodyBuilder.Attributes.StyleModifier a"},{"name":"lesser","comment":" ","type":"Basics.Int -> BodyBuilder.Attributes.MediaQuery"},{"name":"media","comment":" ","type":"BodyBuilder.Attributes.MediaQuery -> BodyBuilder.Attributes.StyleModifier a -> BodyBuilder.Attributes.StyleModifier a"},{"name":"pseudoClass","comment":" ","type":"String.String -> BodyBuilder.Attributes.StyleModifier a -> BodyBuilder.Attributes.StyleModifier a"},{"name":"setMedia","comment":" ","type":"BodyBuilder.Attributes.MediaQuery -> BodyBuilder.Attributes.StyleSelector -> BodyBuilder.Attributes.StyleSelector"},{"name":"setPseudoClass","comment":" ","type":"String.String -> BodyBuilder.Attributes.StyleSelector -> BodyBuilder.Attributes.StyleSelector"},{"name":"waitForStyleSelector","comment":" ","type":"(( a, BodyBuilder.Attributes.StyleSelector ) -> b -> b) -> a -> BodyBuilder.Attributes.StyleSelector -> Modifiers.Modifier b"}],"binops":[]},{"name":"Color","comment":" Library for working with colors. Includes\n[RGB](https://en.wikipedia.org/wiki/RGB_color_model) and\n[HSL](http://en.wikipedia.org/wiki/HSL_and_HSV) creation, gradients, and\nbuilt-in names.\n\n\n# Colors\n\n@docs Color\n\n\n# Creation\n\n@docs rgb, rgba, hsl, hsla, greyscale, grayscale, complement\n\n\n# Gradients\n\n@docs Gradient, linear, radial\n\n\n# Extracting Colors\n\n@docs toRgb, toHsl\n\n\n# Built-in Colors\n\nThese colors come from the [Tango\npalette](http://tango.freedesktop.org/Tango_Icon_Theme_Guidelines)\nwhich provides aesthetically reasonable defaults for colors. Each color also\ncomes with a light and dark version.\n\n\n### Standard\n\n@docs red, orange, yellow, green, blue, purple, brown\n\n\n### Light\n\n@docs lightRed, lightOrange, lightYellow, lightGreen, lightBlue, lightPurple, lightBrown\n\n\n### Dark\n\n@docs darkRed, darkOrange, darkYellow, darkGreen, darkBlue, darkPurple, darkBrown\n\n\n### Eight Shades of Grey\n\nThese colors are a compatible series of shades of grey, fitting nicely\nwith the Tango palette.\n@docs white, lightGrey, grey, darkGrey, lightCharcoal, charcoal, darkCharcoal, black\n\nThese are identical to the *grey* versions. It seems the spelling is regional, but\nthat has never helped me remember which one I should be writing.\n@docs lightGray, gray, darkGray\n\n","unions":[{"name":"Color","comment":" Representation of colors.\n","args":[],"cases":[]},{"name":"Gradient","comment":" Abstract representation of a color gradient.\n","args":[],"cases":[]}],"aliases":[],"values":[{"name":"black","comment":" ","type":"Color.Color"},{"name":"blue","comment":" ","type":"Color.Color"},{"name":"brown","comment":" ","type":"Color.Color"},{"name":"charcoal","comment":" ","type":"Color.Color"},{"name":"complement","comment":" Produce a &ldquo;complementary color&rdquo;. The two colors will\naccent each other. This is the same as rotating the hue by 180&deg;.\n","type":"Color.Color -> Color.Color"},{"name":"darkBlue","comment":" ","type":"Color.Color"},{"name":"darkBrown","comment":" ","type":"Color.Color"},{"name":"darkCharcoal","comment":" ","type":"Color.Color"},{"name":"darkGray","comment":" ","type":"Color.Color"},{"name":"darkGreen","comment":" ","type":"Color.Color"},{"name":"darkGrey","comment":" ","type":"Color.Color"},{"name":"darkOrange","comment":" ","type":"Color.Color"},{"name":"darkPurple","comment":" ","type":"Color.Color"},{"name":"darkRed","comment":" ","type":"Color.Color"},{"name":"darkYellow","comment":" ","type":"Color.Color"},{"name":"gray","comment":" ","type":"Color.Color"},{"name":"grayscale","comment":" Produce a gray based on the input. 0 is white, 1 is black.\n","type":"Basics.Float -> Color.Color"},{"name":"green","comment":" ","type":"Color.Color"},{"name":"grey","comment":" ","type":"Color.Color"},{"name":"greyscale","comment":" Produce a gray based on the input. 0 is white, 1 is black.\n","type":"Basics.Float -> Color.Color"},{"name":"hsl","comment":" Create [HSL colors](http://en.wikipedia.org/wiki/HSL_and_HSV). This gives\nyou access to colors more like a color wheel, where all hues are arranged in a\ncircle that you specify with standard Elm angles (radians).\n\n    red =\n        hsl (degrees 0) 1 0.5\n\n    green =\n        hsl (degrees 120) 1 0.5\n\n    blue =\n        hsl (degrees 240) 1 0.5\n\n    pastelRed =\n        hsl (degrees 0) 0.7 0.7\n\nTo cycle through all colors, just cycle through degrees. The saturation level\nis how vibrant the color is, like a dial between grey and bright colors. The\nlightness level is a dial between white and black.\n\n","type":"Basics.Float -> Basics.Float -> Basics.Float -> Color.Color"},{"name":"hsla","comment":" Create [HSL colors](http://en.wikipedia.org/wiki/HSL_and_HSV)\nwith an alpha component for transparency.\n","type":"Basics.Float -> Basics.Float -> Basics.Float -> Basics.Float -> Color.Color"},{"name":"lightBlue","comment":" ","type":"Color.Color"},{"name":"lightBrown","comment":" ","type":"Color.Color"},{"name":"lightCharcoal","comment":" ","type":"Color.Color"},{"name":"lightGray","comment":" ","type":"Color.Color"},{"name":"lightGreen","comment":" ","type":"Color.Color"},{"name":"lightGrey","comment":" ","type":"Color.Color"},{"name":"lightOrange","comment":" ","type":"Color.Color"},{"name":"lightPurple","comment":" ","type":"Color.Color"},{"name":"lightRed","comment":" ","type":"Color.Color"},{"name":"lightYellow","comment":" ","type":"Color.Color"},{"name":"linear","comment":" Create a linear gradient. Takes a start and end point and then a series of\n&ldquo;color stops&rdquo; that indicate how to interpolate between the start and\nend points. See [this example](http://elm-lang.org/examples/linear-gradient) for a\nmore visual explanation.\n","type":"( Basics.Float, Basics.Float ) -> ( Basics.Float, Basics.Float ) -> List.List ( Basics.Float, Color.Color ) -> Color.Gradient"},{"name":"orange","comment":" ","type":"Color.Color"},{"name":"purple","comment":" ","type":"Color.Color"},{"name":"radial","comment":" Create a radial gradient. First takes a start point and inner radius. Then\ntakes an end point and outer radius. It then takes a series of &ldquo;color\nstops&rdquo; that indicate how to interpolate between the inner and outer\ncircles. See [this example](http://elm-lang.org/examples/radial-gradient) for a\nmore visual explanation.\n","type":"( Basics.Float, Basics.Float ) -> Basics.Float -> ( Basics.Float, Basics.Float ) -> Basics.Float -> List.List ( Basics.Float, Color.Color ) -> Color.Gradient"},{"name":"red","comment":" ","type":"Color.Color"},{"name":"rgb","comment":" Create RGB colors from numbers between 0 and 255 inclusive.\n","type":"Basics.Int -> Basics.Int -> Basics.Int -> Color.Color"},{"name":"rgba","comment":" Create RGB colors with an alpha component for transparency.\nThe alpha component is specified with numbers between 0 and 1.\n","type":"Basics.Int -> Basics.Int -> Basics.Int -> Basics.Float -> Color.Color"},{"name":"toHsl","comment":" Extract the components of a color in the HSL format.\n","type":"Color.Color -> { hue : Basics.Float, saturation : Basics.Float, lightness : Basics.Float, alpha : Basics.Float }"},{"name":"toRgb","comment":" Extract the components of a color in the RGB format.\n","type":"Color.Color -> { red : Basics.Int, green : Basics.Int, blue : Basics.Int, alpha : Basics.Float }"},{"name":"white","comment":" ","type":"Color.Color"},{"name":"yellow","comment":" ","type":"Color.Color"}],"binops":[]},{"name":"Color.Convert","comment":" #Convert\nConvert colors to differnt string formats and hexadecimal strings to colors.\n\n@docs colorToCssRgb, colorToCssRgba, colorToCssHsl, colorToCssHsla, colorToHex, colorToHexWithAlpha\n@docs hexToColor, colorToLab, labToColor\n\n","unions":[],"aliases":[],"values":[{"name":"colorToCssHsl","comment":" Converts a color to an css hsl string.\n\n    colorToCssHsl (hsl 1 1 0.5) -- \"hsl(1, 1, 0.5)\"\n\n","type":"Color.Color -> String.String"},{"name":"colorToCssHsla","comment":" Converts a color to an css hsla string.\n\n    colorToCssHsla (hsla 1 1 0.5 1) -- \"hsla(56, 100%, 50%, 1)\"\n\n","type":"Color.Color -> String.String"},{"name":"colorToCssRgb","comment":" Converts a color to an css rgb string.\n\n    colorToCssRgb (rgb 255 0 0) -- \"rgb(255, 0, 0)\"\n\n","type":"Color.Color -> String.String"},{"name":"colorToCssRgba","comment":" Converts a color to an css rgba string.\n\n    colorToCssRgba (rgba 255 0 0 0.5) -- \"rgba(255, 0, 0, 0.5)\"\n\n","type":"Color.Color -> String.String"},{"name":"colorToHex","comment":" Converts a color to a hexadecimal string.\n\n    colorToHex (rgb  255 0 0)     -- \"#ff0000\"\n    colorToHex (rgba 255 0 0 1.0) -- \"#ff0000\"\n    colorToHex (rgba 255 0 0 0.5) -- \"#ff0000\"\n    colorToHex (rgba 255 0 0 0.0) -- \"#ff0000\"\n\nIf you want support for colors with alpha transparency, either use `colorToCssRgba` or `colorToHexWithAlpha`.\n\n","type":"Color.Color -> String.String"},{"name":"colorToHexWithAlpha","comment":" Converts a color to a hexadecimal string.\n\nIf the color has alpha transparency different from 1, it will use the `#RRGGBBAA` format.\nNote that the support for that is (as of March 2018) [missing](https://caniuse.com/#feat=css-rrggbbaa) on IE, Edge and some mobile browsers.\nIt may be better to use `colorToCssRgba`, which has excellent support.\n\n    colorToHexWithAlpha (rgb  255 0 0)     -- \"#ff0000\"\n    colorToHexWithAlpha (rgba 255 0 0 1.0) -- \"#ff0000\"\n    colorToHexWithAlpha (rgba 255 0 0 0.5) -- \"#ff000080\"\n    colorToHexWithAlpha (rgba 255 0 0 0.0) -- \"#ff000000\"\n\n","type":"Color.Color -> String.String"},{"name":"colorToLab","comment":" Convert color to CIELAB- color space\n","type":"Color.Color -> { l : Basics.Float, a : Basics.Float, b : Basics.Float }"},{"name":"hexToColor","comment":" Converts a string to `Maybe` of color.\n\n    hexToColor \"#ff0000\" -- \"Ok (RGB 255 0 0)\"\n    hexToColor \"#f00\" -- \"Ok (RGB 255 0 0)\"\n    hexToColor \"#ff000080\" -- \"Ok (RGBA 255 0 0 0.5)\"\n    hexToColor \"ff0000\" -- \"Ok (RGB 255 0 0)\"\n    hexToColor \"f00\" -- \"Ok (RGB 255 0 0)\"\n    hexToColor \"ff000080\" -- \"Ok (RGBA 255 0 0 0.5)\"\n    hexToColor \"1234\" -- \"Err \\\"Parsing hex regex failed\\\"\"\n\n","type":"String.String -> Result.Result String.String Color.Color"},{"name":"labToColor","comment":" Convert a color in CIELAB- color space to Elm `Color`\n","type":"{ l : Basics.Float, a : Basics.Float, b : Basics.Float } -> Color.Color"}],"binops":[]},{"name":"Color.Interpolate","comment":"\n\n\n# Interpolate\n\nInterpolate between two colors\n\n@docs Space, interpolate\n\n","unions":[{"name":"Space","comment":" The color space that is used for the interpolation\n","args":[],"cases":[["RGB",[]],["HSL",[]],["LAB",[]]]}],"aliases":[],"values":[{"name":"interpolate","comment":" Linear interpolation of two colors by a factor between `0` and `1`.\n","type":"Color.Interpolate.Space -> Color.Color -> Color.Color -> Basics.Float -> Color.Color"}],"binops":[]},{"name":"Color.Manipulate","comment":" A library for creating and manipulating colors.\n\n\n# Color adjustment\n\n@docs darken, lighten, saturate, desaturate, rotateHue, fadeIn, fadeOut, grayscale, scaleHsl, scaleRgb, mix, weightedMix\n\n","unions":[],"aliases":[],"values":[{"name":"darken","comment":" Decrease the lightning of a color\n","type":"Basics.Float -> Color.Color -> Color.Color"},{"name":"desaturate","comment":" Decrease the saturation of a color\n","type":"Basics.Float -> Color.Color -> Color.Color"},{"name":"fadeIn","comment":" Increase the opacity of a color\n","type":"Basics.Float -> Color.Color -> Color.Color"},{"name":"fadeOut","comment":" Decrease the opacity of a color\n","type":"Basics.Float -> Color.Color -> Color.Color"},{"name":"grayscale","comment":" Convert the color to a greyscale version, aka set saturation to 0\n","type":"Color.Color -> Color.Color"},{"name":"lighten","comment":" Increase the lightning of a color\n","type":"Basics.Float -> Color.Color -> Color.Color"},{"name":"mix","comment":" Mixes two colors together. This is the same as calling `weightedMix` with a weight of 0.5.\n","type":"Color.Color -> Color.Color -> Color.Color"},{"name":"rotateHue","comment":" Change the hue of a color. The angle value must be in degrees\n","type":"Basics.Float -> Color.Color -> Color.Color"},{"name":"saturate","comment":" Increase the saturation of a color\n","type":"Basics.Float -> Color.Color -> Color.Color"},{"name":"scaleHsl","comment":" Fluidly scale saturation, lightness and alpha channel.\n\nThat means that lightening an already-light color with `scaleHsl` won’t change the lightness much, but lightening\na dark color by the same amount will change it more dramatically.\n\nFor example, the lightness of a color can be anywhere between 0 and 1.0. If `scaleHsl (0, 0.4, 0) color` is called,\nthe resulting color’s lightness will be 40% of the way between its original lightness and 1.0. If\n`scaleHsl (0, -0.4, 0) color` is called instead, the lightness will be 40% of the way between the original\nand 0.\n\nThe values of the supplied tuple scale saturation, lightness, and opacity, respectively, and have a valid range of\n-1.0 to 1.0.\n\nThis function is inspired by the Sass function [scale-color](http://sass-lang.com/documentation/Sass/Script/Functions.html#scale_color-instance_method).\n\n","type":"( Basics.Float, Basics.Float, Basics.Float ) -> Color.Color -> Color.Color"},{"name":"scaleRgb","comment":" Fluidly scale red, green, blue, and alpha channels.\n\nThat means that reddening a already-red color with `scaleRgb` won’t change the redness much, but reddening a color\nwith little or no red by the same amount will change it more dramatically.\n\nFor example, the redness of a color can be anywhere between 0 and 255. If `scaleRgb 0.4 0 0 0 color` is called,\nthe resulting color’s redness will be 40% of the way between its original redness and 255. If\n`scaleRgb -0.4 0 0 0 color` is called instead, the redness will be 40% of the way between the original\nand 0.\n\nThe values of the supplied tuple scale red, green, blue, and alpha channels, respectively, and have a valid range of\n-1.0 to 1.0.\n\nThis function is inspired by the Sass function [scale-color](http://sass-lang.com/documentation/Sass/Script/Functions.html#scale_color-instance_method).\n\n","type":"Basics.Float -> Basics.Float -> Basics.Float -> Basics.Float -> Color.Color -> Color.Color"},{"name":"weightedMix","comment":" Mixes two colors together.\n\nThis function takes the average of each of the RGB components, weighted by a provided value between 0 and 1.0. The\nopacity of the colors is also considered when weighting the components.\n\nThe weight specifies the amount of the first color that should be included in the returned color. For example, a weight\nof 0.5 means that half the first color and half the second color should be used. A weight of 0.25 means that a quarter\nof the first color and three quarters of the second color should be used.\n\nThis function uses the same algorithm as the [mix](http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method) function in Sass.\n\n","type":"Color.Color -> Color.Color -> Basics.Float -> Color.Color"}],"binops":[]},{"name":"DateTime","comment":"\n\n@docs DateBetween\n@docs DateMsg\n@docs MyDate\n@docs monthToString\n@docs myDateToIso8601\n@docs posixToMyDate\n\n","unions":[{"name":"DateBetween","comment":" ","args":[],"cases":[["DateBetween",["DateTime.MyDate","DateTime.MyDate"]]]},{"name":"DateMsg","comment":" ","args":[],"cases":[["Day",["Basics.Int"]],["Month",["Basics.Int"]],["Year",["Basics.Int"]],["SetDefaultDate",[]],["RemoveDate",[]]]}],"aliases":[{"name":"MyDate","comment":" ","args":[],"type":"{ day : Basics.Int, month : Basics.Int, year : Basics.Int }"}],"values":[{"name":"monthToString","comment":" ","type":"Time.Month -> String.String"},{"name":"myDateToIso8601","comment":" ","type":"DateTime.MyDate -> String.String"},{"name":"posixToMyDate","comment":" ","type":"Time.Posix -> DateTime.MyDate"}],"binops":[]},{"name":"Elegant","comment":"\n\n@docs CommonStyle\n@docs commonStyle\n@docs commonStyleToCss\n@docs commonStyleToStyle\n@docs SizeUnit\n@docs Style\n@docs classes\n@docs deg\n@docs rad\n@docs color\n@docs em\n@docs emptyStyle\n@docs inlineStyle\n@docs opposite\n@docs percent\n@docs pt\n@docs px\n@docs rem\n@docs screenWidthBetween\n@docs screenWidthGE\n@docs screenWidthLE\n@docs setSuffix\n@docs style\n@docs styleToCss\n@docs toCommonStyle\n@docs toInlineStyles\n@docs vh\n@docs vw\n@docs withScreenWidth\n\n","unions":[{"name":"Style","comment":" Contains all style for an element used with Elegant.\n","args":[],"cases":[]}],"aliases":[{"name":"CommonStyle","comment":" ","args":[],"type":"Elegant.Helpers.Style.Style"},{"name":"SizeUnit","comment":" ","args":[],"type":"Elegant.Helpers.Shared.SizeUnit"}],"values":[{"name":"classes","comment":" Generate all the classes of a list of Styles\n","type":"Elegant.Style -> String.String"},{"name":"color","comment":" ","type":"a -> { b | color : Maybe.Maybe a } -> { b | color : Maybe.Maybe a }"},{"name":"commonStyle","comment":" ","type":"Maybe.Maybe Elegant.Display.DisplayBox -> List.List Elegant.Helpers.Style.ScreenWidth -> Maybe.Maybe String.String -> Elegant.Helpers.Style.Style"},{"name":"commonStyleToCss","comment":" ","type":"Elegant.CommonStyle -> List.List ( String.String, String.String )"},{"name":"commonStyleToStyle","comment":" ","type":"Elegant.CommonStyle -> Elegant.Style"},{"name":"deg","comment":" ","type":"Basics.Float -> Elegant.Helpers.Shared.Angle"},{"name":"em","comment":" ","type":"Basics.Float -> Elegant.SizeUnit"},{"name":"emptyStyle","comment":" ","type":"Elegant.Style"},{"name":"inlineStyle","comment":" ","type":"Elegant.Display.DisplayBox -> List.List (Html.Attribute msg)"},{"name":"opposite","comment":" Calculate the opposite of a size unit value.\nEx : opposite (Px 2) == Px -2\n","type":"Elegant.SizeUnit -> Elegant.SizeUnit"},{"name":"percent","comment":" ","type":"Basics.Float -> Elegant.SizeUnit"},{"name":"pt","comment":" ","type":"Basics.Int -> Elegant.SizeUnit"},{"name":"px","comment":" ","type":"Basics.Int -> Elegant.SizeUnit"},{"name":"rad","comment":" ","type":"Basics.Float -> Elegant.Helpers.Shared.Angle"},{"name":"rem","comment":" ","type":"Basics.Float -> Elegant.SizeUnit"},{"name":"screenWidthBetween","comment":" ","type":"Basics.Int -> Basics.Int -> Elegant.Display.DisplayBox -> Elegant.Style -> Elegant.Style"},{"name":"screenWidthGE","comment":" ","type":"Basics.Int -> Elegant.Display.DisplayBox -> Elegant.Style -> Elegant.Style"},{"name":"screenWidthLE","comment":" ","type":"Basics.Int -> Elegant.Display.DisplayBox -> Elegant.Style -> Elegant.Style"},{"name":"setSuffix","comment":" ","type":"String.String -> Elegant.Style -> Elegant.Style"},{"name":"style","comment":" ","type":"Elegant.Display.DisplayBox -> Elegant.Style"},{"name":"styleToCss","comment":" ","type":"Elegant.Style -> List.List ( String.String, String.String )"},{"name":"toCommonStyle","comment":" ","type":"Elegant.Style -> Elegant.Helpers.Style.Style"},{"name":"toInlineStyles","comment":" ","type":"Elegant.Style -> List.List ( String.String, String.String )"},{"name":"vh","comment":" ","type":"Basics.Float -> Elegant.SizeUnit"},{"name":"vw","comment":" ","type":"Basics.Float -> Elegant.SizeUnit"},{"name":"withScreenWidth","comment":" ","type":"List.List Elegant.Helpers.Style.ScreenWidth -> Elegant.Style -> Elegant.Style"}],"binops":[]},{"name":"Elegant.Background","comment":" Background contains everything about background rendering: using photos or gradient,\nand positionning them on the page.\n\n\n# Types\n\n@docs Background\n@docs Image\n@docs BackgroundImage\n@docs Gradient\n@docs Angle\n@docs Degree\n@docs Radiant\n@docs ColorStop\n\n\n# Background creation\n\n@docs default\n@docs images\n@docs image\n@docs gradient\n@docs linear\n@docs radial\n\n\n# Background modifiers\n\n@docs intermediateColors\n@docs colorStop\n@docs at\n@docs degree\n@docs rad\n\n\n# Compilation\n\n@docs backgroundToCouples\n\n","unions":[{"name":"Angle","comment":" Represents an angle. Can be either radiant or degree.\n","args":[],"cases":[]},{"name":"Gradient","comment":" Defines a gradient, which can be either linear or radial. They are instanciated\nby the corresponding functions.\n","args":[],"cases":[]},{"name":"Image","comment":" Represents an image in CSS. It can be an image, represented by a source url, or\na gradiant. They are instanciated by `image` (which instanciate an Image inside a\n`BackgroundImage`) or by `linear` or `radial`, instanciating a gradiant.\n","args":[],"cases":[]}],"aliases":[{"name":"Background","comment":" The `Background` record contains everything about background rendering,\nincluding character rendering. You probably won't use it as is, but instead using\n`Box.background` which automatically generate an empty `Background` record. You\ncan then use modifiers. I.E.\n\n    Box.background\n        [ Elegant.color Color.white\n        , Background.images\n            [ Background.image \"/example.photo\" ]\n        ]\n\n","args":[],"type":"{ color : Maybe.Maybe Color.Color, images : List.List Elegant.Background.BackgroundImage }"},{"name":"BackgroundImage","comment":" Represents a Background Image, i.e. an image in Background. Contrary to `Image`,\na `BackgroundImage` contains an image and a position. This position set the position of the image\non the background.\n","args":[],"type":"{ image : Maybe.Maybe Elegant.Background.Image, position : Maybe.Maybe (Elegant.Helpers.Vector.Vector Elegant.Helpers.Shared.SizeUnit) }"},{"name":"ColorStop","comment":" Represents a CSS Color Stop, which contains a Color, and possibly a position.\nThis is automatically generated by `colorStop`.\n","args":[],"type":"{ position : Maybe.Maybe Elegant.Helpers.Shared.SizeUnit, color : Color.Color }"},{"name":"Degree","comment":" Represents a degree.\n","args":[],"type":"Basics.Float"},{"name":"Radiant","comment":" Represents a radiant.\n","args":[],"type":"Basics.Float"}],"values":[{"name":"at","comment":" Sets a position on both a gradient and a `BackgroundImage`.\n","type":"a -> { b | position : Maybe.Maybe a } -> { b | position : Maybe.Maybe a }"},{"name":"backgroundToCouples","comment":" Compiles a `Background` record to the corresponding CSS list of tuples.\nCompiles only styles which are defined, ignoring `Nothing` fields.\n","type":"Elegant.Background.Background -> List.List ( String.String, String.String )"},{"name":"colorStop","comment":" Generates a CSS Color Stop from Color to use in gradients.\n","type":"Color.Color -> Elegant.Background.ColorStop"},{"name":"default","comment":" Generates an empty `Background`.\n","type":"Elegant.Background.Background"},{"name":"degree","comment":" Generates an angle in degree from Float.\n","type":"Basics.Float -> Elegant.Background.Angle"},{"name":"gradient","comment":" Accepts a gradient, and creates a `BackgroundImage`.\n","type":"Elegant.Background.Gradient -> Elegant.Background.BackgroundImage"},{"name":"image","comment":" Accepts an Url, and returns a `BackgroundImage`. This image can be modified\nto add a position to it.\n","type":"String.String -> Elegant.Background.BackgroundImage"},{"name":"images","comment":" Modify the background rendering to add photos and gradients.\nIt modifies the images list in `Background`.\n\n    Background.images\n        [ Background.image \"/example.photo\" ]\n\n","type":"List.List Elegant.Background.BackgroundImage -> Modifiers.Modifier Elegant.Background.Background"},{"name":"intermediateColors","comment":" Sets multiples intermediate colors in a gradient.\nBy default, a gradient is created with two colors. This can be used to add\nmore colors.\n","type":"List.List Elegant.Background.ColorStop -> Elegant.Background.Gradient -> Elegant.Background.Gradient"},{"name":"linear","comment":" Creates a linear gradient. The angle, and two colors (one for starting color,\nthe second for the ending color) are required, and more colors can be added in the\ngradient using `intermediateColors`.\n","type":"Elegant.Background.Angle -> Elegant.Background.ColorStop -> Elegant.Background.ColorStop -> Elegant.Background.Gradient"},{"name":"rad","comment":" Generates an angle in radiant from Float.\n","type":"Basics.Float -> Elegant.Background.Angle"},{"name":"radial","comment":" Creates a radial gradient. Two colors (one for starting color, the second\nfor the ending color) are required, and more colors can be added in the gradient\nusing `intermediateColors`.\n","type":"Elegant.Background.ColorStop -> Elegant.Background.ColorStop -> Elegant.Background.Gradient"}],"binops":[]},{"name":"Elegant.Block","comment":"\n\n@docs overflowHidden\n@docs alignCenter\n@docs alignRight\n@docs alignLeft\n@docs maxWidth\n@docs maxHeight\n@docs minWidth\n@docs minHeight\n@docs width\n@docs height\n@docs fullWidth\n@docs fullHeight\n\n","unions":[],"aliases":[],"values":[{"name":"alignCenter","comment":" ","type":"Modifiers.Modifier Elegant.Display.BlockDetails"},{"name":"alignLeft","comment":" ","type":"Modifiers.Modifier Elegant.Display.BlockDetails"},{"name":"alignRight","comment":" ","type":"Modifiers.Modifier Elegant.Display.BlockDetails"},{"name":"fullHeight","comment":" ","type":"Modifiers.Modifier Elegant.Display.BlockDetails"},{"name":"fullWidth","comment":" ","type":"Modifiers.Modifier Elegant.Display.BlockDetails"},{"name":"height","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Display.BlockDetails"},{"name":"maxHeight","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Display.BlockDetails"},{"name":"maxWidth","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Display.BlockDetails"},{"name":"minHeight","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Display.BlockDetails"},{"name":"minWidth","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Display.BlockDetails"},{"name":"overflowHidden","comment":" ","type":"Modifiers.Modifier Elegant.Display.BlockDetails"},{"name":"width","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Display.BlockDetails"}],"binops":[]},{"name":"Elegant.Border","comment":" Border contains everything about borders rendering.\n\n\n# Types\n\n@docs Border\n@docs BorderStyle\n\n\n# Default border\n\n@docs default\n\n\n# Border modifiers\n\n\n## Appearance\n\n@docs thickness\n@docs none\n@docs solid\n@docs dashed\n@docs color\n\n\n## Sides\n\n@docs top\n@docs bottom\n@docs left\n@docs right\n@docs horizontal\n@docs vertical\n@docs all\n\n\n# Compilation\n\n@docs borderToCouples\n\n\n# Sugar\n\n@docs full\n\n","unions":[{"name":"BorderStyle","comment":" Represents the possible styles of the border.\nIt can be Solid or Dashed. They are created by `solid` and `dashed`.\n","args":[],"cases":[]}],"aliases":[{"name":"Border","comment":" The `Border` record contains everything about one border side.\nYou probably won't use it as is, but instead using `Elegant.border`\nwhich automatically generate an empty `Border` record. You\ncan then use modifiers. I.E.\n\n    Elegant.border\n        [ Border.solid\n        , Border.color Color.blue\n        ]\n\n","args":[],"type":"{ color : Maybe.Maybe Color.Color, thickness : Maybe.Maybe Elegant.Helpers.Shared.SizeUnit, style : Maybe.Maybe Elegant.Border.BorderStyle }"}],"values":[{"name":"all","comment":" Accepts a list of border modifiers, and modify the four sides of the border.\n","type":"Modifiers.Modifiers Elegant.Border.Border -> Modifiers.Modifier (Elegant.Surrounded.Surrounded Elegant.Border.Border)"},{"name":"borderToCouples","comment":" Compiles a `Surrounded Border` record to the corresponding CSS list of tuples.\nCompiles only styles which are defined, ignoring `Nothing` fields.\n","type":"Elegant.Surrounded.Surrounded Elegant.Border.Border -> List.List ( String.String, String.String )"},{"name":"bottom","comment":" Accepts a list of border modifiers, and modify the bottom side of the border.\n","type":"Modifiers.Modifiers Elegant.Border.Border -> Modifiers.Modifier (Elegant.Surrounded.Surrounded Elegant.Border.Border)"},{"name":"color","comment":" Set the color of the border.\n","type":"Color.Color -> Modifiers.Modifier Elegant.Border.Border"},{"name":"dashed","comment":" Set the border as dashed.\n","type":"Modifiers.Modifier Elegant.Border.Border"},{"name":"default","comment":" Generate an empty `Border` record, with every field equal to Nothing.\nYou are free to use it as you wish, but it is instanciated automatically by `Elegant.border`.\n","type":"Elegant.Border.Border"},{"name":"full","comment":" Accepts a color modifier\n","type":"Color.Color -> Modifiers.Modifier (Elegant.Surrounded.Surrounded Elegant.Border.Border)"},{"name":"horizontal","comment":" Accepts a list of border modifiers, and modify both the top and the bottom side of the border.\n","type":"Modifiers.Modifiers Elegant.Border.Border -> Modifiers.Modifier (Elegant.Surrounded.Surrounded Elegant.Border.Border)"},{"name":"left","comment":" Accepts a list of border modifiers, and modify the left side of the border.\n","type":"Modifiers.Modifiers Elegant.Border.Border -> Modifiers.Modifier (Elegant.Surrounded.Surrounded Elegant.Border.Border)"},{"name":"none","comment":" Set the border to none.\n","type":"Modifiers.Modifier Elegant.Border.Border"},{"name":"right","comment":" Accepts a list of border modifiers, and modify the right side of the border.\n","type":"Modifiers.Modifiers Elegant.Border.Border -> Modifiers.Modifier (Elegant.Surrounded.Surrounded Elegant.Border.Border)"},{"name":"solid","comment":" Set the border as solid.\n","type":"Modifiers.Modifier Elegant.Border.Border"},{"name":"thickness","comment":" Set the thickness of the border.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Border.Border"},{"name":"top","comment":" Accepts a list of border modifiers, and modify the top side of the border.\n","type":"Modifiers.Modifiers Elegant.Border.Border -> Modifiers.Modifier (Elegant.Surrounded.Surrounded Elegant.Border.Border)"},{"name":"vertical","comment":" Accepts a list of border modifiers, and modify both the right and left side of the border.\n","type":"Modifiers.Modifiers Elegant.Border.Border -> Modifiers.Modifier (Elegant.Surrounded.Surrounded Elegant.Border.Border)"}],"binops":[]},{"name":"Elegant.Box","comment":" Handles all modifications for the box. You don't need to instanciate one,\nas it's automatically done by Elegant and the different display elements.\nIt contains only modifiers, and they can be found in the respective modules.\n\n\n# Types\n\n@docs Box\n@docs Visibility\n\n\n# Modifiers\n\n@docs appearanceNone\n@docs background\n@docs border\n@docs boxShadow\n@docs shadow\n@docs corner\n@docs cursor\n@docs margin\n@docs opacity\n@docs outline\n@docs padding\n@docs position\n@docs typography\n@docs visibility\n@docs transform\n@docs zIndex\n\n\n# Shortcuts\n\n@docs outlineNone\n@docs backgroundColor\n@docs cornerRound\n@docs cornerRadius\n@docs borderNone\n@docs borderColor\n@docs borderWidth\n@docs borderSolid\n@docs paddingAll\n@docs paddingHorizontal\n@docs paddingVertical\n@docs paddingTop\n@docs paddingRight\n@docs paddingBottom\n@docs paddingLeft\n@docs shadowCenteredBlurry\n@docs marginAuto\n@docs fontFamilySansSerif\n@docs systemFont\n@docs textColor\n@docs willChange\n@docs cursorPointer\n\n\n# Values\n\n@docs default\n@docs visible\n@docs hidden\n\n\n# Compilation\n\n@docs boxToCouples\n\n","unions":[{"name":"Visibility","comment":" Defines the visibility of an element. It can be either visible or hidden.\n","args":[],"cases":[]}],"aliases":[{"name":"Box","comment":" Represents a box, handling the properties of boxes. They are automatically\ninstanciated to avoid to deal with it directly. The focus is on the modifiers, available\nin respective modules.\n\n    Elegant.displayBlock []\n        [ Box.cursor Cursor.default\n\n        -- You can use any Box functions here to add custom style...\n        ]\n\n","args":[],"type":"{ appearance : Maybe.Maybe String.String, background : Maybe.Maybe Elegant.Background.Background, border : Maybe.Maybe (Elegant.Surrounded.Surrounded Elegant.Border.Border), boxShadow : Maybe.Maybe Elegant.Shadow.Shadow, corner : Maybe.Maybe Elegant.Corner.Corner, cursor : Maybe.Maybe Elegant.Cursor.Cursor, margin : Maybe.Maybe (Elegant.Surrounded.Surrounded Elegant.Margin.Margin), opacity : Maybe.Maybe Basics.Float, outline : Maybe.Maybe Elegant.Outline.Outline, padding : Maybe.Maybe (Elegant.Surrounded.Surrounded Elegant.Padding.Padding), position : Maybe.Maybe Elegant.Position.Position, typography : Maybe.Maybe Elegant.Typography.Typography, visibility : Maybe.Maybe Elegant.Box.Visibility, transform : Maybe.Maybe Elegant.Transform.Transform, zIndex : Maybe.Maybe Basics.Int, willChange : Maybe.Maybe (List.List Elegant.Box.WillChange) }"}],"values":[{"name":"appearanceNone","comment":" Accepts an Int for the `zIndex` and modifies the Box accordingly.\n","type":"Elegant.Box.Box -> Elegant.Box.Box"},{"name":"background","comment":" Accepts a list of modifiers for the `Background` and modifies the Box accordingly.\n","type":"Modifiers.Modifiers Elegant.Background.Background -> Modifiers.Modifier Elegant.Box.Box"},{"name":"backgroundColor","comment":" ","type":"Color.Color -> Modifiers.Modifier Elegant.Box.Box"},{"name":"border","comment":" Accepts a list of modifiers for the `Border` and modifies the Box accordingly.\n","type":"Modifiers.Modifiers (Elegant.Surrounded.Surrounded Elegant.Border.Border) -> Modifiers.Modifier Elegant.Box.Box"},{"name":"borderColor","comment":" ","type":"Color.Color -> Modifiers.Modifier Elegant.Box.Box"},{"name":"borderNone","comment":" ","type":"Modifiers.Modifier Elegant.Box.Box"},{"name":"borderSolid","comment":" ","type":"Modifiers.Modifier Elegant.Box.Box"},{"name":"borderWidth","comment":" ","type":"Basics.Int -> Modifiers.Modifier Elegant.Box.Box"},{"name":"boxShadow","comment":" Accepts a list of modifiers for the `Shadow` and modifies the Box accordingly.\n","type":"Modifiers.Modifiers Elegant.Shadow.Shadow -> Modifiers.Modifier Elegant.Box.Box"},{"name":"boxToCouples","comment":" Compiles a `Box` to the corresponding CSS list of tuples.\nCompiles only the defined styles, ignoring the `Nothing` fields.\n","type":"Elegant.Box.Box -> List.List ( String.String, String.String )"},{"name":"corner","comment":" Accepts a list of modifiers for the `Corner` and modifies the Box accordingly.\n","type":"Modifiers.Modifiers Elegant.Corner.Corner -> Modifiers.Modifier Elegant.Box.Box"},{"name":"cornerRadius","comment":" ","type":"Basics.Int -> Modifiers.Modifier Elegant.Box.Box"},{"name":"cornerRound","comment":" ","type":"Modifiers.Modifier Elegant.Box.Box"},{"name":"cursor","comment":" Accepts a `Cursor` and modifies the Box accordingly.\n","type":"Elegant.Cursor.Cursor -> Modifiers.Modifier Elegant.Box.Box"},{"name":"cursorPointer","comment":" Because we always need to set the cursor to pointer !\n","type":"Modifiers.Modifier Elegant.Box.Box"},{"name":"default","comment":" Generates a default empty Box.\n","type":"Elegant.Box.Box"},{"name":"fontFamilySansSerif","comment":" ","type":"Modifiers.Modifier Elegant.Box.Box"},{"name":"hidden","comment":" ","type":"Elegant.Box.Visibility"},{"name":"margin","comment":" Accepts a list of modifiers for the `Margin` and modifies the Box accordingly.\n","type":"Modifiers.Modifiers (Elegant.Surrounded.Surrounded Elegant.Margin.Margin) -> Modifiers.Modifier Elegant.Box.Box"},{"name":"marginAuto","comment":" ","type":"Modifiers.Modifier Elegant.Box.Box"},{"name":"opacity","comment":" Accepts a size for the `opacity` and modifies the Box accordingly.\n","type":"Basics.Float -> Modifiers.Modifier Elegant.Box.Box"},{"name":"outline","comment":" Accepts a list of modifiers for the `Outline` and modifies the Box accordingly.\n","type":"Modifiers.Modifiers Elegant.Outline.Outline -> Modifiers.Modifier Elegant.Box.Box"},{"name":"outlineNone","comment":" ","type":"Modifiers.Modifier Elegant.Box.Box"},{"name":"padding","comment":" Accepts a list of modifiers for the `Padding` and modifies the Box accordingly.\n","type":"Modifiers.Modifiers (Elegant.Surrounded.Surrounded Elegant.Padding.Padding) -> Modifiers.Modifier Elegant.Box.Box"},{"name":"paddingAll","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Box.Box"},{"name":"paddingBottom","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Box.Box"},{"name":"paddingHorizontal","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Box.Box"},{"name":"paddingLeft","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Box.Box"},{"name":"paddingRight","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Box.Box"},{"name":"paddingTop","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Box.Box"},{"name":"paddingVertical","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Box.Box"},{"name":"position","comment":" Accepts a `Position` and modifies the Box accordingly.\n","type":"Elegant.Position.Position -> Modifiers.Modifier Elegant.Box.Box"},{"name":"shadow","comment":" Alias of boxShadow\n","type":"Modifiers.Modifiers Elegant.Shadow.Shadow -> Modifiers.Modifier Elegant.Box.Box"},{"name":"shadowCenteredBlurry","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit -> Color.Color -> Modifiers.Modifier Elegant.Box.Box"},{"name":"systemFont","comment":" ","type":"String.String -> Modifiers.Modifier Elegant.Box.Box"},{"name":"textColor","comment":" ","type":"Color.Color -> Modifiers.Modifier Elegant.Box.Box"},{"name":"transform","comment":" Accepts a list of modifiers for the `transform` and modifies the Box accordingly.\n","type":"Modifiers.Modifiers Elegant.Transform.Transform -> Modifiers.Modifier Elegant.Box.Box"},{"name":"typography","comment":" Accepts a list of modifiers for the `Typography` and modifies the Box accordingly.\n","type":"Modifiers.Modifiers Elegant.Typography.Typography -> Modifiers.Modifier Elegant.Box.Box"},{"name":"visibility","comment":" Accepts a `Visibility` and modifies the Box accordingly.\n","type":"Elegant.Box.Visibility -> Modifiers.Modifier Elegant.Box.Box"},{"name":"visible","comment":" ","type":"Elegant.Box.Visibility"},{"name":"willChange","comment":" WillChange helps the browser to know which property will change.\nIt's very useful for the optimization of animations\n","type":"List.List Elegant.Box.WillChange -> Modifiers.Modifier Elegant.Box.Box"},{"name":"zIndex","comment":" Accepts an Int for the `zIndex` and modifies the Box accordingly.\n","type":"Basics.Int -> Modifiers.Modifier Elegant.Box.Box"}],"binops":[]},{"name":"Elegant.Constants","comment":"\n\n@docs huge\n@docs large\n@docs medium\n@docs small\n@docs tiny\n@docs zero\n@docs alpha\n@docs beta\n@docs gamma\n@docs delta\n@docs epsilon\n@docs zeta\n@docs eta\n@docs theta\n@docs iota\n@docs kappa\n\n","unions":[],"aliases":[],"values":[{"name":"alpha","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit"},{"name":"beta","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit"},{"name":"delta","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit"},{"name":"epsilon","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit"},{"name":"eta","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit"},{"name":"gamma","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit"},{"name":"huge","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit"},{"name":"iota","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit"},{"name":"kappa","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit"},{"name":"large","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit"},{"name":"medium","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit"},{"name":"small","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit"},{"name":"theta","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit"},{"name":"tiny","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit"},{"name":"zero","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit"},{"name":"zeta","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit"}],"binops":[]},{"name":"Elegant.Corner","comment":" Corner contains everything about corner radius (also called border radius in CSS).\n\n\n# Types\n\n@docs Corner\n@docs CornerSet\n\n\n# Default corner radius\n\n@docs default\n\n\n# Corner radius style\n\n@docs circular\n@docs elliptic\n\n\n# Corner radius selector\n\n@docs top\n@docs topRight\n@docs right\n@docs bottomRight\n@docs bottom\n@docs bottomLeft\n@docs left\n@docs topLeft\n@docs all\n\n\n# Compilation\n\n@docs cornerToCouples\n\n","unions":[{"name":"CornerSet","comment":" Represents the possible selected corner(s).\nIt can be Top, TopRight, Right, BottomRight, Bottom, BottomLeft, Left, TopLeft or All.\nThey are created by `top`, `topRight`, `right`, `bottomRight`, `bottom`, `bottomLeft`,\n`left`, `topLeft` or `all`.\n","args":[],"cases":[]}],"aliases":[{"name":"Corner","comment":" The `Corner` record contains everything about corner radius (also called border radius in CSS).\nYou probably won't use it as is, but instead using `Elegant.corner`\nwhich automatically generate an empty `Corner` record. You\ncan then use modifiers. I.E.\n\n    Elegant.corner\n        [ Corner.circular Corner.all (px 30) ]\n\n","args":[],"type":"{ topLeft : Maybe.Maybe ( Elegant.Helpers.Shared.SizeUnit, Elegant.Helpers.Shared.SizeUnit ), topRight : Maybe.Maybe ( Elegant.Helpers.Shared.SizeUnit, Elegant.Helpers.Shared.SizeUnit ), bottomRight : Maybe.Maybe ( Elegant.Helpers.Shared.SizeUnit, Elegant.Helpers.Shared.SizeUnit ), bottomLeft : Maybe.Maybe ( Elegant.Helpers.Shared.SizeUnit, Elegant.Helpers.Shared.SizeUnit ) }"}],"values":[{"name":"all","comment":" Select the four corners.\n","type":"Elegant.Corner.CornerSet"},{"name":"bottom","comment":" Select the two bottom corners.\n","type":"Elegant.Corner.CornerSet"},{"name":"bottomLeft","comment":" Select the bottom-left corner.\n","type":"Elegant.Corner.CornerSet"},{"name":"bottomRight","comment":" Select the bottom-right corner.\n","type":"Elegant.Corner.CornerSet"},{"name":"circular","comment":" Set the corner(s) to be round (the two angles are the same).\n","type":"Elegant.Corner.CornerSet -> Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Corner.Corner"},{"name":"cornerToCouples","comment":" Compiles a `Corner` record to the corresponding CSS tuples.\nCompiles only parts which are defined, ignoring `Nothing` fields.\n","type":"Elegant.Corner.Corner -> List.List ( String.String, String.String )"},{"name":"default","comment":" Generate an empty `Corner` record, with every field equal to Nothing.\nYou are free to use it as you wish, but it is instanciated automatically by `Elegant.corner`.\n","type":"Elegant.Corner.Corner"},{"name":"elliptic","comment":" Set the corner(s) to be elliptic, i.e. you can specify two different values\nfor the corner(s).\n","type":"Elegant.Corner.CornerSet -> Elegant.Helpers.Shared.SizeUnit -> Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Corner.Corner"},{"name":"left","comment":" Select the two left corners.\n","type":"Elegant.Corner.CornerSet"},{"name":"right","comment":" Select the two right corners.\n","type":"Elegant.Corner.CornerSet"},{"name":"top","comment":" Select the two top corners.\n","type":"Elegant.Corner.CornerSet"},{"name":"topLeft","comment":" Select the top-left corner.\n","type":"Elegant.Corner.CornerSet"},{"name":"topRight","comment":" Select the top-right corner.\n","type":"Elegant.Corner.CornerSet"}],"binops":[]},{"name":"Elegant.Cursor","comment":" Cursor contains everything about cursors rendering.\n\n\n# Types\n\n@docs Cursor\n\n\n# Cursor types\n\n@docs default\n@docs auto\n@docs cell\n@docs contextMenu\n@docs crosshair\n@docs grab\n@docs grabbing\n@docs help\n@docs move\n@docs noDrop\n@docs none\n@docs notAllowed\n@docs pointer\n@docs progress\n@docs text\n@docs verticalText\n@docs wait\n@docs zoomIn\n@docs zoomOut\n\n\n# Compilation\n\n@docs cursorToCouple\n\n","unions":[{"name":"Cursor","comment":" The `Cursor` record contains everything about cursor.\nYou probably won't use it as is, but instead using `Elegant.cursor`.\nYou can provide one cursor type. They can be found [here](https://developer.mozilla.org/en/docs/Web/CSS/cursor).\n\n    Elegant.cursor Cursor.default\n\n","args":[],"cases":[]}],"aliases":[],"values":[{"name":"auto","comment":" ","type":"Elegant.Cursor.Cursor"},{"name":"cell","comment":" ","type":"Elegant.Cursor.Cursor"},{"name":"contextMenu","comment":" ","type":"Elegant.Cursor.Cursor"},{"name":"crosshair","comment":" ","type":"Elegant.Cursor.Cursor"},{"name":"cursorToCouple","comment":" Compiles a `Cursor` to the corresponding CSS tuple.\n","type":"Elegant.Cursor.Cursor -> ( String.String, String.String )"},{"name":"default","comment":" ","type":"Elegant.Cursor.Cursor"},{"name":"grab","comment":" ","type":"Elegant.Cursor.Cursor"},{"name":"grabbing","comment":" ","type":"Elegant.Cursor.Cursor"},{"name":"help","comment":" ","type":"Elegant.Cursor.Cursor"},{"name":"move","comment":" ","type":"Elegant.Cursor.Cursor"},{"name":"noDrop","comment":" ","type":"Elegant.Cursor.Cursor"},{"name":"none","comment":" ","type":"Elegant.Cursor.Cursor"},{"name":"notAllowed","comment":" ","type":"Elegant.Cursor.Cursor"},{"name":"pointer","comment":" ","type":"Elegant.Cursor.Cursor"},{"name":"progress","comment":" ","type":"Elegant.Cursor.Cursor"},{"name":"text","comment":" ","type":"Elegant.Cursor.Cursor"},{"name":"verticalText","comment":" ","type":"Elegant.Cursor.Cursor"},{"name":"wait","comment":" ","type":"Elegant.Cursor.Cursor"},{"name":"zoomIn","comment":" ","type":"Elegant.Cursor.Cursor"},{"name":"zoomOut","comment":" ","type":"Elegant.Cursor.Cursor"}],"binops":[]},{"name":"Elegant.Dimensions","comment":"\n\n@docs width\n@docs height\n@docs square\n@docs minWidth\n@docs maxWidth\n@docs minHeight\n@docs maxHeight\n@docs Dimensions\n@docs defaultDimensions\n@docs dimensionsToCouples\n\n","unions":[],"aliases":[{"name":"Dimensions","comment":" The type behind the handling of (max-|min-|)width and (max-|min-|)height\n","args":[],"type":"( Elegant.Dimensions.DimensionAxis, Elegant.Dimensions.DimensionAxis )"}],"values":[{"name":"defaultDimensions","comment":" ","type":"( Elegant.Dimensions.DimensionAxis, Elegant.Dimensions.DimensionAxis )"},{"name":"dimensionsToCouples","comment":" ","type":"Elegant.Dimensions.Dimensions -> List.List ( String.String, String.String )"},{"name":"height","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit -> Elegant.Dimensions.Dimensions -> Elegant.Dimensions.Dimensions"},{"name":"maxHeight","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit -> Elegant.Dimensions.Dimensions -> Elegant.Dimensions.Dimensions"},{"name":"maxWidth","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit -> Elegant.Dimensions.Dimensions -> Elegant.Dimensions.Dimensions"},{"name":"minHeight","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit -> Elegant.Dimensions.Dimensions -> Elegant.Dimensions.Dimensions"},{"name":"minWidth","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit -> Elegant.Dimensions.Dimensions -> Elegant.Dimensions.Dimensions"},{"name":"square","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Dimensions.Dimensions"},{"name":"width","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit -> Elegant.Dimensions.Dimensions -> Elegant.Dimensions.Dimensions"}],"binops":[]},{"name":"Elegant.Display","comment":" Display contains everything about an element rendering. It is the basis of\nevery style, for every element. Each element can be block, inline, flow or flex.\n\n\n# Types\n\n@docs DisplayBox\n@docs Contents\n@docs OutsideDisplay\n@docs InsideDisplay\n@docs BlockDetails\n@docs ListStyleType\n@docs Alignment\n@docs TextOverflow\n@docs defaultBlockDetails\n\n\n# Modifiers\n\n\n## List\n\n@docs listStyleNone\n@docs listStyleDisc\n@docs listStyleCircle\n@docs listStyleSquare\n@docs listStyleDecimal\n@docs listStyleGeorgian\n\n\n## Alignment\n\n@docs alignment\n@docs right\n@docs center\n@docs left\n@docs justify\n\n\n## Overflow\n\n@docs overflow\n@docs textOverflowEllipsis\n\n## Dimensions\n@docs dimensions\n@docs fullWidth\n\n\n# Compilation\n\n@docs displayBoxToCouples\n\n","unions":[{"name":"Alignment","comment":" Represents the alignment inside a block. Can be center, right, left or justify.\n","args":[],"cases":[]},{"name":"DisplayBox","comment":" Represents a box and contains all the style inside.\nIf the display is none, no style is included. Otherwise, the display\ntype requires the corresponding styles. I.e. if using a flex container,\nthen only styles applying to flex container can be used. If using a block\ncontainer, only styles applying to block can be used, and so on.\n\nYou don't use it directly, but rather generating one with the corresponding\nfunctions, then giving it to a function which needs one. If you want to bypass\nit, you can use `Display.displayBoxToCouples`, which generates the equivalent\nCSS.\n\n","args":[],"cases":[["None",[]],["ContentsWrapper",["Elegant.Display.Contents"]]]},{"name":"InsideDisplay","comment":" Represents the style from inside a display.\nCan be flow, or flex (and containing flex details).\n","args":[],"cases":[["Flow",[]],["FlexContainer",["Maybe.Maybe Elegant.Flex.FlexContainerDetails"]],["GridContainer",["Maybe.Maybe Elegant.Grid.GridContainerDetails"]]]},{"name":"ListStyleType","comment":" Represents the type of the list style.\nCan be none, disc, circle, square, decimal or georgian.\n","args":[],"cases":[]},{"name":"OutsideDisplay","comment":" Represents the style from outside the display.\nCan be inline, block, or flex-item.\n","args":[],"cases":[["Inline",[]],["Block",["Maybe.Maybe Elegant.Display.BlockDetails"]],["FlexItem",["Maybe.Maybe Elegant.Flex.FlexItemDetails","Maybe.Maybe Elegant.Display.BlockDetails"]],["GridItem",["Maybe.Maybe Elegant.Grid.GridItemDetails","Maybe.Maybe Elegant.Display.BlockDetails"]]]},{"name":"TextOverflow","comment":" Represents the text-overflow.\nCan be ellipsis.\n","args":[],"cases":[]}],"aliases":[{"name":"BlockDetails","comment":" Contains all styles which can be applied to a block.\nIt is automatically instanciated by `Display.block`.\n","args":[],"type":"{ listStyleType : Maybe.Maybe Elegant.Display.ListStyleType, alignment : Maybe.Maybe Elegant.Display.Alignment, overflow : Maybe.Maybe Elegant.Overflow.FullOverflow, textOverflow : Maybe.Maybe Elegant.Display.TextOverflow, dimensions : Maybe.Maybe Elegant.Dimensions.Dimensions }"},{"name":"Contents","comment":" ","args":[],"type":"{ outsideDisplay : Elegant.Display.OutsideDisplay, insideDisplay : Elegant.Display.InsideDisplay, maybeBox : Maybe.Maybe Elegant.Box.Box }"}],"values":[{"name":"alignment","comment":" Accepts the alignment and modifies the block accordingly.\n","type":"Elegant.Display.Alignment -> Modifiers.Modifier Elegant.Display.BlockDetails"},{"name":"center","comment":" Defines the alignment as center.\n","type":"Elegant.Display.Alignment"},{"name":"defaultBlockDetails","comment":" ","type":"Elegant.Display.BlockDetails"},{"name":"dimensions","comment":" Accepts dimensions modifiers and modifies the block accordingly.\n","type":"Modifiers.Modifiers Elegant.Dimensions.Dimensions -> Modifiers.Modifier Elegant.Display.BlockDetails"},{"name":"displayBoxToCouples","comment":" Compiles a DisplayBox to the corresponding CSS list of tuples.\nHandles only defined styles, ignoring `Nothing` fields.\n","type":"Elegant.Display.DisplayBox -> List.List ( String.String, String.String )"},{"name":"fullWidth","comment":" ","type":"Modifiers.Modifier Elegant.Display.BlockDetails"},{"name":"justify","comment":" Defines the alignment as justify.\n","type":"Elegant.Display.Alignment"},{"name":"left","comment":" Defines the alignment as left.\n","type":"Elegant.Display.Alignment"},{"name":"listStyleCircle","comment":" Set the list style to circle.\n","type":"Modifiers.Modifier Elegant.Display.BlockDetails"},{"name":"listStyleDecimal","comment":" Set the list style to decimal.\n","type":"Modifiers.Modifier Elegant.Display.BlockDetails"},{"name":"listStyleDisc","comment":" Set the list style to disc.\n","type":"Modifiers.Modifier Elegant.Display.BlockDetails"},{"name":"listStyleGeorgian","comment":" Set the list style to georgian.\n","type":"Modifiers.Modifier Elegant.Display.BlockDetails"},{"name":"listStyleNone","comment":" Set the list style to none.\n","type":"Modifiers.Modifier Elegant.Display.BlockDetails"},{"name":"listStyleSquare","comment":" Set the list style to square.\n","type":"Modifiers.Modifier Elegant.Display.BlockDetails"},{"name":"overflow","comment":" Accepts a list of Overflow modifiers and modifies the block accordingly.\n","type":"Modifiers.Modifiers Elegant.Overflow.FullOverflow -> Modifiers.Modifier Elegant.Display.BlockDetails"},{"name":"right","comment":" Defines the alignment as right.\n","type":"Elegant.Display.Alignment"},{"name":"textOverflowEllipsis","comment":" Modifies the block to give an text-overflow ellipsis.\n","type":"Modifiers.Modifier Elegant.Display.BlockDetails"}],"binops":[]},{"name":"Elegant.Extra","comment":"\n\n@docs alignCenter\n@docs alignItemsCenter\n@docs backgroundColor\n@docs block\n@docs blockProperties\n@docs blockWithWidth\n@docs bold\n@docs boldVal\n@docs border\n@docs borderBottomBlack\n@docs borderTopBlack\n@docs box\n@docs cursorPointer\n@docs displayBlock\n@docs flexContainerProperties\n@docs fontSize\n@docs goodTypo\n@docs goodTypoStyle\n@docs gray\n@docs grow\n@docs italic\n@docs margin\n@docs marginAuto\n@docs noMargin\n@docs padding\n@docs paddingAll\n@docs paddingBottom\n@docs paddingBottomLarge\n@docs paddingHorizontal\n@docs paddingTop\n@docs paddingVertical\n@docs regular\n@docs spaceBetween\n@docs standardCellStyle\n@docs textCenter\n@docs thinTypo\n@docs typoSize\n@docs typography\n@docs underline\n@docs flexItemProperties\n\n","unions":[],"aliases":[],"values":[{"name":"alignCenter","comment":" ","type":"Modifiers.Modifier (BodyBuilder.Attributes.MaybeBlockContainer a)"},{"name":"alignItemsCenter","comment":" ","type":"Modifiers.Modifier (BodyBuilder.Attributes.FlexContainerAttributes msg)"},{"name":"backgroundColor","comment":" returns a background with a color\n","type":"Color.Color -> Modifiers.Modifier Elegant.Box.Box"},{"name":"block","comment":" ","type":"Modifiers.Modifiers Elegant.Display.BlockDetails -> Modifiers.Modifier (BodyBuilder.Attributes.MaybeBlockContainer a)"},{"name":"blockProperties","comment":" ","type":"Modifiers.Modifiers Elegant.Display.BlockDetails -> Modifiers.Modifier (BodyBuilder.Attributes.BlockContainer a)"},{"name":"blockWithWidth","comment":" ","type":"Elegant.SizeUnit -> Modifiers.Modifier (BodyBuilder.Attributes.MaybeBlockContainer a)"},{"name":"bold","comment":" ","type":"Elegant.Extra.BoxContainerModifier a"},{"name":"boldVal","comment":" ","type":"Basics.Int"},{"name":"border","comment":" ","type":"Modifiers.Modifiers (Elegant.Surrounded.Surrounded Elegant.Border.Border) -> Elegant.Extra.BoxContainerModifier a"},{"name":"borderBottomBlack","comment":" ","type":"Elegant.Extra.BoxContainerModifier a"},{"name":"borderTopBlack","comment":" ","type":"Elegant.Extra.BoxContainerModifier a"},{"name":"box","comment":" ","type":"Modifiers.Modifiers Elegant.Box.Box -> Elegant.Extra.BoxContainerModifier a"},{"name":"cursorPointer","comment":" ","type":"Elegant.Extra.BoxContainerModifier a"},{"name":"displayBlock","comment":" ","type":"Modifiers.Modifier (BodyBuilder.Attributes.MaybeBlockContainer a)"},{"name":"flexContainerProperties","comment":" ","type":"Modifiers.Modifiers Elegant.Flex.FlexContainerDetails -> Modifiers.Modifier (BodyBuilder.Attributes.FlexContainerAttributes msg)"},{"name":"flexItemProperties","comment":" ","type":"Modifiers.Modifiers Elegant.Flex.FlexItemDetails -> Modifiers.Modifier (BodyBuilder.Attributes.FlexItemAttributes msg)"},{"name":"fontSize","comment":" ","type":"Elegant.SizeUnit -> Elegant.Extra.BoxContainerModifier a"},{"name":"goodTypo","comment":" ","type":"Modifiers.Modifier Elegant.Box.Box"},{"name":"goodTypoStyle","comment":" ","type":"Elegant.Extra.BoxContainerModifier a"},{"name":"gray","comment":" ","type":"Color.Color"},{"name":"grow","comment":" ","type":"Modifiers.Modifier (BodyBuilder.Attributes.FlexItemAttributes a)"},{"name":"italic","comment":" ","type":"Elegant.Extra.BoxContainerModifier a"},{"name":"margin","comment":" ","type":"Modifiers.Modifiers (Elegant.Surrounded.Surrounded Elegant.Margin.Margin) -> Elegant.Extra.BoxContainerModifier a"},{"name":"marginAuto","comment":" ","type":"Elegant.Extra.BoxContainerModifier a"},{"name":"noMargin","comment":" ","type":"Elegant.Extra.BoxContainerModifier a"},{"name":"padding","comment":" ","type":"Modifiers.Modifiers (Elegant.Surrounded.Surrounded Elegant.Padding.Padding) -> Elegant.Extra.BoxContainerModifier a"},{"name":"paddingAll","comment":" ","type":"Elegant.SizeUnit -> Elegant.Extra.BoxContainerModifier a"},{"name":"paddingBottom","comment":" ","type":"Elegant.SizeUnit -> Elegant.Extra.BoxContainerModifier a"},{"name":"paddingBottomLarge","comment":" ","type":"Elegant.Extra.BoxContainerModifier a"},{"name":"paddingHorizontal","comment":" ","type":"Elegant.SizeUnit -> Elegant.Extra.BoxContainerModifier a"},{"name":"paddingTop","comment":" ","type":"Elegant.SizeUnit -> Elegant.Extra.BoxContainerModifier a"},{"name":"paddingVertical","comment":" ","type":"Elegant.SizeUnit -> Elegant.Extra.BoxContainerModifier a"},{"name":"regular","comment":" ","type":"Basics.Int"},{"name":"spaceBetween","comment":" ","type":"Modifiers.Modifier (BodyBuilder.Attributes.FlexContainerAttributes a)"},{"name":"standardCellStyle","comment":" ","type":"Modifiers.Modifier (BodyBuilder.Attributes.BoxContainer (BodyBuilder.Attributes.MaybeBlockContainer a))"},{"name":"textCenter","comment":" ","type":"Modifiers.Modifier (BodyBuilder.Attributes.BlockContainer a)"},{"name":"thinTypo","comment":" ","type":"Elegant.Extra.BoxContainerModifier a"},{"name":"typoSize","comment":" ","type":"Basics.Int -> Modifiers.Modifier Elegant.Box.Box"},{"name":"typography","comment":" ","type":"Modifiers.Modifiers Elegant.Typography.Typography -> Elegant.Extra.BoxContainerModifier a"},{"name":"underline","comment":" ","type":"Elegant.Extra.BoxContainerModifier a"}],"binops":[]},{"name":"Elegant.Flex","comment":" Flex handles everything related to the flex element.\n\n@docs FlexContainerDetails\n@docs FlexItemDetails\n@docs FlexDirection\n@docs FlexWrap\n@docs Align\n@docs JustifyContent\n\n\n## FlexDirection\n\n@docs direction\n@docs column\n@docs row\n\n\n## FlexWrap\n\n@docs wrap\n@docs noWrap\n\n\n## AlignItems / AlignSelf\n\n@docs align\n@docs alignXY\n@docs baseline\n@docs alignCenter\n@docs flexStart\n@docs flexEnd\n@docs inherit\n@docs initial\n@docs stretch\n\n\n## JustifyContent\n\n@docs justifyContent\n@docs spaceBetween\n@docs spaceAround\n@docs justifyContentCenter\n@docs justifyContentFlexStart\n@docs justifyContentFlexEnd\n\n\n## Positionning\n\n@docs topLeft\n@docs topCenter\n@docs topRight\n@docs centerLeft\n@docs center\n@docs centerRight\n@docs bottomLeft\n@docs bottomCenter\n@docs bottomRight\n\n\n## Flex\n\n@docs grow\n@docs shrink\n@docs basisAuto\n@docs basis\n@docs alignSelf\n\n@docs defaultFlexContainerDetails\n@docs defaultFlexItemDetails\n@docs flexContainerDetailsToCouples\n@docs flexItemDetailsToCouples\n\n","unions":[{"name":"Align","comment":" Represents the alignment in flex.\nCan be baseline, center, flex-start, flex-end, inherit, initial or stretch.\n","args":[],"cases":[]},{"name":"FlexDirection","comment":" Represents a flex direction.\nCan be column or row.\n","args":[],"cases":[]},{"name":"FlexWrap","comment":" Represents a flex wrap.\nCan be wrap or no-wrap.\n","args":[],"cases":[]},{"name":"JustifyContent","comment":" Represents the value of justify-content.\nCan be space-between, space-around or center.\n","args":[],"cases":[]}],"aliases":[{"name":"FlexContainerDetails","comment":" Contains all style which can be applied on a flex container.\nThis contains flex-direction, flex-wrap, align-items and justify-content.\n","args":[],"type":"{ direction : Maybe.Maybe Elegant.Flex.FlexDirection, wrap : Maybe.Maybe Elegant.Flex.FlexWrap, align : Maybe.Maybe Elegant.Flex.Align, justifyContent : Maybe.Maybe Elegant.Flex.JustifyContent }"},{"name":"FlexItemDetails","comment":" Contains all style which can be used on a flex item.\nThis contains flex-grow, flex-shrink, flex-basis and align-self.\n","args":[],"type":"{ grow : Maybe.Maybe Basics.Int, shrink : Maybe.Maybe Basics.Int, basis : Maybe.Maybe (Either.Either Elegant.Helpers.Shared.SizeUnit Elegant.Helpers.Shared.Auto), alignSelf : Maybe.Maybe Elegant.Flex.Align }"}],"values":[{"name":"align","comment":" Accepts an Align, and modifies the flex container accordingly.\n","type":"Elegant.Flex.Align -> Modifiers.Modifier Elegant.Flex.FlexContainerDetails"},{"name":"alignCenter","comment":" Generates a center alignment.\n","type":"Elegant.Flex.Align"},{"name":"alignSelf","comment":" Accepts an align and modifies the flex item accordingly.\n","type":"Elegant.Flex.Align -> Modifiers.Modifier Elegant.Flex.FlexItemDetails"},{"name":"alignXY","comment":" ","type":"( Elegant.Flex.Align, Elegant.Flex.JustifyContent ) -> Elegant.Flex.FlexContainerDetails -> Elegant.Flex.FlexContainerDetails"},{"name":"baseline","comment":" Generates a baseline alignment.\n","type":"Elegant.Flex.Align"},{"name":"basis","comment":" Accepts a size and sets the flex-basis accordingly.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Flex.FlexItemDetails"},{"name":"basisAuto","comment":" Sets the flex-basis as auto.\n","type":"Modifiers.Modifier Elegant.Flex.FlexItemDetails"},{"name":"bottomCenter","comment":" ","type":"Elegant.Flex.FlexContainerDetails -> Elegant.Flex.FlexContainerDetails"},{"name":"bottomLeft","comment":" ","type":"Elegant.Flex.FlexContainerDetails -> Elegant.Flex.FlexContainerDetails"},{"name":"bottomRight","comment":" ","type":"Elegant.Flex.FlexContainerDetails -> Elegant.Flex.FlexContainerDetails"},{"name":"center","comment":" ","type":"Elegant.Flex.FlexContainerDetails -> Elegant.Flex.FlexContainerDetails"},{"name":"centerLeft","comment":" ","type":"Elegant.Flex.FlexContainerDetails -> Elegant.Flex.FlexContainerDetails"},{"name":"centerRight","comment":" ","type":"Elegant.Flex.FlexContainerDetails -> Elegant.Flex.FlexContainerDetails"},{"name":"column","comment":" Defines the flex direction column.\n","type":"Elegant.Flex.FlexDirection"},{"name":"defaultFlexContainerDetails","comment":" ","type":"Elegant.Flex.FlexContainerDetails"},{"name":"defaultFlexItemDetails","comment":" ","type":"Elegant.Flex.FlexItemDetails"},{"name":"direction","comment":" Accepts a flex-direction and modifies the flex container accordingly.\n","type":"Elegant.Flex.FlexDirection -> Modifiers.Modifier Elegant.Flex.FlexContainerDetails"},{"name":"flexContainerDetailsToCouples","comment":" ","type":"Elegant.Flex.FlexContainerDetails -> List.List ( String.String, String.String )"},{"name":"flexEnd","comment":" Generates a flex-end alignment.\n","type":"Elegant.Flex.Align"},{"name":"flexItemDetailsToCouples","comment":" ","type":"Elegant.Flex.FlexItemDetails -> List.List ( String.String, String.String )"},{"name":"flexStart","comment":" Generates a flex-start alignment.\n","type":"Elegant.Flex.Align"},{"name":"grow","comment":" Accepts an int and sets the flex-grow accordingly.\n","type":"Basics.Int -> Modifiers.Modifier Elegant.Flex.FlexItemDetails"},{"name":"inherit","comment":" Generates a inherit alignment.\n","type":"Elegant.Flex.Align"},{"name":"initial","comment":" Generates a initial alignment.\n","type":"Elegant.Flex.Align"},{"name":"justifyContent","comment":" Accepts a justify-content and modifies the flex container accordingly.\n","type":"Elegant.Flex.JustifyContent -> Modifiers.Modifier Elegant.Flex.FlexContainerDetails"},{"name":"justifyContentCenter","comment":" Defines the justify-content center.\n","type":"Elegant.Flex.JustifyContent"},{"name":"justifyContentFlexEnd","comment":" Defines the justify-content flex-end.\n","type":"Elegant.Flex.JustifyContent"},{"name":"justifyContentFlexStart","comment":" Defines the justify-content flex-start.\n","type":"Elegant.Flex.JustifyContent"},{"name":"noWrap","comment":" Modifies the flex-wrap to no-wrap.\n","type":"Modifiers.Modifier Elegant.Flex.FlexContainerDetails"},{"name":"row","comment":" Defines the flex direction row.\n","type":"Elegant.Flex.FlexDirection"},{"name":"shrink","comment":" Accepts an int and sets the flex-shrink accordingly.\n","type":"Basics.Int -> Modifiers.Modifier Elegant.Flex.FlexItemDetails"},{"name":"spaceAround","comment":" Defines the justify-content space-around.\n","type":"Elegant.Flex.JustifyContent"},{"name":"spaceBetween","comment":" Defines the justify-content space-between.\n","type":"Elegant.Flex.JustifyContent"},{"name":"stretch","comment":" Generates a stretch alignment.\n","type":"Elegant.Flex.Align"},{"name":"topCenter","comment":" ","type":"Elegant.Flex.FlexContainerDetails -> Elegant.Flex.FlexContainerDetails"},{"name":"topLeft","comment":" ","type":"Elegant.Flex.FlexContainerDetails -> Elegant.Flex.FlexContainerDetails"},{"name":"topRight","comment":" ","type":"Elegant.Flex.FlexContainerDetails -> Elegant.Flex.FlexContainerDetails"},{"name":"wrap","comment":" Modifies the flex-wrap to wrap.\n","type":"Modifiers.Modifier Elegant.Flex.FlexContainerDetails"}],"binops":[]},{"name":"Elegant.Flex.Extra","comment":"\n\n@docs alignedContent\n\n","unions":[],"aliases":[],"values":[{"name":"alignedContent","comment":" alignedContent is a way to align content inside a container.\n","type":"( Elegant.Flex.Align, Elegant.Flex.JustifyContent ) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.NodeWithStyle msg"}],"binops":[]},{"name":"Elegant.Grid","comment":"\n\n@docs align\n@docs alignItems\n@docs alignItemsToCouple\n@docs alignSelfToCouple\n@docs alignToCouple\n@docs alignToString\n@docs alignWrapper\n@docs auto\n@docs autofill\n@docs autofit\n@docs center\n@docs columns\n@docs end\n@docs fitContent\n@docs fractionOfAvailableSpace\n@docs gap\n@docs gridContainerCoordinateToCouples\n@docs gridContainerDetailsToCouples\n@docs gridItemCoordinateToCouples\n@docs gridItemDetailsToCouples\n@docs gutterToCouple\n@docs horizontal\n@docs maxContent\n@docs minContent\n@docs minmax\n@docs placement\n@docs placementToCouple\n@docs placementToString\n@docs size\n@docs sizeToCouple\n@docs sizeToString\n@docs repeat\n@docs repeatOptionToString\n@docs repeatableToString\n@docs rows\n@docs simple\n@docs sizeUnitVal\n@docs spaceAround\n@docs spaceBetween\n@docs spaceEvenly\n@docs spacingToString\n@docs span\n@docs start\n@docs stretch\n@docs template\n@docs templateToCouple\n@docs untilEndOfCoordinate\n@docs valTypeToString\n@docs vertical\n@docs viewWidth\n@docs GridItemDetails\n@docs GridItemCoordinate\n@docs GridContainerDetails\n@docs GridContainerCoordinate\n@docs GridItemSize\n@docs GridTemplate\n@docs Repeatable\n@docs ValType\n\n","unions":[{"name":"GridItemSize","comment":" ","args":[],"cases":[["UntilEndOfCoordinate",[]],["Span",["Basics.Int"]]]},{"name":"Repeatable","comment":" ","args":[],"cases":[["Simple",["Elegant.Grid.ValType"]],["Minmax",["Elegant.Grid.ValType","Elegant.Grid.ValType"]],["FitContent",["Elegant.Grid.ValType"]],["Repeat",["Elegant.Grid.RepeatOption","List.List Elegant.Helpers.Shared.SizeUnit"]]]},{"name":"ValType","comment":" ","args":[],"cases":[["SizeUnitVal",["Elegant.Helpers.Shared.SizeUnit"]],["Fr",["Basics.Int"]],["Vw",["Basics.Int"]],["MinContent",[]],["MaxContent",[]],["Auto",[]]]}],"aliases":[{"name":"GridContainerCoordinate","comment":" ","args":[],"type":"{ gutter : Maybe.Maybe Elegant.Helpers.Shared.SizeUnit, align : Maybe.Maybe Elegant.Grid.Align, alignItems : Maybe.Maybe Elegant.Grid.AlignItems, template : Maybe.Maybe Elegant.Grid.GridTemplate }"},{"name":"GridContainerDetails","comment":" ","args":[],"type":"{ x : Maybe.Maybe Elegant.Grid.GridContainerCoordinate, y : Maybe.Maybe Elegant.Grid.GridContainerCoordinate }"},{"name":"GridItemCoordinate","comment":" ","args":[],"type":"{ placement : Maybe.Maybe Basics.Int, size : Maybe.Maybe Elegant.Grid.GridItemSize, align : Maybe.Maybe Elegant.Grid.Align }"},{"name":"GridItemDetails","comment":" ","args":[],"type":"{ x : Maybe.Maybe Elegant.Grid.GridItemCoordinate, y : Maybe.Maybe Elegant.Grid.GridItemCoordinate }"},{"name":"GridTemplate","comment":" ","args":[],"type":"List.List Elegant.Grid.Repeatable"}],"values":[{"name":"align","comment":" ","type":"Elegant.Grid.Align -> { a | align : Maybe.Maybe Elegant.Grid.Align } -> { a | align : Maybe.Maybe Elegant.Grid.Align }"},{"name":"alignItems","comment":" ","type":"Elegant.Grid.AlignItems -> Elegant.Grid.GridContainerCoordinate -> Elegant.Grid.GridContainerCoordinate"},{"name":"alignItemsToCouple","comment":" ","type":"String.String -> Elegant.Grid.AlignItems -> ( String.String, String.String )"},{"name":"alignSelfToCouple","comment":" ","type":"String.String -> Elegant.Grid.Align -> ( String.String, String.String )"},{"name":"alignToCouple","comment":" ","type":"String.String -> Elegant.Grid.Align -> ( String.String, String.String )"},{"name":"alignToString","comment":" ","type":"Elegant.Grid.Align -> String.String"},{"name":"alignWrapper","comment":" ","type":"Elegant.Grid.Align -> Elegant.Grid.AlignItems"},{"name":"auto","comment":" ","type":"Elegant.Grid.ValType"},{"name":"autofill","comment":" ","type":"Elegant.Grid.RepeatOption"},{"name":"autofit","comment":" ","type":"Elegant.Grid.RepeatOption"},{"name":"center","comment":" ","type":"Elegant.Grid.Align"},{"name":"columns","comment":" ","type":"Modifiers.Modifiers Elegant.Grid.GridContainerCoordinate -> Elegant.Grid.GridContainerDetails -> Elegant.Grid.GridContainerDetails"},{"name":"end","comment":" ","type":"Elegant.Grid.Align"},{"name":"fitContent","comment":" ","type":"Elegant.Grid.ValType -> Elegant.Grid.Repeatable"},{"name":"fractionOfAvailableSpace","comment":" ","type":"Basics.Int -> Elegant.Grid.ValType"},{"name":"gap","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit -> Elegant.Grid.GridContainerCoordinate -> Elegant.Grid.GridContainerCoordinate"},{"name":"gridContainerCoordinateToCouples","comment":" ","type":"String.String -> String.String -> Elegant.Grid.GridContainerCoordinate -> List.List ( String.String, String.String )"},{"name":"gridContainerDetailsToCouples","comment":" ","type":"Elegant.Grid.GridContainerDetails -> List.List ( String.String, String.String )"},{"name":"gridItemCoordinateToCouples","comment":" ","type":"String.String -> String.String -> Elegant.Grid.GridItemCoordinate -> List.List ( String.String, String.String )"},{"name":"gridItemDetailsToCouples","comment":" ","type":"Elegant.Grid.GridItemDetails -> List.List ( String.String, String.String )"},{"name":"gutterToCouple","comment":" ","type":"String.String -> Elegant.Helpers.Shared.SizeUnit -> ( String.String, String.String )"},{"name":"horizontal","comment":" ","type":"Modifiers.Modifiers Elegant.Grid.GridItemCoordinate -> Elegant.Grid.GridItemDetails -> Elegant.Grid.GridItemDetails"},{"name":"maxContent","comment":" ","type":"Elegant.Grid.ValType"},{"name":"minContent","comment":" ","type":"Elegant.Grid.ValType"},{"name":"minmax","comment":" ","type":"Elegant.Grid.ValType -> Elegant.Grid.ValType -> Elegant.Grid.Repeatable"},{"name":"placement","comment":" ","type":"Basics.Int -> Elegant.Grid.GridItemCoordinate -> Elegant.Grid.GridItemCoordinate"},{"name":"placementToCouple","comment":" ","type":"String.String -> Basics.Int -> ( String.String, String.String )"},{"name":"placementToString","comment":" ","type":"Basics.Int -> String.String"},{"name":"repeat","comment":" ","type":"Elegant.Grid.RepeatOption -> List.List Elegant.Helpers.Shared.SizeUnit -> Elegant.Grid.Repeatable"},{"name":"repeatOptionToString","comment":" ","type":"Elegant.Grid.RepeatOption -> String.String"},{"name":"repeatableToString","comment":" ","type":"Elegant.Grid.Repeatable -> String.String"},{"name":"rows","comment":" ","type":"Modifiers.Modifiers Elegant.Grid.GridContainerCoordinate -> Elegant.Grid.GridContainerDetails -> Elegant.Grid.GridContainerDetails"},{"name":"simple","comment":" ","type":"Elegant.Grid.ValType -> Elegant.Grid.Repeatable"},{"name":"size","comment":" ","type":"Elegant.Grid.GridItemSize -> Elegant.Grid.GridItemCoordinate -> Elegant.Grid.GridItemCoordinate"},{"name":"sizeToCouple","comment":" ","type":"String.String -> Elegant.Grid.GridItemSize -> ( String.String, String.String )"},{"name":"sizeToString","comment":" ","type":"Elegant.Grid.GridItemSize -> String.String"},{"name":"sizeUnitVal","comment":" ","type":"Elegant.Helpers.Shared.SizeUnit -> Elegant.Grid.ValType"},{"name":"spaceAround","comment":" ","type":"Elegant.Grid.AlignItems"},{"name":"spaceBetween","comment":" ","type":"Elegant.Grid.AlignItems"},{"name":"spaceEvenly","comment":" ","type":"Elegant.Grid.AlignItems"},{"name":"spacingToString","comment":" ","type":"Elegant.Grid.Spacing -> String.String"},{"name":"span","comment":" ","type":"Basics.Int -> Elegant.Grid.GridItemSize"},{"name":"start","comment":" ","type":"Elegant.Grid.Align"},{"name":"stretch","comment":" ","type":"Elegant.Grid.Align"},{"name":"template","comment":" ","type":"List.List Elegant.Grid.Repeatable -> Elegant.Grid.GridContainerCoordinate -> Elegant.Grid.GridContainerCoordinate"},{"name":"templateToCouple","comment":" ","type":"String.String -> Elegant.Grid.GridTemplate -> ( String.String, String.String )"},{"name":"untilEndOfCoordinate","comment":" ","type":"Elegant.Grid.GridItemSize"},{"name":"valTypeToString","comment":" ","type":"Elegant.Grid.ValType -> String.String"},{"name":"vertical","comment":" ","type":"Modifiers.Modifiers Elegant.Grid.GridItemCoordinate -> Elegant.Grid.GridItemDetails -> Elegant.Grid.GridItemDetails"},{"name":"viewWidth","comment":" ","type":"Basics.Int -> Elegant.Grid.ValType"}],"binops":[]},{"name":"Elegant.Grid.Extra","comment":"\n\n@docs alignedCell\n@docs cell\n\n","unions":[],"aliases":[],"values":[{"name":"alignedCell","comment":" a cell inside a grid with alignement of it's content\n","type":"List.List (BodyBuilder.Attributes.StyleModifier (BodyBuilder.Attributes.GridItemAttributes msg)) -> ( Basics.Int, Basics.Int ) -> ( Basics.Int, Basics.Int ) -> ( Elegant.Flex.Align, Elegant.Flex.JustifyContent ) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.GridItem msg"},{"name":"cell","comment":" a cell inside a grid with beginning coordinates and size\n","type":"List.List (BodyBuilder.Attributes.StyleModifier (BodyBuilder.Attributes.GridItemAttributes msg)) -> ( Basics.Int, Basics.Int ) -> ( Basics.Int, Basics.Int ) -> List.List (BodyBuilder.NodeWithStyle msg) -> BodyBuilder.GridItem msg"}],"binops":[]},{"name":"Elegant.Margin","comment":" Margin contains everything about margins rendering.\n\n\n# Types\n\n@docs Margin\n\n\n# Default margin\n\n@docs default\n\n\n# Margin setters\n\n@docs auto\n@docs width\n\n\n# Margin selectors\n\n@docs top\n@docs right\n@docs bottom\n@docs left\n@docs horizontal\n@docs vertical\n@docs all\n\n\n# Compilation\n\n@docs marginToCouples\n\n","unions":[],"aliases":[{"name":"Margin","comment":" The `Margin` record contains everything about one margin side.\nYou probably won't use it as is, but instead using `Elegant.margin`\nwhich automatically generate an empty `Margin` record. You\ncan then use modifiers. I.E.\n\n    Elegant.margin\n        [ Margin.top <| Margin.width (px 30)\n        , Margin.vertical Margin.auto\n        ]\n\n","args":[],"type":"Either.Either Elegant.Helpers.Shared.SizeUnit Elegant.Helpers.Shared.Auto"}],"values":[{"name":"all","comment":" Accepts a margin modifier, and modify the four sides of the margin.\n","type":"Modifiers.Modifier Elegant.Margin.Margin -> Modifiers.Modifier (Elegant.Surrounded.Surrounded Elegant.Margin.Margin)"},{"name":"auto","comment":" Set the margin value to auto.\n","type":"Elegant.Margin.Margin -> Elegant.Margin.Margin"},{"name":"bottom","comment":" Accepts a margin modifier, and modify the bottom side of the margin.\n","type":"Modifiers.Modifier Elegant.Margin.Margin -> Modifiers.Modifier (Elegant.Surrounded.Surrounded Elegant.Margin.Margin)"},{"name":"default","comment":" Generate an empty `Margin` record, equal to auto.\nYou are free to use it as you wish, but it is instanciated automatically by `Elegant.margin`.\n","type":"Elegant.Margin.Margin"},{"name":"horizontal","comment":" Accepts a margin modifier, and modify both the top and the bottom side of the margin.\n","type":"Modifiers.Modifier Elegant.Margin.Margin -> Modifiers.Modifier (Elegant.Surrounded.Surrounded Elegant.Margin.Margin)"},{"name":"left","comment":" Accepts a margin modifier, and modify the left side of the margin.\n","type":"Modifiers.Modifier Elegant.Margin.Margin -> Modifiers.Modifier (Elegant.Surrounded.Surrounded Elegant.Margin.Margin)"},{"name":"marginToCouples","comment":" Compiles a `Surrounded Margin` record to the corresponding CSS list of tuples.\nCompiles only styles which are defined, ignoring `Nothing` fields.\n","type":"Elegant.Surrounded.Surrounded Elegant.Margin.Margin -> List.List ( String.String, String.String )"},{"name":"right","comment":" Accepts a margin modifier, and modify the right side of the margin.\n","type":"Modifiers.Modifier Elegant.Margin.Margin -> Modifiers.Modifier (Elegant.Surrounded.Surrounded Elegant.Margin.Margin)"},{"name":"top","comment":" Accepts a margin modifier, and modify the top side of the margin.\n","type":"Modifiers.Modifier Elegant.Margin.Margin -> Modifiers.Modifier (Elegant.Surrounded.Surrounded Elegant.Margin.Margin)"},{"name":"vertical","comment":" Accepts a margin modifier, and modify both the right and left side of the margin.\n","type":"Modifiers.Modifier Elegant.Margin.Margin -> Modifiers.Modifier (Elegant.Surrounded.Surrounded Elegant.Margin.Margin)"},{"name":"width","comment":" Set the margin value to the desired value.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Elegant.Margin.Margin -> Elegant.Margin.Margin"}],"binops":[]},{"name":"Elegant.Outline","comment":" Outline contains everything about outline rendering.\n\n\n# Types\n\n@docs Outline\n@docs OutlineStyle\n\n\n# Default border\n\n@docs default\n\n\n# Border modifiers\n\n\n## Appearance\n\n@docs thickness\n@docs none\n@docs solid\n@docs dashed\n\n\n# Compilation\n\n@docs outlineToCouples\n\n","unions":[{"name":"OutlineStyle","comment":" Represents the possible styles of the outline.\nIt can be Solid or Dashed. They are created by `solid` and `dashed`.\n","args":[],"cases":[]}],"aliases":[{"name":"Outline","comment":" The `Outline` record contains everything about one outline side.\nYou probably won't use it as is, but instead using `Elegant.outline`\nwhich automatically generate an empty `Outline` record. You\ncan then use modifiers. I.E.\n\n    Elegant.outline\n        [ Outline.solid\n        , Elegant.color Color.blue\n        ]\n\n","args":[],"type":"{ color : Maybe.Maybe Color.Color, thickness : Maybe.Maybe Elegant.Helpers.Shared.SizeUnit, style : Maybe.Maybe Elegant.Outline.OutlineStyle }"}],"values":[{"name":"dashed","comment":" Set the outline as dashed.\n","type":"Modifiers.Modifier Elegant.Outline.Outline"},{"name":"default","comment":" Generate an empty `Outline` record, with every field equal to Nothing.\nYou are free to use it as you wish, but it is instanciated automatically by `Elegant.outline`.\n","type":"Elegant.Outline.Outline"},{"name":"none","comment":" Set the outline to none.\n","type":"Modifiers.Modifier Elegant.Outline.Outline"},{"name":"outlineToCouples","comment":" Compiles an `Outline` record to the corresponding CSS list of tuples.\nCompiles only styles which are defined, ignoring `Nothing` fields.\n","type":"Elegant.Outline.Outline -> List.List ( String.String, String.String )"},{"name":"solid","comment":" Set the outline as solid.\n","type":"Modifiers.Modifier Elegant.Outline.Outline"},{"name":"thickness","comment":" Set the thickness of the outline.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Outline.Outline"}],"binops":[]},{"name":"Elegant.Overflow","comment":" Handles Overflow\n\n@docs FullOverflow\n@docs overflowX\n@docs overflowY\n@docs overflowXY\n@docs visible\n@docs hidden\n@docs auto\n@docs default\n@docs scroll\n@docs Overflow\n\n","unions":[{"name":"Overflow","comment":" ","args":[],"cases":[["OverflowVisible",[]],["OverflowHidden",[]],["OverflowAuto",[]],["OverflowScroll",[]]]}],"aliases":[{"name":"FullOverflow","comment":" ","args":[],"type":"Elegant.Helpers.Vector.Vector (Maybe.Maybe Elegant.Overflow.Overflow)"}],"values":[{"name":"auto","comment":" auto overflow\n","type":"Elegant.Overflow.Overflow"},{"name":"default","comment":" ","type":"Elegant.Helpers.Vector.Vector (Maybe.Maybe Elegant.Overflow.Overflow)"},{"name":"hidden","comment":" hidden overflow\n","type":"Elegant.Overflow.Overflow"},{"name":"overflowX","comment":" OverflowX to handle overflow X of an element\n","type":"Elegant.Overflow.Overflow -> Elegant.Overflow.FullOverflow -> Elegant.Overflow.FullOverflow"},{"name":"overflowXY","comment":" OverflowY to handle overflow XY of an element\n","type":"Elegant.Overflow.Overflow -> Elegant.Overflow.FullOverflow -> Elegant.Overflow.FullOverflow"},{"name":"overflowY","comment":" OverflowY to handle overflow Y of an element\n","type":"Elegant.Overflow.Overflow -> Elegant.Overflow.FullOverflow -> Elegant.Overflow.FullOverflow"},{"name":"scroll","comment":" scroll overflow\n","type":"Elegant.Overflow.Overflow"},{"name":"visible","comment":" always visible overflow)\n","type":"Elegant.Overflow.Overflow"}],"binops":[]},{"name":"Elegant.Padding","comment":" Padding contains everything about paddings rendering.\n\n\n# Types\n\n@docs Padding\n\n\n# Default padding\n\n@docs default\n\n\n# Padding selectors\n\n@docs top\n@docs right\n@docs bottom\n@docs left\n@docs horizontal\n@docs vertical\n@docs all\n\n\n# Compilation\n\n@docs paddingToCouples\n\n","unions":[],"aliases":[{"name":"Padding","comment":" The `Padding` record contains everything about one padding side.\nYou probably won't use it as is, but instead using `Elegant.padding`\nwhich automatically generate an empty `Padding` record. You\ncan then use modifiers. I.E.\n\n    Elegant.padding\n        [ Padding.top <| Padding.width (px 30)\n        , Padding.vertical <| Padding.width (px 40)\n        ]\n\n","args":[],"type":"Elegant.Helpers.Shared.SizeUnit"}],"values":[{"name":"all","comment":" Accepts a padding modifier, and modify the four sides of the padding.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier (Elegant.Surrounded.Surrounded Elegant.Padding.Padding)"},{"name":"bottom","comment":" Accepts a padding modifier, and modify the bottom side of the padding.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier (Elegant.Surrounded.Surrounded Elegant.Padding.Padding)"},{"name":"default","comment":" Generate an empty `Padding` record, equal to 0 px.\nYou are free to use it as you wish, but it is instanciated automatically by `Elegant.padding`.\n","type":"Elegant.Padding.Padding"},{"name":"horizontal","comment":" Accepts a padding modifier, and modify both the top and the bottom side of the padding.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier (Elegant.Surrounded.Surrounded Elegant.Padding.Padding)"},{"name":"left","comment":" Accepts a padding modifier, and modify the left side of the padding.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier (Elegant.Surrounded.Surrounded Elegant.Padding.Padding)"},{"name":"paddingToCouples","comment":" Compiles a `Surrounded Padding` record to the corresponding CSS list of tuples.\nCompiles only styles which are defined, ignoring `Nothing` fields.\n","type":"Elegant.Surrounded.Surrounded Elegant.Padding.Padding -> List.List ( String.String, String.String )"},{"name":"right","comment":" Accepts a padding modifier, and modify the right side of the padding.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier (Elegant.Surrounded.Surrounded Elegant.Padding.Padding)"},{"name":"top","comment":" Accepts a padding modifier, and modify the top side of the padding.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier (Elegant.Surrounded.Surrounded Elegant.Padding.Padding)"},{"name":"vertical","comment":" Accepts a padding modifier, and modify both the right and left side of the padding.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier (Elegant.Surrounded.Surrounded Elegant.Padding.Padding)"}],"binops":[]},{"name":"Elegant.Position","comment":" Position contains everything about position rendering.\n\n\n# Types\n\n@docs Position\n@docs Coordinates\n\n\n# Position selection\n\n@docs static\n@docs absolute\n@docs relative\n@docs fixed\n@docs sticky\n\n\n# Position modifiers\n\n@docs top\n@docs right\n@docs bottom\n@docs left\n@docs horizontal\n@docs vertical\n@docs all\n\n\n# Compilation\n\n@docs positionToCouples\n\n","unions":[{"name":"Position","comment":" Represents a position, whih can be static, absolute, relative, fixed or sticky.\nYou don't need to bother about it, since it is generated by `static`, `absolute`,\n`relative`, `fixed` or `sticky`.\n","args":[],"cases":[]}],"aliases":[{"name":"Coordinates","comment":" Represents the coordinates of the element. There is top, bottom, left and right.\n","args":[],"type":"Elegant.Surrounded.Surrounded Elegant.Helpers.Shared.SizeUnit"}],"values":[{"name":"absolute","comment":" Position the element as absolute, and requires coordinates.\n","type":"Modifiers.Modifiers Elegant.Position.Coordinates -> Elegant.Position.Position"},{"name":"all","comment":" Accepts a size, and modify the four positions.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Position.Coordinates"},{"name":"bottom","comment":" Accepts a size, and modify the bottom position.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Position.Coordinates"},{"name":"fixed","comment":" Position the element as fixed, and requires coordinates.\n","type":"Modifiers.Modifiers Elegant.Position.Coordinates -> Elegant.Position.Position"},{"name":"horizontal","comment":" Accepts a size, and modify both the top and bottom positions.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Position.Coordinates"},{"name":"left","comment":" Accepts a size, and modify the left position.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Position.Coordinates"},{"name":"positionToCouples","comment":" Compiles a `Position` to the corresponding CSS list of tuples.\nCompiles only styles which are defined, ignoring `Nothing` fields.\n","type":"Elegant.Position.Position -> List.List ( String.String, String.String )"},{"name":"relative","comment":" Position the element as relative, and requires coordinates.\n","type":"Modifiers.Modifiers Elegant.Position.Coordinates -> Elegant.Position.Position"},{"name":"right","comment":" Accepts a size, and modify the right position.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Position.Coordinates"},{"name":"static","comment":" Position the element as static.\n","type":"Elegant.Position.Position"},{"name":"sticky","comment":" Position the element as sticky, and requires coordinates.\n","type":"Modifiers.Modifiers Elegant.Position.Coordinates -> Elegant.Position.Position"},{"name":"top","comment":" Accepts a size, and modify the top position.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Position.Coordinates"},{"name":"vertical","comment":" Accepts a size, and modify both the left and right positions.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Position.Coordinates"}],"binops":[]},{"name":"Elegant.Shadow","comment":" Shadow contains everything about boxShadow.\n\n\n# Types\n\n@docs Shadow\n\n\n# Default box shadow\n\n@docs default\n\n\n# Shadow modifiers\n\n@docs inset\n@docs blurRadius\n@docs spreadRadius\n@docs offset\n@docs standard\n@docs plain\n@docs blurry\n@docs color\n\n\n# Compilation\n\n@docs boxShadowToCouple\n\n","unions":[],"aliases":[{"name":"Shadow","comment":" The Shadow record contains everything about box shadow.\nYou probably won't use it as is, but instead using `Elegant.boxShadow`\nwhich automatically generate an empty `Shadow` record. You\ncan then use modifiers. I.E.\n\n    Elegant.boxShadow\n        [ Shadow.inset True\n        , Shadow.spreadRadius (px 30)\n        ]\n\n","args":[],"type":"{ inset : Basics.Bool, spreadRadius : Elegant.Helpers.Shared.SizeUnit, blurRadius : Elegant.Helpers.Shared.SizeUnit, color : Color.Color, offset : ( Elegant.Helpers.Shared.SizeUnit, Elegant.Helpers.Shared.SizeUnit ) }"}],"values":[{"name":"blurRadius","comment":" Set the blurRadius of the Shadow.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Shadow.Shadow"},{"name":"blurry","comment":" Creates a plain boxShadow.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Elegant.Helpers.Shared.SizeUnit -> Color.Color -> Modifiers.Modifier Elegant.Shadow.Shadow"},{"name":"boxShadowToCouple","comment":" Compiles a `Shadow` record to the corresponding CSS tuple.\nCompiles only parts which are defined, ignoring `Nothing` fields.\n","type":"Elegant.Shadow.Shadow -> ( String.String, String.String )"},{"name":"color","comment":" Set the inset of the Shadow.\n","type":"Color.Color -> Modifiers.Modifier Elegant.Shadow.Shadow"},{"name":"default","comment":" Generate an empty `Shadow` record, with every field equal to Nothing except inset (to `False`) and offset (to `( 0, 0 )`).\nYou are free to use it as you wish, but it is instanciated automatically by `Elegant.boxShadow`.\n","type":"Elegant.Shadow.Shadow"},{"name":"inset","comment":" Set the inset of the Shadow.\n","type":"Basics.Bool -> Modifiers.Modifier Elegant.Shadow.Shadow"},{"name":"offset","comment":" Set the offset of the Shadow.\n","type":"( Elegant.Helpers.Shared.SizeUnit, Elegant.Helpers.Shared.SizeUnit ) -> Modifiers.Modifier Elegant.Shadow.Shadow"},{"name":"plain","comment":" Creates a plain boxShadow.\n","type":"( Elegant.Helpers.Shared.SizeUnit, Elegant.Helpers.Shared.SizeUnit ) -> Color.Color -> Modifiers.Modifier Elegant.Shadow.Shadow"},{"name":"spreadRadius","comment":" Set the spreadRadius of the Shadow.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Shadow.Shadow"},{"name":"standard","comment":" Defines a standard boxShadow.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Color.Color -> ( Elegant.Helpers.Shared.SizeUnit, Elegant.Helpers.Shared.SizeUnit ) -> Modifiers.Modifier Elegant.Shadow.Shadow"}],"binops":[]},{"name":"Elegant.Surrounded","comment":" Generic module for surrounded values.\n\n@docs Surrounded\n@docs all\n@docs bottom\n@docs default\n@docs horizontal\n@docs left\n@docs right\n@docs surroundedToCouples\n@docs top\n@docs vertical\n@docs applyModifiersOnDefault\n\n","unions":[],"aliases":[{"name":"Surrounded","comment":" ","args":["surroundType"],"type":"{ top : Maybe.Maybe surroundType, right : Maybe.Maybe surroundType, bottom : Maybe.Maybe surroundType, left : Maybe.Maybe surroundType }"}],"values":[{"name":"all","comment":" ","type":"a -> Modifiers.Modifiers a -> Modifiers.Modifier (Elegant.Surrounded.Surrounded a)"},{"name":"applyModifiersOnDefault","comment":" ","type":"Modifiers.Modifiers (Elegant.Surrounded.Surrounded a) -> Elegant.Surrounded.Surrounded a"},{"name":"bottom","comment":" ","type":"a -> Modifiers.Modifiers a -> Modifiers.Modifier (Elegant.Surrounded.Surrounded a)"},{"name":"default","comment":" ","type":"Elegant.Surrounded.Surrounded a"},{"name":"horizontal","comment":" ","type":"a -> Modifiers.Modifiers a -> Modifiers.Modifier (Elegant.Surrounded.Surrounded a)"},{"name":"left","comment":" ","type":"a -> Modifiers.Modifiers a -> Modifiers.Modifier (Elegant.Surrounded.Surrounded a)"},{"name":"right","comment":" ","type":"a -> Modifiers.Modifiers a -> Modifiers.Modifier (Elegant.Surrounded.Surrounded a)"},{"name":"surroundedToCouples","comment":" ","type":"Maybe.Maybe String.String -> (a -> List.List ( String.String, String.String )) -> Elegant.Surrounded.Surrounded a -> List.List ( String.String, String.String )"},{"name":"top","comment":" ","type":"a -> Modifiers.Modifiers a -> Modifiers.Modifier (Elegant.Surrounded.Surrounded a)"},{"name":"vertical","comment":" ","type":"a -> Modifiers.Modifiers a -> Modifiers.Modifier (Elegant.Surrounded.Surrounded a)"}],"binops":[]},{"name":"Elegant.Transform","comment":" Transform contains everything about css transformations : translate, rotate and scale.\n\n\n# Types\n\n@docs Transform\n\n\n# Default transform\n\n@docs default\n\n\n# Shadow modifiers\n\n@docs translateX\n@docs translateY\n@docs translateZ\n@docs rotateX\n@docs rotateY\n@docs rotateZ\n@docs origin\n@docs backfaceVisibilityHidden\n@docs backfaceVisibilityVisible\n@docs preserve3d\n@docs perspective\n@docs perspectiveOrigin\n\n\n# Compilation\n\n@docs transformToCouples\n\n","unions":[],"aliases":[{"name":"Transform","comment":" The Transform record contains everything about transformations.\nYou probably won't use it as is, but instead using `Box.transform`\nwhich automatically generate an empty `Transform` record. You\ncan then use modifiers. I.E.\n\n    Box.transform\n        [ Transform.translateX (px 30)\n        , Transform.translateY (vw 30)\n        ]\n\n","args":[],"type":"{ translate : Elegant.Transform.Triplet (Maybe.Maybe Elegant.Helpers.Shared.SizeUnit), rotate : Elegant.Transform.Triplet (Maybe.Maybe Elegant.Helpers.Shared.Angle), origin : Maybe.Maybe (Elegant.Transform.Triplet Elegant.Helpers.Shared.SizeUnit), backfaceVisibility : Maybe.Maybe Elegant.Transform.BackfaceVisibility, transformStyle : Maybe.Maybe Elegant.Transform.TransformStyle, perspective : Maybe.Maybe Elegant.Helpers.Shared.SizeUnit, perspectiveOrigin : Maybe.Maybe ( Elegant.Helpers.Shared.SizeUnit, Elegant.Helpers.Shared.SizeUnit ) }"}],"values":[{"name":"backfaceVisibilityHidden","comment":" in a (css) 3d rendered scene, we hide back facing elements.\n","type":"Elegant.Transform.Transform -> Elegant.Transform.Transform"},{"name":"backfaceVisibilityVisible","comment":" in a (css) 3d rendered scene, we show back facing elements.\n","type":"Elegant.Transform.Transform -> Elegant.Transform.Transform"},{"name":"default","comment":" Generate an empty `Translate` record, with every field equal to Nothing.\nYou are free to use it as you wish, but it is instanciated automatically by `Box.translate`.\n","type":"Elegant.Transform.Transform"},{"name":"origin","comment":" Set the origin of the Transform.\n","type":"( Elegant.Helpers.Shared.SizeUnit, Elegant.Helpers.Shared.SizeUnit, Elegant.Helpers.Shared.SizeUnit ) -> Modifiers.Modifier Elegant.Transform.Transform"},{"name":"perspective","comment":" Change the perspective of a scene. It represents the distance between the\nz=0 plane and the user in order to give a 3D-positioned element some\nperspective. Each 3D element with z>0 becomes larger; each 3D-element with z<0\nbecomes smaller. The strength of the effect is determined by the value of this\nproperty.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Elegant.Transform.Transform -> Elegant.Transform.Transform"},{"name":"perspectiveOrigin","comment":" Define the origin of the perspective of a scene. It represents the position\nat which the viewer is looking. It is used as the vanishing point by the\nperspective property.\n","type":"( Elegant.Helpers.Shared.SizeUnit, Elegant.Helpers.Shared.SizeUnit ) -> Elegant.Transform.Transform -> Elegant.Transform.Transform"},{"name":"preserve3d","comment":" in a (css) 3d rendered scene, we hide back facing elements.\n","type":"Elegant.Transform.Transform -> Elegant.Transform.Transform"},{"name":"rotateX","comment":" Set the rotateX of the Transform.\n","type":"Elegant.Helpers.Shared.Angle -> Elegant.Transform.Transform -> Elegant.Transform.Transform"},{"name":"rotateY","comment":" Set the rotateY of the Transform.\n","type":"Elegant.Helpers.Shared.Angle -> Elegant.Transform.Transform -> Elegant.Transform.Transform"},{"name":"rotateZ","comment":" Set the translateZ of the Transform.\n","type":"Elegant.Helpers.Shared.Angle -> Elegant.Transform.Transform -> Elegant.Transform.Transform"},{"name":"transformToCouples","comment":" Compiles a `Transform` record to the corresponding CSS tuple.\nCompiles only parts which are defined, ignoring `Nothing` fields.\n","type":"Elegant.Transform.Transform -> List.List ( String.String, String.String )"},{"name":"translateX","comment":" Set the translateX of the Transform.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Elegant.Transform.Transform -> Elegant.Transform.Transform"},{"name":"translateY","comment":" Set the translateY of the Transform.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Elegant.Transform.Transform -> Elegant.Transform.Transform"},{"name":"translateZ","comment":" Set the translateZ of the Transform.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Elegant.Transform.Transform -> Elegant.Transform.Transform"}],"binops":[]},{"name":"Elegant.Typography","comment":" Typography contains everything about fonts and characters rendering.\n\n\n# Types\n\n@docs Typography\n@docs Capitalization\n@docs Decoration\n@docs WhiteSpaceWrap\n@docs UserSelect\n@docs Normal\n@docs FontTilt\n@docs FontFamily\n@docs CustomFontFamily\n\n\n# Default typography\n\n@docs default\n\n\n# Typography modifiers\n\n\n## Color\n\n@docs color\n\n\n## Text Transformations\n\n@docs capitalize\n@docs lowercase\n@docs uppercase\n\n\n## Text Decorations\n\n@docs underline\n@docs lineThrough\n@docs noDecoration\n\n\n## Whitespace Management\n\n@docs whiteSpaceNoWrap\n\n\n## User Interactions\n\n@docs userSelect\n\n\n## Line Height\n\n@docs lineHeightNormal\n@docs lineHeight\n\n\n## Weight\n\n@docs weight\n\n\n## Tilting\n\n@docs tiltNormal\n@docs italic\n@docs oblique\n\n\n## Size\n\n@docs size\n\n\n## Font Family\n\n@docs systemFont\n@docs customFont\n@docs fontFamily\n@docs fontFamilyInherit\n@docs fontFamilySansSerif\n\n\n## Letter Spacing\n\n@docs letterSpacing\n\n\n# Shortcuts\n\n@docs bold\n\n\n# Compilation\n\n@docs typographyToCouples\n\n","unions":[{"name":"Capitalization","comment":" Represents the possible transformations of the text.\nIt can be Uppercase, Lowercase, or Capitalize. They are created by `uppercase`,\n`lowercase` and `capitalize`.\n","args":[],"cases":[]},{"name":"CustomFontFamily","comment":" Represents the font family used to render characters.\nIt can be a system or a custom type. They are created by `systemFont` and `customFont`.\n","args":[],"cases":[]},{"name":"Decoration","comment":" Represents the possible decorations of the text.\nIt can be None, Underline or LineThrough. They are created by `noDecoration`,\n`underline` and `lineThrough`.\n","args":[],"cases":[]},{"name":"FontFamily","comment":" Represents the possible fontFamily of the characters.\nIt can be Inherited from the parent, or customized.\n","args":[],"cases":[]},{"name":"FontTilt","comment":" Represents the possible tilting of the characters.\nIt can be Normal, Italic, or Oblique. They are created by `uppercase`,\n`lowercase` and `capitalize`.\n","args":[],"cases":[]},{"name":"Normal","comment":" Value representing the 'normal' value in `line-height`.\n","args":[],"cases":[]},{"name":"WhiteSpaceWrap","comment":" Represents the whitespaces management in the text.\nIt can be NoWrap, and created by `whiteSpaceNoWrap`.\n","args":[],"cases":[]}],"aliases":[{"name":"Typography","comment":" The `Typography` record contains everything about fonts rendering,\nincluding character rendering. You probably won't use it as is, but instead using\n`Box.typography` which automatically generate an empty `Typography` record. You\ncan then use modifiers. I.E.\n\n    Box.typography\n        [ Typography.color Color.white\n        , Typography.italic\n        ]\n\n","args":[],"type":"{ capitalization : Maybe.Maybe Elegant.Typography.Capitalization, decoration : Maybe.Maybe Elegant.Typography.Decoration, color : Maybe.Maybe Color.Color, whiteSpaceWrap : Maybe.Maybe Elegant.Typography.WhiteSpaceWrap, userSelect : Maybe.Maybe Elegant.Typography.UserSelect, lineHeight : Maybe.Maybe (Either.Either Elegant.Helpers.Shared.SizeUnit Elegant.Typography.Normal), weight : Maybe.Maybe Basics.Int, tilt : Maybe.Maybe Elegant.Typography.FontTilt, size : Maybe.Maybe Elegant.Helpers.Shared.SizeUnit, family : Maybe.Maybe Elegant.Typography.FontFamily, letterSpacing : Maybe.Maybe Elegant.Helpers.Shared.SizeUnit }"},{"name":"UserSelect","comment":" Represents the interaction with the user. If set to `True`, the user\ncan interact with the text, i.e. can select it, copy and paste. If set to\n`False`, nothing can be done.\n","args":[],"type":"Basics.Bool"}],"values":[{"name":"bold","comment":" ","type":"Modifiers.Modifier Elegant.Typography.Typography"},{"name":"capitalize","comment":" Capitalize the first letter in the text.\n'just an example' is transformed in 'Just an example'.\n","type":"Modifiers.Modifier Elegant.Typography.Typography"},{"name":"color","comment":" Set the color of the typography\n","type":"Color.Color -> Modifiers.Modifier Elegant.Typography.Typography"},{"name":"customFont","comment":" Gives a custom font.\n","type":"String.String -> Elegant.Typography.CustomFontFamily"},{"name":"default","comment":" Generate an empty `Typography` record, with every field equal to Nothing.\nYou are free to use it as you wish, but it is instanciated automatically by `Box.typography`.\n","type":"Elegant.Typography.Typography"},{"name":"fontFamily","comment":" Set the font family to the desired fonts. All fonts will be tried one by one\nuntil one is found either on the browser or user's OS. It is possible to use both\nsystem and custom fonts.\n","type":"List.List Elegant.Typography.CustomFontFamily -> Modifiers.Modifier Elegant.Typography.Typography"},{"name":"fontFamilyInherit","comment":" Inherits the font from the parents. It is the default behavior of fontFamily.\n","type":"Modifiers.Modifier Elegant.Typography.Typography"},{"name":"fontFamilySansSerif","comment":" Standard Sans Serif font family.\nInspired from <https://www.smashingmagazine.com/2015/11/using-system-ui-fonts-practical-guide/>\n","type":"Modifiers.Modifier Elegant.Typography.Typography"},{"name":"italic","comment":" Renders the characters as italic.\n","type":"Modifiers.Modifier Elegant.Typography.Typography"},{"name":"letterSpacing","comment":" Set the letter spacing of the typography.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Typography.Typography"},{"name":"lineHeight","comment":" Set the lineHeight to the desired value. Can be px, pt, vh, em or rem.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Typography.Typography"},{"name":"lineHeightNormal","comment":" Set the lineHeight property to respect the space defined by the User Agent of\nthe user's browser. It usually is 1.2em, but can vary.\n","type":"Modifiers.Modifier Elegant.Typography.Typography"},{"name":"lineThrough","comment":" Print a line through the text.\n","type":"Modifiers.Modifier Elegant.Typography.Typography"},{"name":"lowercase","comment":" Turn the entire text in lowercase.\n'JuST an ExAMPle' is transformed in 'just an example'.\n","type":"Modifiers.Modifier Elegant.Typography.Typography"},{"name":"noDecoration","comment":" Remove every decoration (underline or lineThrough) on the text.\n","type":"Modifiers.Modifier Elegant.Typography.Typography"},{"name":"oblique","comment":" Renders the characters as oblique.\n","type":"Modifiers.Modifier Elegant.Typography.Typography"},{"name":"size","comment":" Set the size of the characters to the desired value.\nCan be px, pt, vh, em or rem.\n","type":"Elegant.Helpers.Shared.SizeUnit -> Modifiers.Modifier Elegant.Typography.Typography"},{"name":"systemFont","comment":" Gives a system font.\n","type":"String.String -> Elegant.Typography.CustomFontFamily"},{"name":"tiltNormal","comment":" Cancels any tilting of the characters.\n","type":"Modifiers.Modifier Elegant.Typography.Typography"},{"name":"typographyToCouples","comment":" Compiles a `Typography` record to the corresponding CSS list of tuples.\nCompiles only styles which are defined, ignoring `Nothing` fields.\n","type":"Elegant.Typography.Typography -> List.List ( String.String, String.String )"},{"name":"underline","comment":" Underline the text.\n","type":"Modifiers.Modifier Elegant.Typography.Typography"},{"name":"uppercase","comment":" Turn the entire text in uppercase.\n'JuST an ExAMPle' is transformed in 'JUST AN EXAMPLE'.\n","type":"Modifiers.Modifier Elegant.Typography.Typography"},{"name":"userSelect","comment":" Allow or disallow user to interact with the text, i.e. select, copy, etc.\n","type":"Basics.Bool -> Modifiers.Modifier Elegant.Typography.Typography"},{"name":"weight","comment":" Changes the weight of the characters.\nValue is defined between 100 and 900 and default weight is equal to 400.\n","type":"Basics.Int -> Modifiers.Modifier Elegant.Typography.Typography"},{"name":"whiteSpaceNoWrap","comment":" Cancel the wrapping of the text on whitespaces. It forces text to stay on one line.\n","type":"Modifiers.Modifier Elegant.Typography.Typography"}],"binops":[]},{"name":"Modifiers","comment":" Modifiers for shorter types signatures.\n\n@docs Modifier\n@docs Modifiers\n\n","unions":[],"aliases":[{"name":"Modifier","comment":" ","args":["a"],"type":"a -> a"},{"name":"Modifiers","comment":" ","args":["a"],"type":"List.List (Modifiers.Modifier a)"}],"values":[],"binops":[]}]