[{"name":"Curtissimo.NativeModalDialog","comment":" This module provides the Elm bindings to render\nand work with a native HTML 5 <dialog> element.\n\nIt uses the custom `elm-dialog-proxy` Web component to\nbridge between setting attributes and properties to the\nnative dialog.\n\n    import Curtissimo.NativeDialog as Dialog\n\n    view : Model -> Browser.Document Msg\n    view model =\n        let\n            dialogOptions =\n                { id = \"my-dialog\"\n                , cancel = Dialog.allowDefault DialogCanceled\n                , close = DialogClosed\n                , showDialog = model.showDialog\n                }\n        in\n        { title = \"Example modal dialog\"\n        , body =\n            [ Html.button [ Html.Events.onClick ShowDialog ]\n                [ Html.text \"Show the dialog\" ]\n            , Dialog.view dialogOptions\n                [ Html.h1 [] [ Html.text \"My Dialog\" ]\n                , Html.div []\n                    [ Html.button\n                        [ Html.Events.onClick HideDialog ]\n                        [ Html.text \"Close\" ]\n                    ]\n                ]\n            ]\n        }\n\n\n# Rendering\n\n@docs view\n\n\n# Options\n\n@docs DialogCancelHandler, DialogView, allowDefault\n\n","unions":[],"aliases":[{"name":"DialogCancelHandler","comment":" Specify the `msg` and a flag to indicate if the\ncancel event should be prevented from occurring.\n\n  - `message` is the value you want to pass to the page's\n    `update` function.\n  - `preventDefault` will prevent the dialog from closing\n    if set to `True`.\n\n","args":["msg"],"type":"{ message : msg, preventDefault : Basics.Bool }"},{"name":"DialogView","comment":" The options needed by the native dialog to properly\nrender.\n\n  - `id` is the value that will be used as the <dialog> element's\n    `id` property.\n  - `cancel` provides a handler for the **cancel** event which can\n    prevent the default behavior of the dialog and keep it open.\n  - `close` provides a handler for the **close** event.\n  - `showDialog` will show the modal dialog if `True`.\n\n","args":["msg"],"type":"{ id : String.String, cancel : Json.Decode.Decoder (Curtissimo.NativeModalDialog.DialogCancelHandler msg), classList : List.List ( String.String, Basics.Bool ), close : msg, showDialog : Basics.Bool }"}],"values":[{"name":"allowDefault","comment":" If you never will prevent the default behavior of the **cancel** event\nof the dialog, you can use this convenience function.\n","type":"msg -> Json.Decode.Decoder (Curtissimo.NativeModalDialog.DialogCancelHandler msg)"},{"name":"view","comment":" Render the <dialog> element and the proxy handler needed to control the\ndialog.\n\n**Note**: Make sure you have included the `elm-dialog-proxy.js` in your page\nor as part of your build.\n\n","type":"Curtissimo.NativeModalDialog.DialogView msg -> List.List (Html.Html msg) -> Html.Html msg"}],"binops":[]}]