[{"name":"PopupPicker","comment":" A popup <div> to pick from a list of choices.\n\nSee <https://developer.mozilla.org/en-US/docs/Web/CSS/position> for a\ndescription of the relevant CSS.\n\n\n# Class\n\n@docs PopupPicker\n\n\n# Initialization\n\n@docs makePopupPicker\n\n\n# Rendering\n\n@docs view\n\n\n# Generating `positionAttributes`.\n\n@docs position, top, left, bottom, right\n\n","unions":[],"aliases":[{"name":"PopupPicker","comment":" State passed to `view`.\n\n`divAttributes` are added to the popup attributes for the whole `div`.\n\n`positionAttributes` are additional attributes for the whole `div`,\nusually generated by `position`, `top`, `left`, `bottom`, or`right`.\n\n`choiceAttributes` are applied to the `div` holding each `choice`.\n\n`header` is put before the input `div` and the `choice` divs.\n\n`renderInputDiv` renders your `input`, if you pass one to `view`.\n\n`renderChoice` renders each choice inside its `div`.\n\n`footer` is put after the `choice` divs.\n\n`wrapper` maps a selected choice to a `msg` for your `update` function.\n\n","args":["choice","msg"],"type":"{ divAttributes : List.List (Html.Attribute msg), positionAttributes : List.List (Html.Attribute msg), choiceAttributes : List.List (Html.Attribute msg), header : Maybe.Maybe (Html.Html msg), renderInputDiv : Maybe.Maybe (String.String -> Html.Html msg), renderChoice : choice -> Html.Html msg, footer : Maybe.Maybe (Html.Html msg), wrapper : choice -> msg }"}],"values":[{"name":"bottom","comment":" `bottom x` -> `style \"bottom x`\n","type":"String.String -> Html.Attribute msg"},{"name":"left","comment":" `left x` -> `style \"left\" x`\n","type":"String.String -> Html.Attribute msg"},{"name":"makePopupPicker","comment":" Make a bare-bones `PopupPicker`.\n\nArgs are `renderChoice` and `wrapper` properties.\n\n","type":"(choice -> Html.Html msg) -> (choice -> msg) -> PopupPicker.PopupPicker choice msg"},{"name":"position","comment":" `position (x, y)` is the same as `[ left x, top y ]`.\n","type":"( String.String, String.String ) -> List.List (Html.Attribute msg)"},{"name":"right","comment":" `right x` -> `style \"right\" x`\n","type":"String.String -> Html.Attribute msg"},{"name":"top","comment":" `top x` -> `style \"top\"  x`\n","type":"String.String -> Html.Attribute msg"},{"name":"view","comment":" Render the popup.\n\nIf the first arg is not Nothing, will call `renderInputDiv` to display it.\nSometimes you want to do this on mobile, when the type-in area may be covered\nby the picker.\n\nThe generated Html is of the form:\n\n    div [ style \"position\" \"absolute\"\n        , divAttributes\n        , positionAttributes\n        ]\n      [ header\n      , renderInputDiv input\n      , div [ onClick <| wrapper choice)>\n            , choiceAttributes\n            ]\n          [ renderChoice choice ]\n      , ...\n      , footer\n      ]\n\n","type":"Maybe.Maybe String.String -> List.List choice -> PopupPicker.PopupPicker choice msg -> Html.Html msg"}],"binops":[]}]