[{"name":"Prima.Pyxis.Accordion","comment":" Creates an Accordion component by using predefined Html syntax.\n\n\n# Configuration\n\n@docs Config, State\n\n\n# Configuration Helpers\n\n@docs baseConfig, lightConfig, darkConfig, state\n\n\n# Helpers\n\n@docs open, close\n\n\n# Render\n\n@docs render\n\n","unions":[{"name":"Config","comment":" Represents the static configuration of the component. Values\npassed in are no more modified by the setter.\n","args":["msg"],"cases":[]},{"name":"State","comment":" Represents the state of the component. Values passed in are\nsusceptible to change.\n","args":["msg"],"cases":[]}],"aliases":[],"values":[{"name":"baseConfig","comment":" Returns the configuration for a Base accordion skin.\n\n    ...\n\n    type alias Slug =\n        String\n\n    type Msg =\n        Toggled Slug Bool\n\n    ...\n\n    myAccordionConfig : Accordion.Config\n    myAccordionConfig =\n    let\n        slug =\n            \"my_accordion_slug\"\n\n        tagger =\n            Toggled\n    in\n        Accordion.baseConfig slug tagger\n\n    ...\n\n","type":"String.String -> (String.String -> Basics.Bool -> msg) -> Prima.Pyxis.Accordion.Config msg"},{"name":"close","comment":" Closes the Accordion to hide it's content.\n\n    updatedAccordionState =\n        Accordion.close myAccordionState\n\n","type":"Prima.Pyxis.Accordion.State msg -> Prima.Pyxis.Accordion.State msg"},{"name":"darkConfig","comment":" The same as baseConfig but with a Dark skin.\n","type":"String.String -> (String.String -> Basics.Bool -> msg) -> Prima.Pyxis.Accordion.Config msg"},{"name":"lightConfig","comment":" The same as baseConfig but with a Light skin.\n","type":"String.String -> (String.String -> Basics.Bool -> msg) -> Prima.Pyxis.Accordion.Config msg"},{"name":"open","comment":" Opens the Accordion to reveal it's content.\n\n    updatedAccordionState =\n        Accordion.open myAccordionState\n\n","type":"Prima.Pyxis.Accordion.State msg -> Prima.Pyxis.Accordion.State msg"},{"name":"render","comment":" Renders the Accordion component by receiving is State and Config.\n\n    Accordion.render myAccordionState myAccordionConfiguration\n\n","type":"Prima.Pyxis.Accordion.State msg -> Prima.Pyxis.Accordion.Config msg -> Html.Html msg"},{"name":"state","comment":" Returns the basic state of the component.\n\n    ...\n\n    myAccordionState : Accordion.State\n    myAccordionState =\n        let\n            isOpen =\n                False\n\n            title =\n                \"My title\"\n\n            content =\n                (List.singleton <<  text) \"Lorem ipsum dolor sit amet.\"\n        in\n        Accordion.state isOpen title content\n\n    ...\n\n","type":"Basics.Bool -> String.String -> List.List (Html.Html msg) -> Prima.Pyxis.Accordion.State msg"}],"binops":[]},{"name":"Prima.Pyxis.AtrTable","comment":" Creates a specific kind of table, the ATR table component.\nUses Prima.Pyxis.Table.Table under the hood.\n\nWarning. This documentation requires knownledge of Insurance domain.\n\n\n# Configuration\n\n@docs Config, AtrDetail, Msg\n\n\n# Configuration Helpers\n\n@docs init, atr, update\n\n\n# Helpers\n\n@docs paritaria, paritariaMista, paritariaCose, paritariaPersone, principale, principaleMista, principaleCose, principalePersone\n\n\n# Render\n\n@docs render\n\n","unions":[{"name":"AtrDetail","comment":" Represents a detail for an ATR which contains information about\nthe number of accidents in a specific year.\n","args":[],"cases":[]},{"name":"Config","comment":" Defines the configuration of an Atr table\n","args":[],"cases":[]},{"name":"Msg","comment":" Represents a changing AtrDetail action\n","args":[],"cases":[]}],"aliases":[],"values":[{"name":"atr","comment":" Creates an empty AtrDetail. Each detail is identified by an year and representation of accidents occurred\nduring it. All setters methods are pipeable.\n","type":"Basics.Int -> Prima.Pyxis.AtrTable.AtrDetail"},{"name":"init","comment":" Returns a Tuple containing the Config and a possible batch of side effects to\nbe managed by parent application. Requires a list of AtrDetail.\n","type":"Basics.Bool -> List.List Prima.Pyxis.AtrTable.AtrDetail -> ( Prima.Pyxis.AtrTable.Config, Platform.Cmd.Cmd Prima.Pyxis.AtrTable.Msg )"},{"name":"paritaria","comment":" Sets the Responsabilità Paritaria value for a specific AtrDetail.\n","type":"Maybe.Maybe String.String -> Prima.Pyxis.AtrTable.AtrDetail -> Prima.Pyxis.AtrTable.AtrDetail"},{"name":"paritariaCose","comment":" Sets the Responsabilità Paritaria Cose value for a specific AtrDetail.\n","type":"Maybe.Maybe String.String -> Prima.Pyxis.AtrTable.AtrDetail -> Prima.Pyxis.AtrTable.AtrDetail"},{"name":"paritariaMista","comment":" Sets the Responsabilità Paritaria Mista value for a specific AtrDetail.\n","type":"Maybe.Maybe String.String -> Prima.Pyxis.AtrTable.AtrDetail -> Prima.Pyxis.AtrTable.AtrDetail"},{"name":"paritariaPersone","comment":" Sets the Responsabilità Paritaria Persone value for a specific AtrDetail.\n","type":"Maybe.Maybe String.String -> Prima.Pyxis.AtrTable.AtrDetail -> Prima.Pyxis.AtrTable.AtrDetail"},{"name":"principale","comment":" Sets the Responsabilità Principale value for a specific AtrDetail.\n","type":"Maybe.Maybe String.String -> Prima.Pyxis.AtrTable.AtrDetail -> Prima.Pyxis.AtrTable.AtrDetail"},{"name":"principaleCose","comment":" Sets the Responsabilità Principale Cose value for a specific AtrDetail.\n","type":"Maybe.Maybe String.String -> Prima.Pyxis.AtrTable.AtrDetail -> Prima.Pyxis.AtrTable.AtrDetail"},{"name":"principaleMista","comment":" Sets the Responsabilità Principale Mista value for a specific AtrDetail.\n","type":"Maybe.Maybe String.String -> Prima.Pyxis.AtrTable.AtrDetail -> Prima.Pyxis.AtrTable.AtrDetail"},{"name":"principalePersone","comment":" Sets the Responsabilità Principale Persone value for a specific AtrDetail.\n","type":"Maybe.Maybe String.String -> Prima.Pyxis.AtrTable.AtrDetail -> Prima.Pyxis.AtrTable.AtrDetail"},{"name":"render","comment":" Renders the table by receiving a Configuration. The columns of this table are expressed by the length of the AtrDetail list.\n","type":"Prima.Pyxis.AtrTable.Config -> Html.Html Prima.Pyxis.AtrTable.Msg"},{"name":"update","comment":" Updates the configuration of the Atr table.\nReturns a tuple containing the new Config.\n","type":"Prima.Pyxis.AtrTable.Msg -> Prima.Pyxis.AtrTable.Config -> ( Prima.Pyxis.AtrTable.Config, Platform.Cmd.Cmd Prima.Pyxis.AtrTable.Msg, List.List Prima.Pyxis.AtrTable.AtrDetail )"}],"binops":[]},{"name":"Prima.Pyxis.DatePicker","comment":"\n\n@docs init, Model, Msg, update, view, selectedDate\n\n","unions":[{"name":"Msg","comment":" ","args":[],"cases":[["Noop",[]],["YearSelection",[]],["DaySelection",[]],["PrevMonth",[]],["NextMonth",[]],["SelectYear",["Basics.Int"]],["SelectDay",["Basics.Int"]]]}],"aliases":[{"name":"Model","comment":" ","args":[],"type":"{ date : Date.Date, selectingYear : Basics.Bool, daysPickerRange : ( Date.Date, Date.Date ) }"}],"values":[{"name":"init","comment":" Get initial time picker model\n","type":"Date.Date -> ( Date.Date, Date.Date ) -> Prima.Pyxis.DatePicker.Model"},{"name":"selectedDate","comment":" Returns currently selected date\n","type":"Prima.Pyxis.DatePicker.Model -> Date.Date"},{"name":"update","comment":" ","type":"Prima.Pyxis.DatePicker.Msg -> Prima.Pyxis.DatePicker.Model -> Prima.Pyxis.DatePicker.Model"},{"name":"view","comment":" ","type":"Prima.Pyxis.DatePicker.Model -> Html.Html Prima.Pyxis.DatePicker.Msg"}],"binops":[]},{"name":"Prima.Pyxis.Form","comment":" Allows to create a Form and it's fields using predefined Html syntax.\n\n\n# Form Configuration\n\n@docs Form, FormFieldGroup, FormRenderer, Label, Slug, Value\n\n\n# Form Configuration Helpers\n\n@docs init, addFields, setAsPristine, setAsTouched, setAsSubmitted\n\n\n# Fields Configuration\n\n@docs FormField\n\n\n# Input\n\n@docs textConfig, passwordConfig, textareaConfig\n\n\n# Checkbox\n\n@docs checkboxConfig, checkboxOption\n\n\n# Radio\n\n@docs radioConfig, radioOption\n\n\n# Select\n\n@docs selectConfig, selectOption\n\n\n# Datepicker\n\n@docs datepickerConfig\n\n\n# Autocomplete\n\n@docs autocompleteConfig, autocompleteOption\n\n\n# Pure Html\n\n@docs pureHtmlConfig\n\n\n# Fields Helpers\n\n@docs isValid, isPristine\n\n\n# Render\n\n@docs render, renderField, renderFieldWithGroup\n\n\n# Render Helpers\n\n@docs prependGroup, appendGroup\n\n","unions":[{"name":"Form","comment":" Represents the `Form` configuration.\n","args":["model","msg"],"cases":[]},{"name":"FormField","comment":" Represents the configuration of a single form field.\n","args":["model","msg"],"cases":[["FormField",["Prima.Pyxis.Form.FormFieldConfig model msg"]]]},{"name":"FormFieldGroup","comment":" Represents the type of group which can wrap a form field.\nUsed to add a boxed icon in a form field (for instance the calendar icon of the datepicker).\n","args":["msg"],"cases":[]}],"aliases":[{"name":"FormRenderer","comment":" A list in which each item represents a row of the form.\nEach row has is own list of fields (`FormField model msg`) which\nwill be rendered by the mapper function (`FormField model msg -> List (Html msg)`).\n","args":["model","msg"],"type":"( Prima.Pyxis.Form.FormField model msg -> List.List (Html.Html msg), List.List (Prima.Pyxis.Form.FormField model msg) )"},{"name":"Label","comment":" Alias for String. Useful to have easy-to-read signatures.\n","args":[],"type":"String.String"},{"name":"Slug","comment":" Alias for String. Useful to have easy-to-read signatures.\n","args":[],"type":"String.String"},{"name":"Value","comment":" Alias for String. Useful to have easy-to-read signatures.\n","args":[],"type":"String.String"}],"values":[{"name":"addFields","comment":" Add rows of fields to the form.\n\n    --\n    import Prima.Pyxis.Form as Form\n    import Prima.Pyxis.Form.Event as Event\n\n    ...\n\n    type alias Model =\n        { data : FormData\n        , form : Form FormData Msg\n        }\n\n    type alias FormData =\n        { username : Maybe String\n        }\n\n    type Msg\n        = UpdateUsername (Maybe String)\n\n    ...\n\n    usernameConfig : FormField FormData Msg\n    usernameConfig =\n        Form.textConfig\n            \"username\"\n            (Just \"Username\")\n            [ minlength 3, maxlength 12 ]\n            .username\n            [ Event.onInput UpdateUsername ]\n            [ NotEmpty \"Username must not be blank.\"\n            ]\n\n    ...\n\n    view : Model -> Html Msg\n    view ({ form, data } as model) =\n        ( Form.renderField form data, usernameConfig )\n            |> Form.addFields form\n            |> Form.render\n\n","type":"Prima.Pyxis.Form.Form model msg -> List.List (Prima.Pyxis.Form.FormRenderer model msg) -> Prima.Pyxis.Form.Form model msg"},{"name":"appendGroup","comment":" Represents an html which appends to the form field.\n","type":"List.List (Html.Html msg) -> Prima.Pyxis.Form.FormFieldGroup msg"},{"name":"autocompleteConfig","comment":" Creates an autocomplete field.\nThis field can handle only onSelect, onAutocompleteFilter, onFocus and onBlur events. Other events will be ignored.\n\n    --\n    import Prima.Pyxis.Form as Form exposing (FormField)\n    import Prima.Pyxis.Form.Event as Event\n    import Tuple\n    ...\n\n    type alias Msg\n        = OnSelect (Maybe String)\n        | OnFilter (Maybe String)\n\n    type alias Model =\n        { empireFilter : Maybe String\n        , empire : Maybe String\n        , isOpen : Bool\n        }\n\n    ...\n\n    empire : Model -> FormField Model Msg\n    empire model =\n        let\n            filter : String\n            filter =\n                Maybe.withDefault \"\" model.empireFilter\n\n            options : List AutocompleteOption\n            options =\n                [ (\"Roman Empire\", \"roman\")\n                , (\"Ottoman Empire\", \"ottoman\")\n                , (\"French Empire\", \"french\")\n                , (\"British Empire\", \"british\")\n                ]\n                |> List.filter (String.contains filter << Tuple.first)\n                |> List.map (\\(label, slug) -> Form.autocompleteOption label slug)\n        in\n        Form.autocompleteConfig\n            \"empire\"\n            (Just \"empire\")\n            model.isOpen\n            (Just \"No results\")\n            []\n            .empireFilter\n            .empire\n            [ Event.onAutocompleteFilter OnFilter, Event.onSelect OnSelect ]\n            options\n            []\n\n","type":"String.String -> Maybe.Maybe String.String -> Basics.Bool -> Maybe.Maybe String.String -> List.List (Html.Attribute msg) -> (model -> Maybe.Maybe Prima.Pyxis.Form.Value) -> (model -> Maybe.Maybe Prima.Pyxis.Form.Value) -> List.List (Prima.Pyxis.Form.Event.Event msg) -> List.List Prima.Pyxis.Form.AutocompleteOption -> List.List (Prima.Pyxis.Form.Validation.Validation model) -> Prima.Pyxis.Form.FormField model msg"},{"name":"autocompleteOption","comment":" Creates an autocomplete option.\n","type":"Prima.Pyxis.Form.Label -> Prima.Pyxis.Form.Slug -> Prima.Pyxis.Form.AutocompleteOption"},{"name":"checkboxConfig","comment":" Creates a checkbox field.\nThis field can handle only onCheck event. Other events will be ignored.\n\n    --\n    import Prima.Pyxis.Form as Form exposing (FormField, Label, Slug, CheckboxOption)\n    import Prima.Pyxis.Form.Event as Event\n\n    ...\n\n    type alias Msg\n        = OnCheck ( Slug, Bool )\n\n    type alias Model =\n        { country : Maybe String\n        , countries: List (Label, Slug, Bool)\n        }\n\n    ...\n\n    countries : Model -> FormField Model Msg\n    countries model =\n        let\n            reader : (Model -> List (Slug, Bool))\n            reader =\n                (List.map (\\( _, slug, checked ) -> ( slug, checked )) << .countries)\n\n            options : List CheckboxOption\n            options =\n                List.map (( label, slug, isChecked ) -> Form.checkboxOption label slug isChecked) model.countries\n        in\n        Form.checkboxConfig\n            \"countries\"\n            (Just \"Countries\")\n            []\n            reader\n            [ Event.onCheck OnCheck ]\n            options\n            []\n\n","type":"Prima.Pyxis.Form.Slug -> Maybe.Maybe Prima.Pyxis.Form.Label -> List.List (Html.Attribute msg) -> (model -> List.List ( Prima.Pyxis.Form.Slug, Basics.Bool )) -> List.List (Prima.Pyxis.Form.Event.Event msg) -> List.List Prima.Pyxis.Form.CheckboxOption -> List.List (Prima.Pyxis.Form.Validation.Validation model) -> Prima.Pyxis.Form.FormField model msg"},{"name":"checkboxOption","comment":" Creates a radio option.\n","type":"Prima.Pyxis.Form.Label -> Prima.Pyxis.Form.Slug -> Basics.Bool -> Prima.Pyxis.Form.CheckboxOption"},{"name":"datepickerConfig","comment":" Creates a datepicker field.\nThis field can handle only onInput event. Other events will be ignored.\n\n    --\n    import Prima.Pyxis.Form as Form exposing (FormField)\n    import Prima.Pyxis.Form.Event as Event\n    import Prima.Pyxis.DatePicker as DatePicker\n    ...\n\n    type alias Msg\n        = OnInput (Maybe String)\n        | OnDatePickerChange DatePicker.Msg\n\n    type alias Model =\n        { datePicker : DatePicker.Model\n        , birthDate : Maybe String\n        , isDatePickerOpen : Bool\n        }\n\n    ...\n\n    dateOfBirth : Model -> FormField Model Msg\n    dateOfBirth model =\n        Form.datepickerConfig\n            \"birthdate\"\n            (Just \"Date of Birth\")\n            []\n            .birthDate\n            OnDatePickerChange\n            [ Event.onInput OnInput ]\n            model.datePicker\n            model.isDatePickerOpen\n            []\n\n","type":"Prima.Pyxis.Form.Slug -> Maybe.Maybe Prima.Pyxis.Form.Label -> List.List (Html.Attribute msg) -> (model -> Maybe.Maybe Prima.Pyxis.Form.Value) -> (Prima.Pyxis.DatePicker.Msg -> msg) -> List.List (Prima.Pyxis.Form.Event.Event msg) -> Prima.Pyxis.DatePicker.Model -> Basics.Bool -> List.List (Prima.Pyxis.Form.Validation.Validation model) -> Prima.Pyxis.Form.FormField model msg"},{"name":"init","comment":" Creates an empty, pristine form.\n","type":"Prima.Pyxis.Form.Form model msg"},{"name":"isPristine","comment":" Check if a `FormField` is pristine\n","type":"model -> Prima.Pyxis.Form.FormField model msg -> Basics.Bool"},{"name":"isValid","comment":" Check if a `FormField` is valid\n","type":"model -> Prima.Pyxis.Form.FormField model msg -> Basics.Bool"},{"name":"passwordConfig","comment":" Creates a password text field. Same configuration as `textConfig`.\n","type":"Prima.Pyxis.Form.Slug -> Maybe.Maybe Prima.Pyxis.Form.Label -> List.List (Html.Attribute msg) -> (model -> Maybe.Maybe Prima.Pyxis.Form.Value) -> List.List (Prima.Pyxis.Form.Event.Event msg) -> List.List (Prima.Pyxis.Form.Validation.Validation model) -> Prima.Pyxis.Form.FormField model msg"},{"name":"prependGroup","comment":" Represents an html which prepends to the form field.\n","type":"List.List (Html.Html msg) -> Prima.Pyxis.Form.FormFieldGroup msg"},{"name":"pureHtmlConfig","comment":" Creates a pure html field. No events accepeted.\n\n    --\n    import Prima.Pyxis.Form as Form exposing (FormField)\n\n    ...\n\n    loremIpsum : FormField Model Msg\n    loremIpsum =\n        Form.pureHtmlConfig [ text \"Lorem ipsum dolor sit amet\" ]\n\n","type":"List.List (Html.Html msg) -> Prima.Pyxis.Form.FormField model msg"},{"name":"radioConfig","comment":" Creates a radio field.\nThis field can handle only onSelect event. Other events will be ignored.\n\n    --\n    import Prima.Pyxis.Form as Form exposing (FormField, RadioOption)\n    import Prima.Pyxis.Form.Event as Event\n\n    ...\n\n    type alias Msg\n        = OnSelect (Maybe String)\n\n    type alias Model =\n        { gender : Maybe String }\n\n    ...\n\n    genderConfig : FormField Model Msg\n    genderConfig =\n        let\n            options : List RadioOption\n            options =\n                [ Form.radioOption \"Male\" \"male\", Form.radioOption \"Female\", \"female\" ]\n        in\n        Form.radioConfig\n            \"gender\"\n            (Just \"Gender\")\n            []\n            .gender\n            [ Event.onSelect OnSelect ]\n            options\n            []\n\n","type":"Prima.Pyxis.Form.Slug -> Maybe.Maybe Prima.Pyxis.Form.Label -> List.List (Html.Attribute msg) -> (model -> Maybe.Maybe Prima.Pyxis.Form.Value) -> List.List (Prima.Pyxis.Form.Event.Event msg) -> List.List Prima.Pyxis.Form.RadioOption -> List.List (Prima.Pyxis.Form.Validation.Validation model) -> Prima.Pyxis.Form.FormField model msg"},{"name":"radioOption","comment":" Creates a radio option.\n","type":"Prima.Pyxis.Form.Label -> Prima.Pyxis.Form.Slug -> Prima.Pyxis.Form.RadioOption"},{"name":"render","comment":" Renders a form with all it's fields.\nRequires a `Form model msg` created via `Form.init` and `Form.addFields`.\n","type":"Prima.Pyxis.Form.Form model msg -> List.List (Html.Html msg)"},{"name":"renderField","comment":" Renders a field by receiving the `Form` and the `FormField` configuration.\n\n    --\n    import Html exposing (Html)\n    import Prima.Pyxis.Form as Form exposing (Form, FormField)\n    import FieldConfig exposing (usernameConfig)\n\n    ...\n\n    type Msg\n        = OnInput (Maybe String)\n\n    type alias Model =\n        { form : Form FormData Msg\n        , data : FormData\n        }\n\n    type alias FormData =\n        { username: Maybe String\n        }\n\n    ...\n\n    view : Model -> Html Msg\n    view model =\n        ( Form.renderField model.form model.data, [ usernameConfig ] )\n            |> Form.render model.form\n\n","type":"Prima.Pyxis.Form.Form model msg -> model -> Prima.Pyxis.Form.FormField model msg -> List.List (Html.Html msg)"},{"name":"renderFieldWithGroup","comment":" Renders a field by receiving the `Form`, the `FormFieldGroup`, and the `FormField` configuration.\nUseful to build a field with an icon to the left (prepend), or to the right (append).\nYou can pass any html to this function, but be careful, UI can be broken.\n\n    --\n    import Html exposing (Html, i)\n    import Html.Attributes exposing (class)\n    import Html.Events exposing (onClick)\n    import Prima.Pyxis.Form as Form exposing (Form, FormField)\n    import FieldConfig exposing (datePickerConfig)\n\n    ...\n\n    type Msg\n        = ToggleDatePicker\n\n    type alias Model =\n        { form : Form FormData Msg\n        , data : FormData\n        }\n\n    type alias FormData =\n        { birthDate: Maybe String\n        }\n\n    ...\n\n    datePickerIcon : Html Msg\n    datePickerIcon =\n        i\n            [ class \"a-icon a-icon-calendar cBrandAltDark\"\n            , onClick ToggleDatePicker\n            ]\n\n    view : Model -> Html Msg\n    view model =\n        ( Form.renderFieldWithGroup model.form model.data <| Form.appendGroup [ datePickerIcon ], [ datePickerConfig ] )\n            |> Form.render model.form\n\n","type":"Prima.Pyxis.Form.Form model msg -> model -> Prima.Pyxis.Form.FormFieldGroup msg -> Prima.Pyxis.Form.FormField model msg -> List.List (Html.Html msg)"},{"name":"selectConfig","comment":" Creates a select field. This field is a custom component on desktop devices. It fallbacks to a\nnative `Html Select` tag on mobile devices.\nInfact we need to express `isDisabled` flag as an `Html Attribute` and also as a parameter for this method.\n\nThis field can handle only onToggle, onInput, onSelect, onFocus and onBlur events. Other events will be ignored.\n\n    --\n    import Prima.Pyxis.Form as Form exposing (FormField, Label, Slug, SelectOption)\n    import Prima.Pyxis.Form.Event as Event\n    import Html.Attributes\n    ...\n\n    type alias Msg\n        = OnInput (Maybe String)\n        | OnToggle\n        | OnSelect (Maybe String)\n        | OnFocus\n        | OnBlur\n\n    type alias Model =\n        { city : Maybe String\n        , isOpen : Bool\n        , isDisabled : Bool\n        }\n\n    ...\n\n    cities : Model -> FormField Model Msg\n    cities model =\n        let\n            options : List SelectOption\n            options =\n                [ Form.selectOption \"Milan\" \"MI\", Form.selectOption \"Turin\" \"TO\", Form.selectOption \"Rome\" \"RO\" ]\n        in\n        Form.selectConfig\n            \"city\"\n            (Just \"City\")\n            model.isDisabled\n            model.isOpen\n            (Just \"Select a city\")\n            [ Html.Attributes.disabled model.isDisabled ]\n            .city\n            [ Event.onToggle OnToggle, Event.onInput OnInput, Event.onSelect OnSelect, Event.onFocus, Event.onBlur ]\n            options\n            [ NotEmpty \"Empty value is not acceptable.\" ]\n\n","type":"Prima.Pyxis.Form.Slug -> Maybe.Maybe Prima.Pyxis.Form.Label -> Basics.Bool -> Basics.Bool -> Maybe.Maybe String.String -> List.List (Html.Attribute msg) -> (model -> Maybe.Maybe Prima.Pyxis.Form.Value) -> List.List (Prima.Pyxis.Form.Event.Event msg) -> List.List Prima.Pyxis.Form.SelectOption -> List.List (Prima.Pyxis.Form.Validation.Validation model) -> Prima.Pyxis.Form.FormField model msg"},{"name":"selectOption","comment":" Creates a select option.\n","type":"Prima.Pyxis.Form.Label -> Prima.Pyxis.Form.Slug -> Prima.Pyxis.Form.SelectOption"},{"name":"setAsPristine","comment":" Sets the form to Pristine state.\n","type":"Prima.Pyxis.Form.Form model msg -> Prima.Pyxis.Form.Form model msg"},{"name":"setAsSubmitted","comment":" Sets the form to Submitted state. When submitted the form will eventually show errors.\n","type":"Prima.Pyxis.Form.Form model msg -> Prima.Pyxis.Form.Form model msg"},{"name":"setAsTouched","comment":" Sets the form to Touched state.\n","type":"Prima.Pyxis.Form.Form model msg -> Prima.Pyxis.Form.Form model msg"},{"name":"textConfig","comment":" Creates an input text field.\nThis field can handle only onInput, onFocus, onBlur events. Other events will be ignored.\n\n    --\n    import Prima.Pyxis.Form as Form exposing (FormField)\n    import Prima.Pyxis.Form.Event as Event\n\n    ...\n\n    type alias Msg\n        = OnInput (Maybe String)\n        | OnFocus\n        | OnBlur\n\n    type alias Model =\n        { username : Maybe String }\n\n    ...\n\n    usernameConfig : FormField Model Msg\n    usernameConfig =\n        Form.textConfig\n            \"username\"\n            (Just \"Username\")\n            [ minlength 3, maxlength 12 ]\n            .username\n            [ Event.onInput OnInput\n            , Event.onFocus OnFocus\n            , Event.onBlur OnBlur\n            ]\n            [ NotEmpty \"Empty value is not acceptable.\"\n            ]\n\n","type":"Prima.Pyxis.Form.Slug -> Maybe.Maybe Prima.Pyxis.Form.Label -> List.List (Html.Attribute msg) -> (model -> Maybe.Maybe Prima.Pyxis.Form.Value) -> List.List (Prima.Pyxis.Form.Event.Event msg) -> List.List (Prima.Pyxis.Form.Validation.Validation model) -> Prima.Pyxis.Form.FormField model msg"},{"name":"textareaConfig","comment":" Creates a texarea field. Same configuration as `textConfig`.\n","type":"Prima.Pyxis.Form.Slug -> Maybe.Maybe Prima.Pyxis.Form.Label -> List.List (Html.Attribute msg) -> (model -> Maybe.Maybe Prima.Pyxis.Form.Value) -> List.List (Prima.Pyxis.Form.Event.Event msg) -> List.List (Prima.Pyxis.Form.Validation.Validation model) -> Prima.Pyxis.Form.FormField model msg"}],"binops":[]},{"name":"Prima.Pyxis.Form.Event","comment":" Allows to control events of the `Form` package.\n\n\n# Configuration\n\n@docs Event, onInput, onSelect, onCheck, onAutocompleteFilter, onFocus, onBlur, onToggle\n\n\n# Helpers\n\n@docs onInputAttribute, onSelectAttribute, onCheckAttribute, onAutocompleteFilterAttribute, onFocusAttribute, onBlurAttribute, onToggleAttribute\n\n","unions":[{"name":"Event","comment":" Represents an Event listener over a field.\n","args":["msg"],"cases":[]}],"aliases":[],"values":[{"name":"onAutocompleteFilter","comment":" Creates an onInput, onKeyDown listener. Can be used to intercept autocomplete filtering.\nWorks on autocomplete component only.\n","type":"(Maybe.Maybe Prima.Pyxis.Form.Event.Value -> msg) -> Prima.Pyxis.Form.Event.Event msg"},{"name":"onAutocompleteFilterAttribute","comment":" Returns an appendable version of the listener\n","type":"List.List (Prima.Pyxis.Form.Event.Event msg) -> List.List (Html.Attribute msg)"},{"name":"onBlur","comment":" Creates an onBlur listener. Can be used by almost any field.\n","type":"msg -> Prima.Pyxis.Form.Event.Event msg"},{"name":"onBlurAttribute","comment":" Returns an appendable version of the listener\n","type":"List.List (Prima.Pyxis.Form.Event.Event msg) -> List.List (Html.Attribute msg)"},{"name":"onCheck","comment":" Creates an onChange listener. Can be used to intercept checkbox option selection.\nWorks on checkbox component only.\n","type":"(( Prima.Pyxis.Form.Event.Slug, Basics.Bool ) -> msg) -> Prima.Pyxis.Form.Event.Event msg"},{"name":"onCheckAttribute","comment":" Returns an appendable version of the listener\n","type":"Prima.Pyxis.Form.Event.Slug -> Basics.Bool -> List.List (Prima.Pyxis.Form.Event.Event msg) -> List.List (Html.Attribute msg)"},{"name":"onFocus","comment":" Creates an onFocus listener. Can be used by almost any field.\n","type":"msg -> Prima.Pyxis.Form.Event.Event msg"},{"name":"onFocusAttribute","comment":" Returns an appendable version of the listener\n","type":"List.List (Prima.Pyxis.Form.Event.Event msg) -> List.List (Html.Attribute msg)"},{"name":"onInput","comment":" Creates an onInput and onKeyDown listener. Can be used to intercept keydown on text fields.\nFor instance is used under the hood by the text component to write into the field.\n","type":"(Maybe.Maybe Prima.Pyxis.Form.Event.Value -> msg) -> Prima.Pyxis.Form.Event.Event msg"},{"name":"onInputAttribute","comment":" Returns an appendable version of the listener\n","type":"List.List (Prima.Pyxis.Form.Event.Event msg) -> List.List (Html.Attribute msg)"},{"name":"onSelect","comment":" Creates an onChange listener. Can be used to intercept click on various items.\nFor instance is used under the hood by the autocomplete component to select an option.\n","type":"(Maybe.Maybe Prima.Pyxis.Form.Event.Value -> msg) -> Prima.Pyxis.Form.Event.Event msg"},{"name":"onSelectAttribute","comment":" Returns an appendable version of the listener\n","type":"Prima.Pyxis.Form.Event.Slug -> List.List (Prima.Pyxis.Form.Event.Event msg) -> List.List (Html.Attribute msg)"},{"name":"onToggle","comment":" Can be used to intercept select component opening and closing.\nWorks on select component only.\n","type":"msg -> Prima.Pyxis.Form.Event.Event msg"},{"name":"onToggleAttribute","comment":" Returns an appendable version of the listener\n","type":"List.List (Prima.Pyxis.Form.Event.Event msg) -> List.List (Html.Attribute msg)"}],"binops":[]},{"name":"Prima.Pyxis.Form.Validation","comment":" Allows to create Validation model for the form.\n\n\n# Configuration\n\n@docs Validation\n\n\n# Helpers\n\n@docs pickError\n\n","unions":[{"name":"Validation","comment":" Represents a validation entry.\n","args":["model"],"cases":[["NotEmpty",["String.String"]],["Expression",["Regex.Regex","String.String"]],["Custom",["model -> Basics.Bool","String.String"]]]}],"aliases":[],"values":[{"name":"pickError","comment":" Pick the error string from a Validation model.\n","type":"Prima.Pyxis.Form.Validation.Validation model -> String.String"}],"binops":[]},{"name":"Prima.Pyxis.ListChooser","comment":" Creates a List of ChooserItems component.\n\n\n# Configuration\n\n@docs Config, State, Msg, ChooserItem, ViewMode\n\n\n# Configuration Helpers\n\n@docs config, init, update\n\n\n# Helpers\n\n@docs createItem, viewMode, viewModeAll, viewModePartial\n\n\n# Render\n\n@docs render\n\n","unions":[{"name":"ChooserItem","comment":" Represents a single item which can be selected via ListChooser's api.\n","args":[],"cases":[]},{"name":"Config","comment":" Represents the configuration of the component.\n","args":[],"cases":[]},{"name":"Msg","comment":" Represents an internal Msg for the component.\n","args":[],"cases":[]},{"name":"State","comment":" Represents the component State.\n","args":[],"cases":[]},{"name":"ViewMode","comment":" Defines the mode in which the list must be shown. It's possible to choose\nbetween the full list of items (`viewModeAll`) or a limited set of items (viewModePartial).\nIn this case the number of items to be shown is expressed via `itemsPerView`.\n","args":[],"cases":[]}],"aliases":[],"values":[{"name":"config","comment":" Creates the configuration of the ListChooser.\n\n    ...\n\n    myConfig : ListChooser.Config\n    myConfig =\n        let\n            itemsPerView =\n                5\n\n            viewAllLabel =\n                \"Show all\"\n\n            viewPartialLabel =\n                \"Show first \" ++ (String.fromInt itemsPerView) ++ \" elements\"\n        in\n        ListChooser.config itemsPerView viewAllLabel viewPartialLabel\n\n    ...\n\n","type":"Basics.Int -> String.String -> String.String -> Prima.Pyxis.ListChooser.Config"},{"name":"createItem","comment":" Creates a representation of a ChooserItem.\n\n    ...\n\n    myItem : ListChooser.ChooserItem\n    myItem =\n        let\n            slug =\n                \"my_item_slug\"\n\n            content =\n                \"Lorem ipsum dolor sit amet.\"\n\n            isSelected =\n                False\n        in\n        ListChooser.createItem slug content isSelected\n\n    ...\n\n","type":"Prima.Pyxis.ListChooser.Slug -> String.String -> Basics.Bool -> Prima.Pyxis.ListChooser.ChooserItem"},{"name":"init","comment":" Creates the first instance of a ListChooser.\n","type":"Prima.Pyxis.ListChooser.ViewMode -> List.List Prima.Pyxis.ListChooser.ChooserItem -> ( Prima.Pyxis.ListChooser.State, Platform.Cmd.Cmd Prima.Pyxis.ListChooser.Msg )"},{"name":"render","comment":" Renders the component by receiving a State and a Config.\n","type":"Prima.Pyxis.ListChooser.State -> Prima.Pyxis.ListChooser.Config -> Html.Html Prima.Pyxis.ListChooser.Msg"},{"name":"update","comment":" Updates the State of the component. Used by the parent application to\ndispatch messages to this component.\n","type":"Prima.Pyxis.ListChooser.Msg -> Prima.Pyxis.ListChooser.State -> ( Prima.Pyxis.ListChooser.State, Platform.Cmd.Cmd Prima.Pyxis.ListChooser.Msg )"},{"name":"viewMode","comment":" Sets the new ViewMode by updating the State.\n","type":"Prima.Pyxis.ListChooser.ViewMode -> Prima.Pyxis.ListChooser.State -> Prima.Pyxis.ListChooser.State"},{"name":"viewModeAll","comment":" Retrieves the all ViewMode constructor.\n","type":"Prima.Pyxis.ListChooser.ViewMode"},{"name":"viewModePartial","comment":" Retrieves the partial ViewMode constructor.\n","type":"Prima.Pyxis.ListChooser.ViewMode"}],"binops":[]},{"name":"Prima.Pyxis.Loader","comment":" Creates a Loader with svg animation.\n\n\n# Configuration\n\n@docs Config\n\n\n# Configuration Helpers\n\n@docs spinner, vehicle\n\n\n# Helpers\n\n@docs medium, small\n\n\n# Render\n\n@docs render\n\n","unions":[{"name":"Config","comment":" Represents the configuration of the loader.\n","args":[],"cases":[]}],"aliases":[],"values":[{"name":"medium","comment":" Define a Medium size for the loader. You can use it only with Spinner loader.\n","type":"Maybe.Maybe Prima.Pyxis.Loader.LoaderSize"},{"name":"render","comment":" Renders the loader and it's (infinite) animation.\n\n    import Prima.Pyxis.Loader as Loader\n\n    ...\n\n    Loader.render <| Loader.vehicle (Just \"Please wait...\")\n\n    ...\n\n","type":"Prima.Pyxis.Loader.Config -> Html.Html msg"},{"name":"small","comment":" Define a Small size for the loader. You can use it only with Spinner loader.\n","type":"Maybe.Maybe Prima.Pyxis.Loader.LoaderSize"},{"name":"spinner","comment":" Represents the configuration of the Spinner loader.\n\n    import Prima.Pyxis.Loader as Loader\n\n    ...\n\n    config : Loader.Config\n    config =\n        Loader.spinner Loader.small (Just \"Please wait...\")\n\n    ...\n\n","type":"Maybe.Maybe Prima.Pyxis.Loader.LoaderSize -> Maybe.Maybe String.String -> Prima.Pyxis.Loader.Config"},{"name":"vehicle","comment":" Represents the configuration of the Vehicle loader.\n\n    import Prima.Pyxis.Loader as Loader\n\n    ...\n\n    config : Loader.Config\n    config =\n        Loader.vehicle (Just \"Please wait...\")\n\n    ...\n\n","type":"Maybe.Maybe String.String -> Prima.Pyxis.Loader.Config"}],"binops":[]},{"name":"Prima.Pyxis.Message","comment":" Creates a Message component by using predefined Html syntax.\n\n\n# Configuration\n\n@docs Config\n\n\n# Configuration Helpers\n\n@docs messageErrorConfig, messageInfoConfig, messageSuccessConfig\n\n\n# Render\n\n@docs render\n\n","unions":[{"name":"Config","comment":" Represents the config of a Message\n","args":["msg"],"cases":[]}],"aliases":[],"values":[{"name":"messageErrorConfig","comment":" Defines the configuration of an Error message.\n","type":"List.List (Html.Html msg) -> Prima.Pyxis.Message.Config msg"},{"name":"messageInfoConfig","comment":" Defines the configuration of an Info message.\n","type":"List.List (Html.Html msg) -> Prima.Pyxis.Message.Config msg"},{"name":"messageSuccessConfig","comment":" Defines the configuration of a Success message.\n","type":"List.List (Html.Html msg) -> Prima.Pyxis.Message.Config msg"},{"name":"render","comment":" Renders the Message by receiving it's Config.\n","type":"Prima.Pyxis.Message.Config msg -> Html.Html msg"}],"binops":[]},{"name":"Prima.Pyxis.Table","comment":" Creates a customizable Table component by using predefined Html syntax.\n\n\n# Configuration\n\n@docs Config, TableType, State, Header, Row, Column, ColSpan\n\n\n# Configuration Helpers\n\n@docs config, initialState, defaultType, alternativeType\n\n\n# Configuration for Rows & Headers\n\n@docs header, row\n\n\n# Configuration for Columns\n\n@docs columnFloat, columnHtml, columnInteger, columnString\n\n\n# Helpers\n\n@docs sortByAsc, sortByDesc, sortByNothing\n\n\n# Render\n\n@docs render\n\n","unions":[{"name":"Column","comment":" Represents a Column which can manage a specific kind of data.\n","args":["msg"],"cases":[]},{"name":"Config","comment":" Represents the static configuration of the component.\n","args":["msg"],"cases":[]},{"name":"Header","comment":" Represents an Header of the table. It's gonna be rendered as a <th/> tag.\n","args":["msg"],"cases":[]},{"name":"Row","comment":" Represents a Row which contains a list of Columns.\n","args":["msg"],"cases":[]},{"name":"State","comment":" Represents the basic state of the component.\n","args":[],"cases":[]},{"name":"TableType","comment":" Represents the table skin.\n","args":[],"cases":[]}],"aliases":[{"name":"ColSpan","comment":" Represents the colSpan of a column. Alias for Integer.\n","args":[],"type":"Basics.Int"}],"values":[{"name":"alternativeType","comment":" Represents the Alternative table skin.\n","type":"Prima.Pyxis.Table.TableType"},{"name":"columnFloat","comment":" Creates a Column which content is Float primitive.\n","type":"Prima.Pyxis.Table.ColSpan -> Basics.Float -> Prima.Pyxis.Table.Column msg"},{"name":"columnHtml","comment":" Creates a Column which content is Html.\n","type":"Prima.Pyxis.Table.ColSpan -> List.List (Html.Html msg) -> Prima.Pyxis.Table.Column msg"},{"name":"columnInteger","comment":" Creates a Column which content is Integer primitive.\n","type":"Prima.Pyxis.Table.ColSpan -> Basics.Int -> Prima.Pyxis.Table.Column msg"},{"name":"columnString","comment":" Creates a Column which content is String primitive.\n","type":"Prima.Pyxis.Table.ColSpan -> String.String -> Prima.Pyxis.Table.Column msg"},{"name":"config","comment":" Returns the config of the component.\n\n    ...\n\n    type Msg =\n        SortBy String\n    ...\n\n    myTableConfig : Table.Config\n    myTableConfig =\n        let\n            headers : List (Table.Header Msg)\n            headers =\n                List.map (\\content -> Table.header (String.toLower content) content SortBy) [ \"Country\", \"Capital city\" ]\n\n            rows : List (Table.Row Msg)\n            rows =\n                List.map (Table.row << List.map Table.columnString ) [ [\"Italy\", \"Rome\"], [\"France\", \"Paris\"], [\"U.K.\", \"London\"] ]\n\n            alternateRows =\n                True\n\n        in\n        Table.config Table.defaultType headers rows alternateRows\n\n    ...\n\n","type":"Prima.Pyxis.Table.TableType -> List.List (Prima.Pyxis.Table.Header msg) -> List.List (Prima.Pyxis.Table.Row msg) -> Basics.Bool -> Prima.Pyxis.Table.Config msg"},{"name":"defaultType","comment":" Represents the Default table skin.\n","type":"Prima.Pyxis.Table.TableType"},{"name":"header","comment":" Creates and Header.\n\n    myHeader : String -> String -> (String -> Msg) -> Table.Header Msg\n    myHeader slug content sortByTagger =\n        Table.header slug content sortByTagger\n\n","type":"Prima.Pyxis.Table.Slug -> Prima.Pyxis.Table.Name -> Maybe.Maybe (Prima.Pyxis.Table.Slug -> msg) -> Prima.Pyxis.Table.Header msg"},{"name":"initialState","comment":" Creates an initial State with no sort applied.\n","type":"Prima.Pyxis.Table.State"},{"name":"render","comment":" Renders a Table by receiving a State and a Config\n","type":"Prima.Pyxis.Table.State -> Prima.Pyxis.Table.Config msg -> Html.Html msg"},{"name":"row","comment":" Creates a Row\n\n    myRow : List (Column Msg) -> Table.Row Msg\n    myRow columns =\n        Table.row columns\n\n","type":"List.List (Prima.Pyxis.Table.Column msg) -> Prima.Pyxis.Table.Row msg"},{"name":"sortByAsc","comment":" Sorts the column defined by Slug in Asc order.\n","type":"Prima.Pyxis.Table.Slug -> Prima.Pyxis.Table.State -> Prima.Pyxis.Table.State"},{"name":"sortByDesc","comment":" Sorts the column defined by Slug in Desc order.\n","type":"Prima.Pyxis.Table.Slug -> Prima.Pyxis.Table.State -> Prima.Pyxis.Table.State"},{"name":"sortByNothing","comment":" Unsets sorting for any column.\n","type":"Prima.Pyxis.Table.Slug -> Prima.Pyxis.Table.State -> Prima.Pyxis.Table.State"}],"binops":[]},{"name":"Prima.Pyxis.Tooltip","comment":" Creates a Tooltip component by using predefined Html syntax.\n\n\n# Configuration\n\n@docs Config\n\n\n# Configuration Helpers\n\n@docs upConfig, downConfig, leftConfig, rightConfig\n\n\n# Render\n\n@docs render\n\n","unions":[{"name":"Config","comment":" Represents the config of a Tooltip\n","args":["msg"],"cases":[]}],"aliases":[],"values":[{"name":"downConfig","comment":" Defines the configuration of a Down tooltip.\n","type":"String.String -> Prima.Pyxis.Tooltip.Config msg"},{"name":"leftConfig","comment":" Defines the configuration of an Left tooltip.\n","type":"String.String -> Prima.Pyxis.Tooltip.Config msg"},{"name":"render","comment":" Renders the Tooltip by receiving it's Config.\n","type":"Prima.Pyxis.Tooltip.Config msg -> Html.Html msg"},{"name":"rightConfig","comment":" Defines the configuration of an Right tooltip.\n","type":"String.String -> Prima.Pyxis.Tooltip.Config msg"},{"name":"upConfig","comment":" Defines the configuration of an Up tooltip.\n","type":"String.String -> Prima.Pyxis.Tooltip.Config msg"}],"binops":[]}]