[
    {
        "name": "NaturalUi",
        "comment": " Easy-going, opinionated UI kit.\n\n\n# UI elements\n\n@docs button, card, input, searchBar, loader, link, loaderWrapper, formPack, listEditor, sidebar, tabs, switch, toggle, smartTable, simpleLink\n\n\n# Attributes\n\n@docs addNewItemLabel, help, value, addNewItemPlaceholder, state, data, children, toMsg, warning, error, enabled, placeholder, type_, htmlAttrs, icon, id, label, navigate, onClick, onInput, onInputWithCursor, onSuggestion, suggestions, url\n\n\n# Icons\n\n@docs addNew, barbell, webhooks, checkmark, variable, slot, duplicate, trash, target, channels, pen, gear, tree, engine, bot, caretLeft, magnifyingGlass, close, edit, questionMark, chart\n\n\n# Misc\n\n@docs styles\n\n",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "addNew",
                "comment": " AddNew icon\n",
                "type": "Html msg"
            },
            {
                "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": "barbell",
                "comment": " Barbell icon\n",
                "type": "Html 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": " Tree icon\n",
                "type": "Html msg"
            },
            {
                "name": "channels",
                "comment": " Channels icon\n",
                "type": "Html msg"
            },
            {
                "name": "chart",
                "comment": " Tree icon\n",
                "type": "Html msg"
            },
            {
                "name": "checkmark",
                "comment": " Checkmark icon\n",
                "type": "Html msg"
            },
            {
                "name": "children",
                "comment": " Html children\n",
                "type": "List (Html msg) -> Setting state data 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": "duplicate",
                "comment": " Duplicate icon\n",
                "type": "Html msg"
            },
            {
                "name": "edit",
                "comment": " Edit icon\n",
                "type": "Html msg"
            },
            {
                "name": "enabled",
                "comment": " Enabled state\n",
                "type": "Bool -> Setting state data msg"
            },
            {
                "name": "engine",
                "comment": " Tree icon\n",
                "type": "Html 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": "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 Never String msg) -> Html msg"
            },
            {
                "name": "label",
                "comment": " Labels, used for forms and sections\n",
                "type": "String -> Setting state data 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": "magnifyingGlass",
                "comment": " MagnifyingGlass 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": "onClick",
                "comment": " Click handler\n",
                "type": "msg -> Setting state data msg"
            },
            {
                "name": "onInput",
                "comment": " Input handler\n",
                "type": "(String -> msg) -> Setting state data msg"
            },
            {
                "name": "onInputWithCursor",
                "comment": " Input handler that also passes the cursor information, used for mid-sentence autocomplete\n",
                "type": "(Int -> String -> msg) -> Setting state data msg"
            },
            {
                "name": "onSuggestion",
                "comment": " Handler for when the user accepts a suggestion\n",
                "type": "(data -> msg) -> Setting state data msg"
            },
            {
                "name": "pen",
                "comment": " Pen icon\n",
                "type": "Html msg"
            },
            {
                "name": "placeholder",
                "comment": " Placeholder\n",
                "type": "String -> Setting state data msg"
            },
            {
                "name": "questionMark",
                "comment": " QuestionMark icon\n",
                "type": "Html msg"
            },
            {
                "name": "searchBar",
                "comment": " SearchBar element\n",
                "type": "List (Setting Never 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": "slot",
                "comment": " Slot icon\n",
                "type": "Html msg"
            },
            {
                "name": "smartTable",
                "comment": " Button element\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 data -> 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": "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": "type_",
                "comment": " Html type attribute, used for form element\n",
                "type": "String -> Setting state data msg"
            },
            {
                "name": "url",
                "comment": " Url for links and help sections\n",
                "type": "String -> Setting state data msg"
            },
            {
                "name": "value",
                "comment": " Form input value\n",
                "type": "data -> 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": "webhooks",
                "comment": " Webhooks icon\n",
                "type": "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 }, suggestions : List String }"
            }
        ],
        "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": "List String -> State"
            },
            {
                "name": "styles",
                "comment": " Styles\n",
                "type": "List Snippet"
            },
            {
                "name": "view",
                "comment": " View\n",
                "type": "Config msg -> Html msg"
            }
        ],
        "binops": []
    },
    {
        "name": "NaturalUi.Select",
        "comment": " Select component\n\n@docs Config, view, styles\n\n",
        "unions": [],
        "aliases": [
            {
                "name": "Config",
                "comment": " Config\n",
                "args": [
                    "msg"
                ],
                "type": "{ value : String, help : Maybe String, label : String, options : List String, onSelect : String -> msg }"
            }
        ],
        "values": [
            {
                "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.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": [],
        "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 }"
            },
            {
                "name": "State",
                "comment": " State\n",
                "args": [],
                "type": "{ sort : Maybe SortState, search : String, expandedActions : Maybe Int }"
            }
        ],
        "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.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.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.Constants",
        "comment": " Styling constants\n\n\n# Sizes\n\n@docs headerHeight, footerHeight, sidebarWidth\n\n\n# Colors\n\n@docs black, gray, orange, red, lightOrange, lightGray, dark, white, faintBlue, blue, lightBlue\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": "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": []
    },
    {
        "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\n\n",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "heading",
                "comment": " Heading type\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": []
    }
]