[
    {
        "name": "NaturalUi",
        "comment": " Opinionated design system with a friendly API. [Demo.](https://peterszerzo.github.io/elm-natural-ui)\n\n\n# Simple nodes\n\n@docs authScreen, sidebar, avatar, status, urlBar, button, card, pageHeader, input, checkbox, searchBar, form, modal, loader, select, link, formPack, switch, notification, chipElement, customLink, tile, dropdown\n\n\n# Counter\n\n@docs counter, CounterData, CounterState, initCounter\n\n\n# DatePicker\n\n@docs datePicker, DatePickerData, DatePickerState, initDatePicker\n\n\n# Slider\n\n@docs slider, SliderData, SliderState, initSlider\n\n\n# Steps\n\n@docs steps, StepsData\n\n\n# Toggle\n\n@docs toggle, ToggleData\n\n\n# Dropdown\n\n@docs dropdown, DropdownData\n\n\n# Tabs\n\n@docs tabs, TabsData, TabsState, initTabs\n\n\n# Table\n\n@docs table, TableData, TableState, initTable\n\n\n# ListEditor\n\n@docs listEditor, ListEditorData, ListEditorState, initListEditor\n\n\n# Attributes\n\n@docs title, body, popup, controls, help, state, data, toMsg, toClipboard, toStatefulMsg, toStatefulMsgWithFocus, toAsyncStatefulMsg, success, warning, onDarkBackground, error, enabled, placeholder, icon, id, label, newUrl, modifyUrl, onClick, onClose, onSuggestion, suggestions, url, discrete, options, loading, css, type_, required, onFocus, onBlur, onSubmit, onListEditorWordClick, searchable, appendReverse, currentPath, links\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, slack, skype, facebookMessenger, amazonEcho\n\n\n# Styles\n\n@docs globalStyles\n\n",
        "unions": [],
        "aliases": [
            {
                "name": "CounterData",
                "comment": " Counter data\n",
                "args": [],
                "type": "Data"
            },
            {
                "name": "CounterState",
                "comment": " Counter state\n",
                "args": [],
                "type": "State"
            },
            {
                "name": "DatePickerData",
                "comment": " DatePicker data\n",
                "args": [],
                "type": "Data"
            },
            {
                "name": "DatePickerState",
                "comment": " DatePicker state\n",
                "args": [],
                "type": "State"
            },
            {
                "name": "DropdownData",
                "comment": " DropdownData\n",
                "args": [],
                "type": "Data"
            },
            {
                "name": "ListEditorData",
                "comment": " ListEditor data\n",
                "args": [],
                "type": "Data"
            },
            {
                "name": "ListEditorState",
                "comment": " ListEditor state\n",
                "args": [],
                "type": "State"
            },
            {
                "name": "SliderData",
                "comment": " Slider data\n",
                "args": [],
                "type": "Data"
            },
            {
                "name": "SliderState",
                "comment": " Slider state\n",
                "args": [],
                "type": "State"
            },
            {
                "name": "StepsData",
                "comment": " StepsData\n",
                "args": [],
                "type": "Data"
            },
            {
                "name": "TableData",
                "comment": " Table data\n",
                "args": [
                    "msg"
                ],
                "type": "Data msg"
            },
            {
                "name": "TableState",
                "comment": " Table state\n",
                "args": [],
                "type": "State"
            },
            {
                "name": "TabsData",
                "comment": " Tabs data\n",
                "args": [
                    "msg"
                ],
                "type": "Data msg"
            },
            {
                "name": "TabsState",
                "comment": " Tabs state\n",
                "args": [],
                "type": "State"
            },
            {
                "name": "ToggleData",
                "comment": " ToggleData\n",
                "args": [],
                "type": "Data"
            }
        ],
        "values": [
            {
                "name": "amazonEcho",
                "comment": " Facebook messenger icon\n",
                "type": "Html msg"
            },
            {
                "name": "appendReverse",
                "comment": " Makes list editing components append new items in the reverse order\n",
                "type": "Setting state data msg"
            },
            {
                "name": "authScreen",
                "comment": " AuthScreen element\n",
                "type": "CustomNode Never Never msg"
            },
            {
                "name": "avatar",
                "comment": " Avatar element\n",
                "type": "CustomNode Never (Data msg) 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": "CustomNode Never Never msg"
            },
            {
                "name": "card",
                "comment": " Card element\n",
                "type": "CustomNode Never Never 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": "CustomNode Never (List String) 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": "chip",
                "comment": " Chip icon\n",
                "type": "Html msg"
            },
            {
                "name": "chipElement",
                "comment": " Chip element\n",
                "type": "CustomNode Never Never msg"
            },
            {
                "name": "close",
                "comment": " Close icon\n",
                "type": "Html msg"
            },
            {
                "name": "controls",
                "comment": " Makes list editing components append new items in the reverse order\n",
                "type": "List (Html msg) -> Setting state data msg"
            },
            {
                "name": "counter",
                "comment": " Counter element\n",
                "type": "CustomNode State Int msg"
            },
            {
                "name": "css",
                "comment": " `elm-css` styles\n",
                "type": "List Style -> Setting state data msg"
            },
            {
                "name": "currentPath",
                "comment": " The current path\n",
                "type": "String -> Setting state data msg"
            },
            {
                "name": "customLink",
                "comment": " Counter element\n",
                "type": "CustomNode Never Never 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": "datePicker",
                "comment": " DatePicker element\n",
                "type": "CustomNode State Data msg"
            },
            {
                "name": "discrete",
                "comment": " Discrete theme\n",
                "type": "Setting state data msg"
            },
            {
                "name": "dropdown",
                "comment": " Dropdown element\n",
                "type": "CustomNode Never 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": "facebookMessenger",
                "comment": " Facebook messenger icon\n",
                "type": "Html msg"
            },
            {
                "name": "form",
                "comment": " Form element\n",
                "type": "CustomNode Never Never msg"
            },
            {
                "name": "formPack",
                "comment": " FormPack element\n",
                "type": "CustomNode Never Never msg"
            },
            {
                "name": "gear",
                "comment": " Gear icon\n",
                "type": "Html msg"
            },
            {
                "name": "globalStyles",
                "comment": " Global setup styles\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": "icon",
                "comment": " SVG icon\n",
                "type": "Html msg -> Setting state data msg"
            },
            {
                "name": "id",
                "comment": " Id\n",
                "type": "String -> Setting state data msg"
            },
            {
                "name": "initCounter",
                "comment": " Init counter state\n",
                "type": "CounterState"
            },
            {
                "name": "initDatePicker",
                "comment": " Init DatePicker state\n",
                "type": "DatePickerState"
            },
            {
                "name": "initListEditor",
                "comment": " Init ListEditor state\n",
                "type": "ListEditorState"
            },
            {
                "name": "initSlider",
                "comment": " Init Slider state\n",
                "type": "SliderState"
            },
            {
                "name": "initTable",
                "comment": " Init Table state\n",
                "type": "TableState"
            },
            {
                "name": "initTabs",
                "comment": " Init Tabs state\n",
                "type": "TabsState"
            },
            {
                "name": "input",
                "comment": " Input element\n",
                "type": "CustomNode Int String msg"
            },
            {
                "name": "label",
                "comment": " Labels, used for forms and sections\n",
                "type": "String -> Setting state data msg"
            },
            {
                "name": "link",
                "comment": " Link element\n",
                "type": "CustomNode Never Never msg"
            },
            {
                "name": "links",
                "comment": " Links\n",
                "type": "List { path : String, label : String, icon : Maybe (Html msg) } -> Setting state data msg"
            },
            {
                "name": "listEditor",
                "comment": " ListEditor element\n",
                "type": "CustomNode State Data msg"
            },
            {
                "name": "loader",
                "comment": " Loader element\n",
                "type": "CustomNode Never Never msg"
            },
            {
                "name": "loading",
                "comment": " Specifies whether the UI element is in a loading state\n",
                "type": "Bool -> Setting state data msg"
            },
            {
                "name": "logout",
                "comment": " Logout icon\n",
                "type": "Html msg"
            },
            {
                "name": "modal",
                "comment": " Modal element\n",
                "type": "CustomNode Never Never msg"
            },
            {
                "name": "modifyUrl",
                "comment": " Client-side navigation message without persistance in history, taking a path string as a parameter\n",
                "type": "(String -> msg) -> Setting state data msg"
            },
            {
                "name": "newUrl",
                "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": "CustomNode Never Never msg"
            },
            {
                "name": "onBlur",
                "comment": " Blur handler\n",
                "type": "msg -> Setting state data 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": "onDarkBackground",
                "comment": " Set theme to work on dark background\n",
                "type": "Setting state data msg"
            },
            {
                "name": "onFocus",
                "comment": " Focus handler\n",
                "type": "msg -> Setting state data msg"
            },
            {
                "name": "onListEditorWordClick",
                "comment": " Click handler on a word in a list editor\n",
                "type": "(Int -> Int -> msg) -> Setting state data msg"
            },
            {
                "name": "onSubmit",
                "comment": " Submit 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": "pageHeader",
                "comment": " Page header element\n",
                "type": "CustomNode Never Never 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": "required",
                "comment": " Required\n",
                "type": "Setting state data msg"
            },
            {
                "name": "search",
                "comment": " Search icon\n",
                "type": "Html msg"
            },
            {
                "name": "searchBar",
                "comment": " SearchBar element\n",
                "type": "CustomNode Never String msg"
            },
            {
                "name": "searchable",
                "comment": " Set searchability, toggling the search bar displays in e.g. tables\n",
                "type": "Bool -> Setting state data msg"
            },
            {
                "name": "select",
                "comment": " Select element\n",
                "type": "CustomNode Never (Maybe String) msg"
            },
            {
                "name": "sidebar",
                "comment": " Sidebar element\n",
                "type": "CustomNode Never Never msg"
            },
            {
                "name": "skype",
                "comment": " Skype icon\n",
                "type": "Html msg"
            },
            {
                "name": "slack",
                "comment": " Slack icon\n",
                "type": "Html msg"
            },
            {
                "name": "slider",
                "comment": " Slider element\n",
                "type": "CustomNode State Data msg"
            },
            {
                "name": "slot",
                "comment": " Slot icon\n",
                "type": "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": "status",
                "comment": " Status element\n",
                "type": "CustomNode Never Never msg"
            },
            {
                "name": "steps",
                "comment": " Card element\n",
                "type": "CustomNode Never Data msg"
            },
            {
                "name": "success",
                "comment": " Success theme\n",
                "type": "Setting state data msg"
            },
            {
                "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": "CustomNode Never Bool msg"
            },
            {
                "name": "table",
                "comment": " Smart table\n",
                "type": "CustomNode State (Data msg) msg"
            },
            {
                "name": "tabs",
                "comment": " Tabs element\n",
                "type": "CustomNode State (Data msg) msg"
            },
            {
                "name": "target",
                "comment": " Target icon\n",
                "type": "Html msg"
            },
            {
                "name": "tile",
                "comment": " Tile element\n",
                "type": "CustomNode Never Never msg"
            },
            {
                "name": "title",
                "comment": " Title attribute\n",
                "type": "String -> Setting state data msg"
            },
            {
                "name": "toAsyncStatefulMsg",
                "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 -> ( state, data )) -> msg) -> Setting state data msg"
            },
            {
                "name": "toClipboard",
                "comment": " Message handler for copying the contents of an input field to clipboard\n",
                "type": "(String -> msg) -> 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": "(data -> msg) -> Setting state data msg"
            },
            {
                "name": "toStatefulMsg",
                "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": "toStatefulMsgWithFocus",
                "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": "(Maybe String -> state -> data -> msg) -> Setting state data msg"
            },
            {
                "name": "toggle",
                "comment": " Toggle element\n",
                "type": "CustomNode Never Data 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 for buttons and input fields.\n",
                "type": "String -> Setting state data msg"
            },
            {
                "name": "url",
                "comment": " Url for links and help sections\n",
                "type": "String -> Setting state data msg"
            },
            {
                "name": "urlBar",
                "comment": " Url bar element\n",
                "type": "CustomNode Never String 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.Mixins",
        "comment": " Style mixins\n\n\n# Typography\n\n@docs title, strongTitle, heading, strongHeading, body, strongBody, label, small, monospaceFont\n\n\n# Z-indices\n\n@docs lowZIndex, regularZIndex, higherZIndex, popupZIndex, almightyZIndex\n\n\n# Miscellaneous skin styles\n\n@docs standardBorderRadius, standardBoxShadow, inputFocus\n\n",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "almightyZIndex",
                "comment": " Almighty z-index\n",
                "type": "Style"
            },
            {
                "name": "body",
                "comment": " Regular body type\n",
                "type": "Style"
            },
            {
                "name": "heading",
                "comment": " Heading type\n",
                "type": "Style"
            },
            {
                "name": "higherZIndex",
                "comment": " Higher z-index\n",
                "type": "Style"
            },
            {
                "name": "inputFocus",
                "comment": " Focused input style\n",
                "type": "Style"
            },
            {
                "name": "label",
                "comment": " Label\n",
                "type": "Style"
            },
            {
                "name": "lowZIndex",
                "comment": " Low z-index\n",
                "type": "Style"
            },
            {
                "name": "monospaceFont",
                "comment": " Sets a monospace font\n",
                "type": "Style"
            },
            {
                "name": "popupZIndex",
                "comment": " Popup z-index\n",
                "type": "Style"
            },
            {
                "name": "regularZIndex",
                "comment": " Regular z-index\n",
                "type": "Style"
            },
            {
                "name": "small",
                "comment": " Small type\n",
                "type": "Style"
            },
            {
                "name": "standardBorderRadius",
                "comment": " Standard border radius\n",
                "type": "Style"
            },
            {
                "name": "standardBoxShadow",
                "comment": " Standard box shadow\n",
                "type": "Style"
            },
            {
                "name": "strongBody",
                "comment": " Regular bolder body type\n",
                "type": "Style"
            },
            {
                "name": "strongHeading",
                "comment": " Heading type\n",
                "type": "Style"
            },
            {
                "name": "strongTitle",
                "comment": " Strong title type\n",
                "type": "Style"
            },
            {
                "name": "title",
                "comment": " Title type\n",
                "type": "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, darkGray, lighterGray, lightGray, gray, orange, green, 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": "darkGray",
                "comment": " Dark gray 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": "green",
                "comment": " Green 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": []
    }
]