[
    {
        "name": "NaturalUi",
        "comment": " Easy-going, opinionated UI kit.\n\n\n# UI elements\n\n@docs authScreen, appLayout, button, card, input, checkbox, searchBar, loader, select, link, barChart, lineChart, loaderWrapper, formPack, listEditor, sidebar, tabs, switch, toggle, smartTable, smartTable2, simpleLink, notification, chipElement, slider\n\n\n# Attributes\n\n@docs title, body, popup, addNewItemLabel, help, addNewItemPlaceholder, state, data, children, toMsg, warning, error, enabled, placeholder, htmlAttrs, inputHtmlAttrs, icon, id, label, navigate, onClick, onClose, onSuggestion, suggestions, url, discrete, options\n\n\n# Icons\n\n@docs plus, plusInCircle, barbell, webhook, checkmarkInCircle, variable, slot, duplicate, trash, target, channels, pen, gear, tree, chip, bot, caretLeft, chevronLeft, chevronRight, chevronUp, chevronDown, search, close, pen, questionInCircle, chart, logout, person, hammer\n\n\n# Misc\n\n@docs styles\n\n",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "addNewItemLabel",
                "comment": " Label for an 'add new item' prompt\n",
                "type": "String -> Setting state data msg"
            },
            {
                "name": "addNewItemPlaceholder",
                "comment": " Placeholder for an 'add new item' form field placeholder\n",
                "type": "String -> Setting state data msg"
            },
            {
                "name": "appLayout",
                "comment": " AppLayout element\n",
                "type": "List (Setting Never Never msg) -> Html msg"
            },
            {
                "name": "authScreen",
                "comment": " AuthScreen element\n",
                "type": "List (Setting Never Never msg) -> Html msg"
            },
            {
                "name": "barChart",
                "comment": " Bar chart element\n",
                "type": "List (Setting State Data msg) -> Html msg"
            },
            {
                "name": "barbell",
                "comment": " Barbell icon\n",
                "type": "Html msg"
            },
            {
                "name": "body",
                "comment": " Content body attribute\n",
                "type": "String -> Setting state data msg"
            },
            {
                "name": "bot",
                "comment": " Tree icon\n",
                "type": "Html msg"
            },
            {
                "name": "button",
                "comment": " Button element\n",
                "type": "List (Setting Never Never msg) -> Html msg"
            },
            {
                "name": "card",
                "comment": " Card element\n",
                "type": "List (Setting Never Never msg) -> Html msg"
            },
            {
                "name": "caretLeft",
                "comment": " Caret left icon - deprecated, use [chevronLeft](#chevronLeft)\n",
                "type": "Html msg"
            },
            {
                "name": "channels",
                "comment": " Channels icon\n",
                "type": "Html msg"
            },
            {
                "name": "chart",
                "comment": " Chart icon\n",
                "type": "Html msg"
            },
            {
                "name": "checkbox",
                "comment": " Checkbox element\n",
                "type": "List (Setting {} (List String) msg) -> Html msg"
            },
            {
                "name": "checkmarkInCircle",
                "comment": " Checkmark icon\n",
                "type": "Html msg"
            },
            {
                "name": "chevronDown",
                "comment": " ChevronDown icon\n",
                "type": "Html msg"
            },
            {
                "name": "chevronLeft",
                "comment": " ChevronLeft icon\n",
                "type": "Html msg"
            },
            {
                "name": "chevronRight",
                "comment": " ChevronRight icon\n",
                "type": "Html msg"
            },
            {
                "name": "chevronUp",
                "comment": " ChevronUp icon\n",
                "type": "Html msg"
            },
            {
                "name": "children",
                "comment": " Html children\n",
                "type": "List (Html msg) -> Setting state data msg"
            },
            {
                "name": "chip",
                "comment": " Chip icon\n",
                "type": "Html msg"
            },
            {
                "name": "chipElement",
                "comment": " Chip element\n",
                "type": "List (Setting Never Never msg) -> Html msg"
            },
            {
                "name": "close",
                "comment": " Close icon\n",
                "type": "Html msg"
            },
            {
                "name": "data",
                "comment": " View data 'owned' by the outside application. Of course, all state is owned by the outside app, but contrary to [state](#state), this holds core application data that may reach servers later.\n",
                "type": "data -> Setting state data msg"
            },
            {
                "name": "discrete",
                "comment": " Discrete theme\n",
                "type": "Setting state data msg"
            },
            {
                "name": "duplicate",
                "comment": " Duplicate icon\n",
                "type": "Html msg"
            },
            {
                "name": "enabled",
                "comment": " Enabled state\n",
                "type": "Bool -> Setting state data msg"
            },
            {
                "name": "error",
                "comment": " Error theme\n",
                "type": "Setting state data msg"
            },
            {
                "name": "formPack",
                "comment": " FormPack element\n",
                "type": "List (Setting Never Never msg) -> Html msg"
            },
            {
                "name": "gear",
                "comment": " Gear icon\n",
                "type": "Html msg"
            },
            {
                "name": "hammer",
                "comment": " Hammer icon\n",
                "type": "Html msg"
            },
            {
                "name": "help",
                "comment": " Help text\n",
                "type": "String -> Setting state data msg"
            },
            {
                "name": "htmlAttrs",
                "comment": " Html attributes for the UI element's container node (style, class name, etc.)\n",
                "type": "List (Attribute msg) -> Setting state data msg"
            },
            {
                "name": "icon",
                "comment": " SVG icon\n",
                "type": "Html msg -> Setting state data msg"
            },
            {
                "name": "id",
                "comment": " Id\n",
                "type": "String -> Setting state data msg"
            },
            {
                "name": "input",
                "comment": " Input element\n",
                "type": "List (Setting Int String msg) -> Html msg"
            },
            {
                "name": "inputHtmlAttrs",
                "comment": " Html attributes for the main input field inside the element. Useful to set attributes such as focus/blur handlers.\n",
                "type": "List (Attribute msg) -> Setting state data msg"
            },
            {
                "name": "label",
                "comment": " Labels, used for forms and sections\n",
                "type": "String -> Setting state data msg"
            },
            {
                "name": "lineChart",
                "comment": " Line chart element\n",
                "type": "List (Setting State Data msg) -> Html msg"
            },
            {
                "name": "link",
                "comment": " Link element\n",
                "type": "List (Setting Never Never msg) -> Html msg"
            },
            {
                "name": "listEditor",
                "comment": " List editor element\n",
                "type": "List (Setting State Data msg) -> Html msg"
            },
            {
                "name": "loader",
                "comment": " Loader element\n",
                "type": "List (Setting Never Never msg) -> Html msg"
            },
            {
                "name": "loaderWrapper",
                "comment": " LoaderWrapper element\n",
                "type": "List (Setting Never Never msg) -> Html msg"
            },
            {
                "name": "logout",
                "comment": " Logout icon\n",
                "type": "Html msg"
            },
            {
                "name": "navigate",
                "comment": " Client-side navigation message, taking a path string as a parameter\n",
                "type": "(String -> msg) -> Setting state data msg"
            },
            {
                "name": "notification",
                "comment": " Notification element\n",
                "type": "List (Setting Never Never msg) -> Html msg"
            },
            {
                "name": "onClick",
                "comment": " Click handler\n",
                "type": "msg -> Setting state data msg"
            },
            {
                "name": "onClose",
                "comment": " Close handler\n",
                "type": "msg -> Setting state data msg"
            },
            {
                "name": "onSuggestion",
                "comment": " Handler for when the user accepts a suggestion\n",
                "type": "(String -> msg) -> Setting state data msg"
            },
            {
                "name": "options",
                "comment": " List of options, e.g. for select\n",
                "type": "List String -> Setting state data msg"
            },
            {
                "name": "pen",
                "comment": " Pen icon\n",
                "type": "Html msg"
            },
            {
                "name": "person",
                "comment": " Person icon\n",
                "type": "Html msg"
            },
            {
                "name": "placeholder",
                "comment": " Placeholder\n",
                "type": "String -> Setting state data msg"
            },
            {
                "name": "plus",
                "comment": " Plus icon\n",
                "type": "Html msg"
            },
            {
                "name": "plusInCircle",
                "comment": " PlusInCircle icon\n",
                "type": "Html msg"
            },
            {
                "name": "popup",
                "comment": " Popup attribute - specify children that go into a popup belonging to the element.\n",
                "type": "List (Html msg) -> Setting state data msg"
            },
            {
                "name": "questionInCircle",
                "comment": " QuestionInCircle icon\n",
                "type": "Html msg"
            },
            {
                "name": "search",
                "comment": " Search icon\n",
                "type": "Html msg"
            },
            {
                "name": "searchBar",
                "comment": " SearchBar element\n",
                "type": "List (Setting {} String msg) -> Html msg"
            },
            {
                "name": "select",
                "comment": " Select element\n",
                "type": "List (Setting {} String msg) -> Html msg"
            },
            {
                "name": "sidebar",
                "comment": " Sidebar element\n",
                "type": "List (Setting Never (Data msg) msg) -> Html msg"
            },
            {
                "name": "simpleLink",
                "comment": " Simple link element\n",
                "type": "List (Setting Never Never msg) -> Html msg"
            },
            {
                "name": "slider",
                "comment": " Slider element\n",
                "type": "List (Setting State Data msg) -> Html msg"
            },
            {
                "name": "slot",
                "comment": " Slot icon\n",
                "type": "Html msg"
            },
            {
                "name": "smartTable",
                "comment": " Deprecated smart table element (see `smartTable2`)\n",
                "type": "List (Setting State (Data msg) msg) -> Html msg"
            },
            {
                "name": "smartTable2",
                "comment": " Smart table\n",
                "type": "List (Setting State (Data msg) msg) -> Html msg"
            },
            {
                "name": "state",
                "comment": " Internal UI widget state, see <http://package.elm-lang.org/packages/evancz/elm-sortable-table/1.0.1/Table#view>\n",
                "type": "state -> Setting state data msg"
            },
            {
                "name": "styles",
                "comment": " Setup styles for the client\n",
                "type": "List Snippet"
            },
            {
                "name": "suggestions",
                "comment": " Suggestions for words that autocomplete should recognize\n",
                "type": "List String -> Setting state data msg"
            },
            {
                "name": "switch",
                "comment": " SearchBar element\n",
                "type": "List (Setting Never Never msg) -> Html msg"
            },
            {
                "name": "tabs",
                "comment": " Tabs element\n",
                "type": "List (Setting State (Data msg) msg) -> Html msg"
            },
            {
                "name": "target",
                "comment": " Target icon\n",
                "type": "Html msg"
            },
            {
                "name": "title",
                "comment": " Title attribute\n",
                "type": "String -> Setting state data msg"
            },
            {
                "name": "toMsg",
                "comment": " A'la [elm-sortable-table](http://package.elm-lang.org/packages/evancz/elm-sortable-table/1.0.1/Table#view), this is how components communicate to the outside application. The slight modification is that components always pass back both their new internal state and the new data through this method.\n",
                "type": "(state -> data -> msg) -> Setting state data msg"
            },
            {
                "name": "toggle",
                "comment": " Toggle element\n",
                "type": "List (Setting State Data msg) -> Html msg"
            },
            {
                "name": "trash",
                "comment": " Trash icon\n",
                "type": "Html msg"
            },
            {
                "name": "tree",
                "comment": " Tree icon\n",
                "type": "Html msg"
            },
            {
                "name": "url",
                "comment": " Url for links and help sections\n",
                "type": "String -> Setting state data msg"
            },
            {
                "name": "variable",
                "comment": " Variable icon\n",
                "type": "Html msg"
            },
            {
                "name": "warning",
                "comment": " Warning theme\n",
                "type": "Setting state data msg"
            },
            {
                "name": "webhook",
                "comment": " Webhooks icon\n",
                "type": "Html msg"
            }
        ],
        "binops": []
    },
    {
        "name": "NaturalUi.SmartTable",
        "comment": " Smart table\n\n\n# Types\n\n@docs State, SortState, Data, Row\n\n\n# Methods\n\n@docs getConfig, init, view, styles\n\n",
        "unions": [
            {
                "name": "State",
                "comment": " State\n",
                "args": [],
                "cases": []
            }
        ],
        "aliases": [
            {
                "name": "Data",
                "comment": " Data\n",
                "args": [
                    "msg"
                ],
                "type": "{ headers : List String, rows : List (Row msg) }"
            },
            {
                "name": "Row",
                "comment": " Row\n",
                "args": [
                    "msg"
                ],
                "type": "{ cells : List ( String, Html msg ), isEnabled : Bool, actions : { edit : Maybe msg, duplicate : Maybe msg, delete : Maybe msg } }"
            },
            {
                "name": "SortState",
                "comment": " Sort state\n",
                "args": [],
                "type": "{ columnIndex : Int, isAscending : Bool }"
            }
        ],
        "values": [
            {
                "name": "getConfig",
                "comment": " Get configuration from a list of settings\n",
                "type": "List (Setting State (Data msg) msg) -> Config msg"
            },
            {
                "name": "init",
                "comment": " Init\n",
                "type": "State"
            },
            {
                "name": "styles",
                "comment": " Styles\n",
                "type": "List Snippet"
            },
            {
                "name": "view",
                "comment": " View\n",
                "type": "Config msg -> Html msg"
            }
        ],
        "binops": []
    },
    {
        "name": "NaturalUi.ListEditor",
        "comment": " List editor component\n\n@docs State, Data, getConfig, init, view, styles\n\n",
        "unions": [],
        "aliases": [
            {
                "name": "Data",
                "comment": " Data\n",
                "args": [],
                "type": "List String"
            },
            {
                "name": "State",
                "comment": " State\n",
                "args": [],
                "type": "{ editing : Maybe { index : Int, cursor : Int }, inputFieldsExpanded : Int }"
            }
        ],
        "values": [
            {
                "name": "getConfig",
                "comment": " Get configuration from a list of settings\n",
                "type": "List (Setting State Data msg) -> Config msg"
            },
            {
                "name": "init",
                "comment": " Init\n",
                "type": "State"
            },
            {
                "name": "styles",
                "comment": " Styles\n",
                "type": "List Snippet"
            },
            {
                "name": "view",
                "comment": " View\n",
                "type": "Config msg -> Html msg"
            }
        ],
        "binops": []
    },
    {
        "name": "NaturalUi.SmartTable2",
        "comment": " Smart table\n\n\n# Types\n\n@docs State, SortState, Data, Row\n\n\n# Methods\n\n@docs getConfig, init, view, styles\n\n",
        "unions": [
            {
                "name": "State",
                "comment": " State\n",
                "args": [],
                "cases": []
            }
        ],
        "aliases": [
            {
                "name": "Data",
                "comment": " Data\n",
                "args": [
                    "msg"
                ],
                "type": "{ headers : List String, rows : List (Row msg) }"
            },
            {
                "name": "Row",
                "comment": " Row\n",
                "args": [
                    "msg"
                ],
                "type": "{ cells : List ( String, Html msg ), isEnabled : Bool, actions : List { icon : Html msg, action : msg, withDeletePrompt : Bool }, defaultAction : Maybe msg }"
            },
            {
                "name": "SortState",
                "comment": " Sort state\n",
                "args": [],
                "type": "{ columnIndex : Int, isAscending : Bool }"
            }
        ],
        "values": [
            {
                "name": "getConfig",
                "comment": " Get configuration from a list of settings\n",
                "type": "List (Setting State (Data msg) msg) -> Config msg"
            },
            {
                "name": "init",
                "comment": " Init\n",
                "type": "State"
            },
            {
                "name": "styles",
                "comment": " Styles\n",
                "type": "List Snippet"
            },
            {
                "name": "view",
                "comment": " View\n",
                "type": "Config msg -> Html msg"
            }
        ],
        "binops": []
    },
    {
        "name": "NaturalUi.Toggle",
        "comment": " Toggle component\n\n@docs State, Data, getConfig, view, styles\n\n",
        "unions": [],
        "aliases": [
            {
                "name": "Data",
                "comment": " Data\n",
                "args": [],
                "type": "{ left : String, right : String, isLeft : Bool }"
            },
            {
                "name": "State",
                "comment": " State\n",
                "args": [],
                "type": "{}"
            }
        ],
        "values": [
            {
                "name": "getConfig",
                "comment": " Get configuration from a list of settings\n",
                "type": "List (Setting State Data msg) -> Config msg"
            },
            {
                "name": "styles",
                "comment": " Styles\n",
                "type": "List Snippet"
            },
            {
                "name": "view",
                "comment": " View\n",
                "type": "Config msg -> Html msg"
            }
        ],
        "binops": []
    },
    {
        "name": "NaturalUi.Sidebar",
        "comment": " Select component\n\n@docs Data, getConfig, view, styles\n\n",
        "unions": [],
        "aliases": [
            {
                "name": "Data",
                "comment": " Data\n",
                "args": [
                    "msg"
                ],
                "type": "{ currentPath : String, linkGroups : List { title : String, links : List { label : String, path : String, icon : Html msg } } }"
            }
        ],
        "values": [
            {
                "name": "getConfig",
                "comment": " Get configuration from a list of settings\n",
                "type": "List (Setting Never (Data msg) msg) -> Config msg"
            },
            {
                "name": "styles",
                "comment": " Styles\n",
                "type": "List Snippet"
            },
            {
                "name": "view",
                "comment": " View\n",
                "type": "Config msg -> Html msg"
            }
        ],
        "binops": []
    },
    {
        "name": "NaturalUi.BarChart",
        "comment": " Bar chart element\n\n@docs State, Data, init, getConfig, view, styles\n\n",
        "unions": [
            {
                "name": "State",
                "comment": " State\n",
                "args": [],
                "cases": []
            }
        ],
        "aliases": [
            {
                "name": "Data",
                "comment": " Data\n",
                "args": [],
                "type": "List ( String, List Float )"
            }
        ],
        "values": [
            {
                "name": "getConfig",
                "comment": " Get configuration from a list of settings\n",
                "type": "List (Setting State Data msg) -> Config msg"
            },
            {
                "name": "init",
                "comment": " Init\n",
                "type": "State"
            },
            {
                "name": "styles",
                "comment": " Styles\n",
                "type": "List Snippet"
            },
            {
                "name": "view",
                "comment": " View\n",
                "type": "Config msg -> Html msg"
            }
        ],
        "binops": []
    },
    {
        "name": "NaturalUi.Tabs",
        "comment": " Tabs component\n\n@docs State, Data, getConfig, view, styles\n\n",
        "unions": [],
        "aliases": [
            {
                "name": "Data",
                "comment": " Data\n",
                "args": [
                    "msg"
                ],
                "type": "List ( String, Html msg )"
            },
            {
                "name": "State",
                "comment": " State\n",
                "args": [],
                "type": "Int"
            }
        ],
        "values": [
            {
                "name": "getConfig",
                "comment": " Get configuration from a list of settings\n",
                "type": "List (Setting State (Data msg) msg) -> Config msg"
            },
            {
                "name": "styles",
                "comment": " Styles\n",
                "type": "List Snippet"
            },
            {
                "name": "view",
                "comment": " View\n",
                "type": "Config msg -> Html msg"
            }
        ],
        "binops": []
    },
    {
        "name": "NaturalUi.LineChart",
        "comment": " Line chart element\n\n@docs State, Data, init, getConfig, view, styles\n\n",
        "unions": [
            {
                "name": "State",
                "comment": " State\n",
                "args": [],
                "cases": []
            }
        ],
        "aliases": [
            {
                "name": "Data",
                "comment": " Data\n",
                "args": [],
                "type": "List ( Float, Float )"
            }
        ],
        "values": [
            {
                "name": "getConfig",
                "comment": " Get configuration from a list of settings\n",
                "type": "List (Setting State Data msg) -> Config msg"
            },
            {
                "name": "init",
                "comment": " Init\n",
                "type": "State"
            },
            {
                "name": "styles",
                "comment": " Styles\n",
                "type": "List Snippet"
            },
            {
                "name": "view",
                "comment": " View\n",
                "type": "Config msg -> Html msg"
            }
        ],
        "binops": []
    },
    {
        "name": "NaturalUi.Mixins",
        "comment": " Style mixins\n\n\n# Typography\n\n@docs title, heading, regular, regularBolder, label, small\n\n\n# Miscellaneous skin styles\n\n@docs standardBorderRadius, standardBoxShadow, inputFocus\n\n",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "heading",
                "comment": " Heading type\n",
                "type": "List Style"
            },
            {
                "name": "inputFocus",
                "comment": " Focused input style\n",
                "type": "List Style"
            },
            {
                "name": "label",
                "comment": " Label\n",
                "type": "List Style"
            },
            {
                "name": "regular",
                "comment": " Regular body type\n",
                "type": "List Style"
            },
            {
                "name": "regularBolder",
                "comment": " Regular bolder body type\n",
                "type": "List Style"
            },
            {
                "name": "small",
                "comment": " Small type\n",
                "type": "List Style"
            },
            {
                "name": "standardBorderRadius",
                "comment": " Standard border radius\n",
                "type": "Style"
            },
            {
                "name": "standardBoxShadow",
                "comment": " Standard box shadow\n",
                "type": "Style"
            },
            {
                "name": "title",
                "comment": " Title type\n",
                "type": "List Style"
            }
        ],
        "binops": []
    },
    {
        "name": "NaturalUi.Constants",
        "comment": " Styling constants\n\n\n# Sizes\n\n@docs headerHeight, footerHeight, sidebarWidth\n\n\n# Colors\n\n@docs black, lighterGray, lightGray, gray, orange, lighterOrange, lightOrange, red, lighterRed, lightRed, dark, white, faintBlue, blue, lightBlue, lighterBlue\n\n",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "black",
                "comment": " Black color\n",
                "type": "String"
            },
            {
                "name": "blue",
                "comment": " Blue color\n",
                "type": "String"
            },
            {
                "name": "dark",
                "comment": " Dark color\n",
                "type": "String"
            },
            {
                "name": "faintBlue",
                "comment": " Faint blue color\n",
                "type": "String"
            },
            {
                "name": "footerHeight",
                "comment": " Footer height\n",
                "type": "Float"
            },
            {
                "name": "gray",
                "comment": " Gray color\n",
                "type": "String"
            },
            {
                "name": "headerHeight",
                "comment": " Header height\n",
                "type": "Float"
            },
            {
                "name": "lightBlue",
                "comment": " Light blue color\n",
                "type": "String"
            },
            {
                "name": "lightGray",
                "comment": " Light gray color\n",
                "type": "String"
            },
            {
                "name": "lightOrange",
                "comment": " Light orange color\n",
                "type": "String"
            },
            {
                "name": "lightRed",
                "comment": " Light red color\n",
                "type": "String"
            },
            {
                "name": "lighterBlue",
                "comment": " Slightly lighter blue color\n",
                "type": "String"
            },
            {
                "name": "lighterGray",
                "comment": " Light gray color\n",
                "type": "String"
            },
            {
                "name": "lighterOrange",
                "comment": " Lighter orange color\n",
                "type": "String"
            },
            {
                "name": "lighterRed",
                "comment": " Lighter red color\n",
                "type": "String"
            },
            {
                "name": "orange",
                "comment": " Orange color\n",
                "type": "String"
            },
            {
                "name": "red",
                "comment": " Red color\n",
                "type": "String"
            },
            {
                "name": "sidebarWidth",
                "comment": " Sidebar width\n",
                "type": "Float"
            },
            {
                "name": "white",
                "comment": " White color\n",
                "type": "String"
            }
        ],
        "binops": []
    }
]