[
    {
        "name": "DateTimePicker",
        "comment": " DateTime Picker\n\n# View\n@docs datePicker, datePickerWithConfig, dateTimePicker, dateTimePickerWithConfig\n\n# Initial\n@docs initialState, initialStateWithToday, initialCmd\n\n# Internal State\n@docs State\n\n",
        "unions": [],
        "aliases": [
            {
                "name": "State",
                "comment": " The state of the date time picker (for Internal Use)\n",
                "args": [],
                "type": "InternalState"
            }
        ],
        "values": [
            {
                "name": "datePicker",
                "comment": " Date Picker view function with default configuration.\n\nExample:\n    type alias Model = { datePickerState : DateTimePicker.Internal, value : Maybe Date }\n\n    type  = DatePickerChanged DateTimePicker.Internal (Maybe Date)\n\n    view =\n        DateTimePicker.datePicker\n                DatePickerChanged\n                [ class \"my-datepicker\" ]\n                model.datePickerState\n                model.value\n\n",
                "type": "(State -> Maybe Date -> msg) -> List (Attribute msg) -> State -> Maybe Date -> Html msg"
            },
            {
                "name": "datePickerWithConfig",
                "comment": " Date Picker view function with custom configuration.\n\nExample:\n    type alias Model = { datePickerState : DateTimePicker.Internal, value : Maybe Date }\n\n    type Msg = DatePickerChanged DateTimePicker.Internal (Maybe Date)\n\n    customConfig =\n        let default = (DateTimePicker.defaultConfig DatePickerChanged)\n        in\n            { default\n                | firstDayOfWeek = Date.Mon\n                , autoClose = True\n            }\n\n    view =\n        DateTimePicker.datePickerWithConfig\n                customConfig\n                DateTimePicker.defaultDatePickerConfig\n                [ class \"my-datepicker\" ]\n                model.datePickerState\n                model.value\n\n",
                "type": "Config (DatePickerConfig {}) msg -> List (Attribute msg) -> State -> Maybe Date -> Html msg"
            },
            {
                "name": "dateTimePicker",
                "comment": " Date and Time PicType view\nExample:\n    type alias Model = { dateTimePickerState : DateTimePicker.Internal, value : Maybe DateType\n\n    type  = DatePickerChanged DateTimePicker.Internal (Maybe Date)\n\n    view =\n        DateTimePicker.dateTimePicker\n                 DatePickerChanged\n                [ class \"my-datetimepicker\" ]\n                model.dateTimePickerState\n                model.value\n",
                "type": "(State -> Maybe Date -> msg) -> List (Attribute msg) -> State -> Maybe Date -> Html msg"
            },
            {
                "name": "dateTimePickerWithConfig",
                "comment": " Date and Time Picker view\nExample:\n    type alias Model = { dateTimePickerState : DateTimePicker.Internal, value : Maybe Date }\n\n    type  = DatePickerChanged DateTimePicker.Internal (Maybe Date)\n\n    customConfig =\n        let\n            default = DateTimePicker.defaultDateTimePickerConfig DatePickerChanged\n        in\n            { default\n                | firstDayOfWeek = Date.Mon\n                , autoClose = True\n            }\n\n    view =\n        DateTimePicker.dateTimePicker\n                customConfig\n                [ class \"my-datetimepicker\" ]\n                model.dateTimePickerState\n                model.value\n",
                "type": "Config (DatePickerConfig TimePickerConfig) msg -> List (Attribute msg) -> State -> Maybe Date -> Html msg"
            },
            {
                "name": "initialCmd",
                "comment": " Initial Cmd to set the initial month to be displayed in the datepicker to the current month.\n",
                "type": "(State -> Maybe Date -> msg) -> State -> Cmd msg"
            },
            {
                "name": "initialState",
                "comment": " Initial state of the DatePicker\n",
                "type": "State"
            },
            {
                "name": "initialStateWithToday",
                "comment": " Initial state of the DatePicker with today Date\n",
                "type": "Date -> State"
            }
        ],
        "binops": []
    },
    {
        "name": "DateTimePicker.Config",
        "comment": " DateTimePicker configuration\n\n# Configuration\n@docs Config, DatePickerConfig, TimePickerConfig, defaultDatePickerConfig, defaultTimePickerConfig, defaultDateTimePickerConfig, NameOfDays, TimePickerType, Type\n\n",
        "unions": [
            {
                "name": "TimePickerType",
                "comment": " The type of time picker, can be either Digital or Analog\n",
                "args": [],
                "cases": [
                    [
                        "Digital",
                        []
                    ],
                    [
                        "Analog",
                        []
                    ]
                ]
            },
            {
                "name": "Type",
                "comment": " The type of picker (for Internal Use)\n",
                "args": [
                    "msg"
                ],
                "cases": [
                    [
                        "DateType",
                        [
                            "Config (DatePickerConfig {}) msg"
                        ]
                    ],
                    [
                        "DateTimeType",
                        [
                            "Config (DatePickerConfig TimePickerConfig) msg"
                        ]
                    ],
                    [
                        "TimeType",
                        [
                            "Config TimePickerConfig msg"
                        ]
                    ]
                ]
            }
        ],
        "aliases": [
            {
                "name": "Config",
                "comment": " Configuration\n\n * `onChange` is the message for when the selected value and internal `State` in the date picker has changed.\n * `dateFormatter` is a Date to string formatter used to display the date in the input text\n * `dateTimeFormatter` is a Date to string formatter used to display the date in the footer section.\n * `autoClose` is a flag to indicate whether the dialog should be automatically closed when a date and/or time is selected.\n",
                "args": [
                    "otherConfig",
                    "msg"
                ],
                "type": "{ otherConfig | onChange : State -> Maybe Date -> msg, dateFormatter : Date -> String, dateTimeFormatter : Date -> String, autoClose : Bool }"
            },
            {
                "name": "DatePickerConfig",
                "comment": " Configuration for the DatePicker\n\n * `nameOfDays` is the configuration for name of days in a week.\n * `firstDayOfWeek` is the first day of the week.\n * `formatter` is the Date to String formatter for the input value.\n * `titleFormatter` is the Date to String formatter for the dialog's title.\n * `fullDateFormatter` is the Date to String formatter for the dialog's footer.\n\n",
                "args": [
                    "otherConfig"
                ],
                "type": "{ otherConfig | nameOfDays : NameOfDays, firstDayOfWeek : Day, titleFormatter : Date -> String, fullDateFormatter : Date -> String }"
            },
            {
                "name": "NameOfDays",
                "comment": " Configuration for name of days in a week.\n\nThis will be displayed as the calendar's header.\nDefault:\n * sunday = \"Su\"\n * monday = \"Mo\"\n * tuesday = \"Tu\"\n * wednesday = \"We\"\n * thursday = \"Th\"\n * friday = \"Fr\"\n * saturday = \"Sa\"\n",
                "args": [],
                "type": "{ sunday : String, monday : String, tuesday : String, wednesday : String, thursday : String, friday : String, saturday : String }"
            },
            {
                "name": "TimePickerConfig",
                "comment": " Configuration for TimePicker\n\n * `timeFormatter` is the time to String formatter.\n * `timePickerType` is the type of the time picker, either Analog or Digital\n",
                "args": [],
                "type": "{ timeFormatter : Date -> String, timePickerType : TimePickerType }"
            }
        ],
        "values": [
            {
                "name": "defaultDatePickerConfig",
                "comment": " Default configuration for DatePicker\n\n * `onChange` No Default\n * `dateFormatter` Default: `\"%m/%d/%Y\"`\n * `dateTimeFormatter` Default: `\"%m/%d/%Y %I:%M %p\"`\n * `autoClose` Default: True\n * `nameOfDays` see `NameOfDays` for the default values.\n * `firstDayOfWeek` Default: Sunday.\n * `titleFormatter`  Default: `\"%B %Y\"`\n * `fullDateFormatter` Default:  `\"%A, %B %d, %Y\"`\n",
                "type": "(State -> Maybe Date -> msg) -> Config (DatePickerConfig {}) msg"
            },
            {
                "name": "defaultDateTimePickerConfig",
                "comment": " Default configuration for DateTimePicker\n\n * `onChange` No Default\n * `dateFormatter` Default: `\"%m/%d/%Y\"`\n * `dateTimeFormatter` Default: `\"%m/%d/%Y %I:%M %p\"`\n * `autoClose` Default: False\n * `nameOfDays` see `NameOfDays` for the default values.\n * `firstDayOfWeek` Default: Sunday.\n * `titleFormatter`  Default: `\"%B %Y\"`\n * `fullDateFormatter` Default:  `\"%A, %B %d, %Y\"`\n * `timeFormatter` Default: `\"%I:%M %p\"`\n * `timePickerType` Default:  Analog\n",
                "type": "(State -> Maybe Date -> msg) -> Config (DatePickerConfig TimePickerConfig) msg"
            },
            {
                "name": "defaultTimePickerConfig",
                "comment": " Default configuration for TimePicker\n  * `onChange` No Default\n  * `dateFormatter` Default: `\"%m/%d/%Y\"`\n  * `dateTimeFormatter` Default: `\"%m/%d/%Y %I:%M %p\"`\n  * `autoClose` Default: False\n  * `timeFormatter` Default: `\"%I:%M %p\"`\n  * `timePickerType` Default: Analog\n",
                "type": "(State -> Maybe Date -> msg) -> Config TimePickerConfig msg"
            }
        ],
        "binops": []
    },
    {
        "name": "DateTimePicker.Css",
        "comment": " DateTimePicker.Css\n\nUsing [rtfeldman/elm-css](http://package.elm-lang.org/packages/rtfeldman/elm-css/latest)\nInclude this in your elm-css port module to be included in your project's css file.\n\n# Css\n@docs css\n",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "css",
                "comment": " DatePicker's Css Stylesheet\n",
                "type": "Stylesheet"
            }
        ],
        "binops": []
    }
]