[{"name":"DateRangePicker","comment":" A configurable date range picker widget.\n\n\n# Configuration\n\n@docs Config, configure, defaultConfig\n\n\n# State\n\n@docs State, init, initToday, getValue, disable, isDisabled, open, isOpened, setRange\n\n\n# View\n\n@docs view, panel\n\n\n# Subscriptions\n\n@docs subscriptions\n\n","unions":[{"name":"State","comment":" DateRangePicker state.\n\nUse helpers to set or retrieve values out of it.\n\n","args":[],"cases":[]}],"aliases":[{"name":"Config","comment":" DateRangePicker configuration:\n\n  - `allowFuture`: Allow picking a range in the future\n  - `applyRangeImmediately`: Apply predefined range immediately when clicked\n  - `weekdayFormatter`: How to format a [`Time.Weekday`](https://package.elm-lang.org/packages/elm/time/latest/Time#weeks-and-months)\n  - `monthFormatter`: How to format a [`Time.Month`](https://package.elm-lang.org/packages/elm/time/latest/Time#weeks-and-months)\n  - `noRangeCaption`: The String to render when no range is set\n  - `weeksStartOn`: The [`Time.Weekday`](https://package.elm-lang.org/packages/elm/time/latest/Time#weeks-and-months) weeks start on (eg. `Time.Mon` or `Time.Sun`)\n\n","args":[],"type":"{ allowFuture : Basics.Bool, applyRangeImmediately : Basics.Bool, weekdayFormatter : Time.Weekday -> String.String, monthFormatter : Time.Month -> String.String, noRangeCaption : String.String, weeksStartOn : Time.Weekday }"}],"values":[{"name":"configure","comment":" Helper for selectively altering defaultConfig:\n\n    configure (\\default -> { default | weeksStartOn = Time.Sun })\n        |> init Nothing\n\n","type":"(DateRangePicker.Config -> DateRangePicker.Config) -> DateRangePicker.Config"},{"name":"defaultConfig","comment":" A Config featuring the following default values:\n\n    { allowFuture = True\n    , applyRangeImmediately = True\n    , weekdayFormatter = Helpers.weekdayToString\n    , monthFormatter = Helpers.monthToString\n    , noRangeCaption = \"N/A\"\n    , weeksStartOn = Time.Mon\n    }\n\n","type":"DateRangePicker.Config"},{"name":"disable","comment":" Disable or enable a DateRangePicker.\n","type":"Basics.Bool -> DateRangePicker.State -> DateRangePicker.State"},{"name":"getValue","comment":" Get the current DateRangePicker.Range of the DateRangePicker, if any.\n","type":"DateRangePicker.State -> Maybe.Maybe DateRangePicker.Range.Range"},{"name":"init","comment":" Initializes a State with the current day represented as a Posix.\n\n    import Time\n\n    init defaultConfig Nothing (Time.millisToPosix 0)\n\n","type":"DateRangePicker.Config -> Maybe.Maybe DateRangePicker.Range.Range -> Time.Posix -> DateRangePicker.State"},{"name":"initToday","comment":" Initializes a State using a Task for fetching today's date.\n\n    import Task\n\n    type Msg\n      = DateRangePickerCreated State\n\n    initToday defaultConfig Nothing\n      |> Task.perform DateRangePickerCreated\n\n","type":"DateRangePicker.Config -> Maybe.Maybe DateRangePicker.Range.Range -> Task.Task Basics.Never DateRangePicker.State"},{"name":"isDisabled","comment":" Checks if the DateRangePicker is currently disabled.\n","type":"DateRangePicker.State -> Basics.Bool"},{"name":"isOpened","comment":" Checks if the DateRangePicker is currently opened.\n","type":"DateRangePicker.State -> Basics.Bool"},{"name":"open","comment":" Open or close a DateRangePicker.\n","type":"Basics.Bool -> DateRangePicker.State -> DateRangePicker.State"},{"name":"panel","comment":" A DateRangePicker panel view.\n\nThe panel is the content of the window containing the ranges and the two calendars.\nThis is useful when you don't need to deal with the clickable date input.\n\nUsage is similar to [`view`](#view).\n\n","type":"(DateRangePicker.State -> msg) -> DateRangePicker.State -> Html.Html msg"},{"name":"setRange","comment":" Assign a DateRangePicker.Range value to the DateRangePicker.\n\n    import DateRangePicker.Range exposing (Range)\n\n    state |> setRange (Range begin end)\n\n","type":"Maybe.Maybe DateRangePicker.Range.Range -> DateRangePicker.State -> DateRangePicker.State"},{"name":"subscriptions","comment":" DateRangePicker subscriptions. They're useful if you want an opened DateRangePicker\npanel to be closed when clicking outside of it.\n","type":"(DateRangePicker.State -> msg) -> DateRangePicker.State -> Platform.Sub.Sub msg"},{"name":"view","comment":" The main DateRangePicker view.\n\nIf you only need the panel content, have a look at [`panel`](#panel).\n\n","type":"(DateRangePicker.State -> msg) -> DateRangePicker.State -> Html.Html msg"}],"binops":[]},{"name":"DateRangePicker.Range","comment":" Date range management.\n\n@docs Range, between, days, decode, encode, format, fromString, toString\n\n","unions":[],"aliases":[{"name":"Range","comment":" A time range between two\n[`Time.Posix`](https://package.elm-lang.org/packages/elm/time/latest/Time#Posix).\n","args":[],"type":"{ begin : Time.Posix, end : Time.Posix }"}],"values":[{"name":"between","comment":" Checks if a [`Time.Posix`](https://package.elm-lang.org/packages/elm/time/latest/TimePosix)\nis comprised within a [`Range`](#Range).\n","type":"DateRangePicker.Range.Range -> Time.Posix -> Basics.Bool"},{"name":"days","comment":" Computes the number of days in a [`Range`](#Range).\n","type":"DateRangePicker.Range.Range -> Basics.Int"},{"name":"decode","comment":" Decodes a [`Range`](#Range) from JSON.\n","type":"Json.Decode.Decoder DateRangePicker.Range.Range"},{"name":"encode","comment":" Encodes a [`Range`](#Range) to JSON.\n","type":"DateRangePicker.Range.Range -> Json.Encode.Value"},{"name":"format","comment":" Formats a [`Range`](#Range) in simple fashion.\n","type":"Time.Zone -> DateRangePicker.Range.Range -> String.String"},{"name":"fromString","comment":" Extract a [`Range`](#Range) from a String, where the two Posix timestamps are\nencoded as UTC to Iso8601 format and joined with a `;` character.\n","type":"String.String -> Maybe.Maybe DateRangePicker.Range.Range"},{"name":"toString","comment":" Turns a [`Range`](#Range) into a String, where the two Posix timestamps are\nencoded as UTC to Iso8601 format and joined with a `;` character.\n","type":"DateRangePicker.Range.Range -> String.String"}],"binops":[]}]