-
Notifications
You must be signed in to change notification settings - Fork 0
/
docs.json
1 lines (1 loc) · 83.4 KB
/
docs.json
1
[{"name":"OUI","comment":"\n\n@docs Color\n\n","unions":[{"name":"Color","comment":" Colors\n","args":[],"cases":[["Primary",[]],["PrimaryContainer",[]],["Secondary",[]],["SecondaryContainer",[]],["Tertiary",[]],["TertiaryContainer",[]],["Neutral",[]],["NeutralVariant",[]],["Error",[]],["ErrorContainer",[]],["Custom",["{ color : Color.Color, onColor : Color.Color, surface : Color.Color, onSurface : Color.Color }"]]]}],"aliases":[],"values":[],"binops":[]},{"name":"OUI.Badge","comment":" A badge creation API\n\n\n# Types\n\n@docs Badge\n\n\n# Constructor\n\n@docs small, label, number\n\n","unions":[{"name":"Badge","comment":" A badge is a small red bullet with optional label that typically floats on\nthe top right a an element, usually an icon\n","args":[],"cases":[["Small",[]],["Label",["String.String"]],["Number",["Basics.Int"]]]}],"aliases":[],"values":[{"name":"label","comment":" Creates a badge with a text label\n","type":"String.String -> OUI.Badge.Badge"},{"name":"number","comment":" Creates a badge with a numeric label\n","type":"Basics.Int -> OUI.Badge.Badge"},{"name":"small","comment":" A small badge has no label and is smaller than a badge with a label\n","type":"OUI.Badge.Badge"}],"binops":[]},{"name":"OUI.Button","comment":" A button creation API\n\n@docs Button, Type, Action\n\n\n# Constructor\n\n@docs new\n\n\n# Basic properties\n\n@docs withIcon, color\n\n\n# Actions\n\nA button must have one and only one action that can be set with one of the\nfollowing functions.\n\n@docs onClick, disabled\n\n\n## Links\n\nInstead of a direct action (or disabled), a button can be a link\n\n@docs link, newTabLink, downloadLink, downloadAsLink\n\n\n# Button types\n\n@docs elevatedButton, filledButton, outlinedButton, textButton, smallFAB, mediumFAB, largeFAB, extendedFAB, iconButton, filledIconButton, outlinedIconButton\n\n\n# Internal\n\n@docs getText, getIcon, getAction, getColor, getType\n\n","unions":[{"name":"Action","comment":" A button action\n","args":["msg"],"cases":[["Disabled",[]],["OnClick",["msg"]],["Link",["String.String"]],["NewTabLink",["String.String"]],["DownloadLink",["String.String"]],["DownloadAsLink",["String.String","String.String"]]]},{"name":"Button","comment":" A button\n","args":["constraints","msg"],"cases":[]},{"name":"Type","comment":" A button type\n","args":[],"cases":[["Elevated",[]],["Filled",[]],["Outlined",[]],["Text",[]],["SmallFAB",[]],["MediumFAB",[]],["LargeFAB",[]],["ExtendedFAB",[]],["FilledIcon",[]],["OutlinedIcon",[]],["Icon",[]]]}],"aliases":[],"values":[{"name":"color","comment":" Set the button primary color\n","type":"OUI.Color -> OUI.Button.Button a msg -> OUI.Button.Button a msg"},{"name":"disabled","comment":" Set the button as 'disabled'\n","type":"OUI.Button.Button { props | needOnClickOrDisabled : () } msg -> OUI.Button.Button { a | hasAction : () } msg"},{"name":"downloadAsLink","comment":" A link to download a file, but you can specify the filename.\n","type":"String.String -> String.String -> OUI.Button.Button { props | needOnClickOrDisabled : () } msg -> OUI.Button.Button { a | hasAction : () } msg"},{"name":"downloadLink","comment":" A link to download a file\n","type":"String.String -> OUI.Button.Button { props | needOnClickOrDisabled : () } msg -> OUI.Button.Button { a | hasAction : () } msg"},{"name":"elevatedButton","comment":" Set the button type to 'Elevated' (default)\n","type":"OUI.Button.Button a msg -> OUI.Button.Button a msg"},{"name":"extendedFAB","comment":" Set the button type to 'ExtendedFAB'\n","type":"OUI.Button.Button a msg -> OUI.Button.Button a msg"},{"name":"filledButton","comment":" Set the button type to 'Filled'\n","type":"OUI.Button.Button a msg -> OUI.Button.Button a msg"},{"name":"filledIconButton","comment":" Set the button type to 'FilledIconButton'\n","type":"OUI.Button.Button { a | hasIcon : () } msg -> OUI.Button.Button { a | hasIcon : () } msg"},{"name":"getAction","comment":" get the button action\n","type":"OUI.Button.Button c msg -> OUI.Button.Action msg"},{"name":"getColor","comment":" get the button color\n","type":"OUI.Button.Button c msg -> OUI.Color"},{"name":"getIcon","comment":" get the button icon\n","type":"OUI.Button.Button c msg -> Maybe.Maybe OUI.Icon.Icon"},{"name":"getText","comment":" get the button text\n","type":"OUI.Button.Button c msg -> String.String"},{"name":"getType","comment":" get the button type\n","type":"OUI.Button.Button c msg -> OUI.Button.Type"},{"name":"iconButton","comment":" Set the button type to 'IconButton'\n","type":"OUI.Button.Button { a | hasIcon : () } msg -> OUI.Button.Button { a | hasIcon : () } msg"},{"name":"largeFAB","comment":" Set the button type to 'LargeFAB'\n","type":"OUI.Button.Button { a | hasIcon : () } msg -> OUI.Button.Button { a | hasIcon : () } msg"},{"name":"link","comment":" Set the button as a link to the given URL\n","type":"String.String -> OUI.Button.Button { props | needOnClickOrDisabled : () } msg -> OUI.Button.Button { a | hasAction : () } msg"},{"name":"mediumFAB","comment":" Set the button type to 'MediumFAB'\n","type":"OUI.Button.Button { a | hasIcon : () } msg -> OUI.Button.Button { a | hasIcon : () } msg"},{"name":"new","comment":" Create a button with the given label\n\nA text and an action (onClick, link or disabled) must be set before it can be\nrendered\n\nThe text is mandatory for icon buttons too and will be used as a 'aria-label'\nproperty.\n\nBy default, the button is of the 'Elevated' type, and its color is 'Primary'\n\n","type":"String.String -> OUI.Button.Button { needOnClickOrDisabled : (), hasNoIcon : () } msg"},{"name":"newTabLink","comment":" Set the button as a link opening in a new tab\n","type":"String.String -> OUI.Button.Button { props | needOnClickOrDisabled : () } msg -> OUI.Button.Button { a | hasAction : () } msg"},{"name":"onClick","comment":" Set the button 'onClick' handler\n","type":"msg -> OUI.Button.Button { a | needOnClickOrDisabled : () } msg -> OUI.Button.Button { a | hasAction : () } msg"},{"name":"outlinedButton","comment":" Set the button type to 'Outlined'\n","type":"OUI.Button.Button a msg -> OUI.Button.Button a msg"},{"name":"outlinedIconButton","comment":" Set the button type to 'OutlinedIconButton'\n","type":"OUI.Button.Button { a | hasIcon : () } msg -> OUI.Button.Button { a | hasIcon : () } msg"},{"name":"smallFAB","comment":" Set the button type to 'SmallFAB'\n","type":"OUI.Button.Button { a | hasIcon : () } msg -> OUI.Button.Button { a | hasIcon : () } msg"},{"name":"textButton","comment":" Set the button type to 'TextButton'\n","type":"OUI.Button.Button a msg -> OUI.Button.Button a msg"},{"name":"withIcon","comment":" Set the button icon\n\nCan only be called once\n\n","type":"OUI.Icon.Icon -> OUI.Button.Button { a | hasNoIcon : () } msg -> OUI.Button.Button { a | hasIcon : () } msg"}],"binops":[]},{"name":"OUI.Checkbox","comment":"\n\n\n# Constructor\n\n@docs new, Checkbox\n@docs withIcon, withColor, withChecked, onChange, disabled\n\n\n# Internals\n\n@docs getChecked, getIcon, getOnChange, getColor\n\n","unions":[{"name":"Checkbox","comment":" A Checkbox component\n","args":["constraints","msg"],"cases":[]}],"aliases":[],"values":[{"name":"disabled","comment":" disable the checkbox\n","type":"OUI.Checkbox.Checkbox { a | needOnChangeOrDisabled : () } msg -> OUI.Checkbox.Checkbox { a | hasAction : () } msg"},{"name":"getChecked","comment":" get the 'checked' state\n","type":"OUI.Checkbox.Checkbox c msg -> Basics.Bool"},{"name":"getColor","comment":" get the color\n","type":"OUI.Checkbox.Checkbox c msg -> OUI.Color"},{"name":"getIcon","comment":" get the icon\n","type":"OUI.Checkbox.Checkbox c msg -> OUI.Icon.Icon"},{"name":"getOnChange","comment":" get the on change handler\n","type":"OUI.Checkbox.Checkbox c msg -> Maybe.Maybe (Basics.Bool -> msg)"},{"name":"new","comment":" creates a checkbox. It must get a 'onChange' handler or be 'disabled'.\n","type":"OUI.Checkbox.Checkbox { needOnChangeOrDisabled : (), needChecked : () } msg"},{"name":"onChange","comment":" Set a change handler msg\n","type":"(Basics.Bool -> msg) -> OUI.Checkbox.Checkbox { a | needOnChangeOrDisabled : () } msg -> OUI.Checkbox.Checkbox { a | hasAction : () } msg"},{"name":"withChecked","comment":" Set the 'checked' state. It not used, the checkbox is 'undetermined'.\n","type":"Basics.Bool -> OUI.Checkbox.Checkbox { a | needChecked : () } msg -> OUI.Checkbox.Checkbox { a | withChecked : () } msg"},{"name":"withColor","comment":" Change the checkbox color\n","type":"OUI.Color -> OUI.Checkbox.Checkbox a msg -> OUI.Checkbox.Checkbox a msg"},{"name":"withIcon","comment":" Change the check icon used at rendering\n","type":"OUI.Icon.Icon -> OUI.Checkbox.Checkbox a msg -> OUI.Checkbox.Checkbox a msg"}],"binops":[]},{"name":"OUI.Dialog","comment":" Dialogs provide important prompts in a user flow\n\n\n# Constructors\n\n@docs Dialog, Width, new\n\n@docs withIcon, withSupportingText, withWidth\n\n@docs onDismiss, onAccept\n\n\n# Getters\n\n@docs getHeadline, getIcon, getSupportingText, getWidth, getAccept, getDismiss\n\n","unions":[{"name":"Dialog","comment":" A dialog\n","args":["msg"],"cases":[]},{"name":"Width","comment":" Dialog width\n","args":[],"cases":[["Small",[]],["Medium",[]],["Large",[]],["AutoWidth",[]],["Fullscreen",[]]]}],"aliases":[],"values":[{"name":"getAccept","comment":" get the 'accept' action\n","type":"OUI.Dialog.Dialog msg -> Maybe.Maybe ( String.String, msg )"},{"name":"getDismiss","comment":" get the 'dismiss' action\n","type":"OUI.Dialog.Dialog msg -> Maybe.Maybe ( String.String, msg )"},{"name":"getHeadline","comment":" get the headline\n","type":"OUI.Dialog.Dialog msg -> String.String"},{"name":"getIcon","comment":" get the icon\n","type":"OUI.Dialog.Dialog msg -> Maybe.Maybe OUI.Icon.Icon"},{"name":"getSupportingText","comment":" get the supporting text\n","type":"OUI.Dialog.Dialog msg -> Maybe.Maybe String.String"},{"name":"getWidth","comment":" get the width\n","type":"OUI.Dialog.Dialog msg -> OUI.Dialog.Width"},{"name":"new","comment":" Creates a new dialog with a single headline and a dismiss action\n","type":"String.String -> OUI.Dialog.Dialog msg"},{"name":"onAccept","comment":" add a 'accept' action\n","type":"String.String -> msg -> OUI.Dialog.Dialog msg -> OUI.Dialog.Dialog msg"},{"name":"onDismiss","comment":" add a 'dismiss' action\n","type":"String.String -> msg -> OUI.Dialog.Dialog msg -> OUI.Dialog.Dialog msg"},{"name":"withIcon","comment":" add a hero icon\n","type":"OUI.Icon.Icon -> OUI.Dialog.Dialog msg -> OUI.Dialog.Dialog msg"},{"name":"withSupportingText","comment":" add a supporting text\n","type":"String.String -> OUI.Dialog.Dialog msg -> OUI.Dialog.Dialog msg"},{"name":"withWidth","comment":" set a width\n","type":"OUI.Dialog.Width -> OUI.Dialog.Dialog msg -> OUI.Dialog.Dialog msg"}],"binops":[]},{"name":"OUI.Divider","comment":" A divider creation API\n\nA divider is a thin line that groups content in lists and containers\n\n@docs Divider\n\n\n# Constructor\n\n@docs new\n\n","unions":[{"name":"Divider","comment":" A divider\n","args":[],"cases":[["Divider",[]]]}],"aliases":[],"values":[{"name":"new","comment":" Create a divider with the given thickness\n\nBy default, the divider has a thickness of 1dp and it's color is outline variant\n\n","type":"OUI.Divider.Divider"}],"binops":[]},{"name":"OUI.Element.Modal","comment":" Utilities for Elm-UI\n\n\n# Modals\n\nThis modal API is taken from\n[Orasund/elm-ui-widgets](https://package.elm-lang.org/packages/Orasund/elm-ui-widgets/latest/)\n\n@docs Modal, single, multi, map\n\n","unions":[],"aliases":[{"name":"Modal","comment":" A modal\n","args":["msg"],"type":"{ onDismiss : Maybe.Maybe msg, content : Element.Element msg }"}],"values":[{"name":"map","comment":" map a Modal\n","type":"(a -> b) -> OUI.Element.Modal.Modal a -> OUI.Element.Modal.Modal b"},{"name":"multi","comment":" Same implementation as `singleModal` but also displays the \"queued\" modals.\n\n import Element\n\n type Msg\n = Close\n\n Element.layout\n (multiModal\n [ { onDismiss = Just Close\n , content =\n Element.text \"Click outside this window to close it.\"\n }\n ]\n )\n |> always \"Ignore this line\" --> \"Ignore this line\"\n\n","type":"List.List (OUI.Element.Modal.Modal msg) -> List.List (Element.Attribute msg)"},{"name":"single","comment":" A modal showing a single element.\n\nMaterial design only allows one element at a time to be viewed as a modal.\nTo make things easier, this widget only views the first element of the list.\nThis way you can see the list as a queue of modals.\n\n import Element\n\n type Msg\n = Close\n\n Element.layout\n (singleModal\n [ { onDismiss = Just Close\n , content =\n Element.text \"Click outside this window to close it.\"\n }\n ]\n )\n |> always \"Ignore this line\" --> \"Ignore this line\"\n\nTechnical Remark:\n\n - To stop the screen from scrolling, set the height of the layout to the height of the screen.\n\n","type":"List.List (OUI.Element.Modal.Modal msg) -> List.List (Element.Attribute msg)"}],"binops":[]},{"name":"OUI.Explorer","comment":"\n\n\n# Explorers\n\n@docs Explorer, explorer, explorerWithTheme\n\n\n# Books\n\n@docs Book, BookMsg, addBook, book, statefulBook, bookMsg\n\n\n# Colorschemes\n\n@docs ColorSchemeType, setColorTheme, addColorTheme\n\n\n# Chapters\n\n@docs withMarkdownChapter, withStaticChapter, withChapter\n\n\n# Other\n\n@docs Page, Route, Shared, SharedMsg\n\n@docs setTheme, category, logEvent, logEffect, finalize\n\n","unions":[{"name":"BookMsg","comment":" A stateless book message\n","args":["msg"],"cases":[]},{"name":"ColorSchemeType","comment":" Color scheme light/dark\n","args":[],"cases":[]},{"name":"Explorer","comment":" explorer type definition\n","args":["themeExt","current","previous","currentMsg","previousMsg"],"cases":[]},{"name":"SharedMsg","comment":" Shared state message\n","args":[],"cases":[]}],"aliases":[{"name":"Book","comment":" A stateless book\n","args":["themeExt","model","msg"],"type":"{ title : String.String, init : OUI.Explorer.Shared themeExt -> ( model, Effect.Effect OUI.Explorer.SharedMsg msg ), update : OUI.Explorer.Shared themeExt -> msg -> model -> ( model, Effect.Effect OUI.Explorer.SharedMsg msg ), subscriptions : OUI.Explorer.Shared themeExt -> model -> Platform.Sub.Sub msg, chapters : List.List (OUI.Explorer.Shared themeExt -> model -> Element.Element (OUI.Explorer.BookMsg msg)) }"},{"name":"Page","comment":" A explorer page\n","args":["msg"],"type":"{ title : String.String, content : Element.Element msg }"},{"name":"Route","comment":" The explorer routes are simple strings\n","args":[],"type":"String.String"},{"name":"Shared","comment":" The shared state\n","args":["themeExt"],"type":"{ navKey : Browser.Navigation.Key, lastEvents : List.List String.String, theme : OUI.Material.Theme.Theme themeExt, colorThemeList : List.List OUI.Material.Color.Theme, selectedColorScheme : ( Basics.Int, OUI.Explorer.ColorSchemeType ), selectedBook : String.String, colorThemeButton : OUI.MenuButton.State }"}],"values":[{"name":"addBook","comment":" Add a book to the current category\n","type":"OUI.Explorer.Book themeExt model msg -> OUI.Explorer.Explorer themeExt current previous currentMsg previousMsg -> OUI.Explorer.Explorer themeExt model (Spa.PageStack.Model Spa.SetupError current previous) (OUI.Explorer.BookMsg msg) (Spa.PageStack.Msg OUI.Explorer.Route currentMsg previousMsg)"},{"name":"addColorTheme","comment":" adds a color theme to the list of selectable color themes\n","type":"OUI.Material.Color.Theme -> OUI.Explorer.Explorer themeExt c p cm pm -> OUI.Explorer.Explorer themeExt c p cm pm"},{"name":"book","comment":" Creates a new static book\n","type":"String.String -> OUI.Explorer.Book themeExt () ()"},{"name":"bookMsg","comment":" wrap a book msg into a `BookMsg msg`. This is needed in views.\n","type":"msg -> OUI.Explorer.BookMsg msg"},{"name":"category","comment":" Add a category to a Explorer\n\nAll subsequent books will be added to this category, until a new category is\nadded.\n\n","type":"String.String -> OUI.Explorer.Explorer themeExt current previous currentMsg previousMsg -> OUI.Explorer.Explorer themeExt current previous currentMsg previousMsg"},{"name":"explorer","comment":" creates an empty Explorer\n","type":"OUI.Explorer.Explorer () () () () ()"},{"name":"explorerWithTheme","comment":" creates an empty Explorer with a customized theme type\n","type":"OUI.Material.Theme.Theme themeExt -> OUI.Explorer.Explorer themeExt () () () ()"},{"name":"finalize","comment":" Finalize a explorer and returns Program\n","type":"OUI.Explorer.Explorer themeExt current previous currentMsg previousMsg -> Spa.Application Json.Decode.Value (OUI.Explorer.Shared themeExt) OUI.Explorer.SharedMsg String.String current previous currentMsg previousMsg"},{"name":"logEffect","comment":" A simple log event, as a Effect\n\nThe passed string will be logged in the log event window\n\nSame as 'logEvent', but for update/init\n\n","type":"String.String -> Effect.Effect OUI.Explorer.SharedMsg msg"},{"name":"logEvent","comment":" A simple log event\n\nThe passed string will be logged in the log event window\n\n","type":"String.String -> OUI.Explorer.BookMsg msg"},{"name":"setColorTheme","comment":" takes a color theme sets it as default\n","type":"OUI.Material.Color.Theme -> OUI.Explorer.Explorer themeExt c p cm pm -> OUI.Explorer.Explorer themeExt c p cm pm"},{"name":"setTheme","comment":" sets the theme\n","type":"OUI.Material.Theme.Theme themeExt -> OUI.Explorer.Explorer themeExt c p cm pm -> OUI.Explorer.Explorer themeExt c p cm pm"},{"name":"statefulBook","comment":" Creates a new stateful book\n","type":"String.String -> { init : OUI.Explorer.Shared themeExt -> ( model, Effect.Effect OUI.Explorer.SharedMsg msg ), update : OUI.Explorer.Shared themeExt -> msg -> model -> ( model, Effect.Effect OUI.Explorer.SharedMsg msg ), subscriptions : OUI.Explorer.Shared themeExt -> model -> Platform.Sub.Sub msg } -> OUI.Explorer.Book themeExt model msg"},{"name":"withChapter","comment":" Add a chapter to a book\n","type":"(OUI.Explorer.Shared themeExt -> model -> Element.Element (OUI.Explorer.BookMsg msg)) -> OUI.Explorer.Book themeExt model msg -> OUI.Explorer.Book themeExt model msg"},{"name":"withMarkdownChapter","comment":" Add a mardown chapter to a book\n","type":"String.String -> OUI.Explorer.Book themeExt model msg -> OUI.Explorer.Book themeExt model msg"},{"name":"withStaticChapter","comment":" Add a static content chapter to a book\n","type":"(OUI.Explorer.Shared themeExt -> Element.Element (OUI.Explorer.BookMsg msg)) -> OUI.Explorer.Book themeExt model msg -> OUI.Explorer.Book themeExt model msg"}],"binops":[]},{"name":"OUI.Icon","comment":"\n\n\n# Constructor\n\n@docs Icon, withSize, withColor\n\n\n# Stock icons\n\n@docs blank, check, clear, light_mode, dark_mode, arrow_drop_down, arrow_drop_up\n\n\n# Adapters\n\n@docs elmMaterialIcons, materialIcons\n\n\n# Internals\n\n@docs Renderer, getSize, getColor, getRenderer\n\n","unions":[{"name":"Icon","comment":" An Icon\n\nThe default size / color is decided by the final rendering (with\nOUI.Material.renderIcon for instance).\n\nWhen used inside other components, like buttons, the color & size will most\nprobably be ignored.\n\nA future version may separated icons with size/color from raw icons\n\n","args":[],"cases":[]},{"name":"Renderer","comment":" renderer type of the Icon. Html or Svg\n","args":[],"cases":[["Svg",["Basics.Int -> Color.Color -> Svg.Svg Basics.Never"]],["Html",["Basics.Int -> Color.Color -> Html.Html Basics.Never"]]]}],"aliases":[],"values":[{"name":"arrow_drop_down","comment":" 'arrow drop down' icon, taken from icidasset/elm-material-icons\n","type":"OUI.Icon.Icon"},{"name":"arrow_drop_up","comment":" 'arrow drop up' icon, taken from icidasset/elm-material-icons\n","type":"OUI.Icon.Icon"},{"name":"blank","comment":" A blank icon, used as a placeholder\n","type":"OUI.Icon.Icon"},{"name":"check","comment":" The 'check' icon, taken from icidasset/elm-material-icons\n","type":"OUI.Icon.Icon"},{"name":"clear","comment":" A simple 'clear' icon, taken from icidasset/elm-material-icons\n","type":"OUI.Icon.Icon"},{"name":"dark_mode","comment":" 'Dark Mode' icon, taken from icidasset/elm-material-icons\n","type":"OUI.Icon.Icon"},{"name":"elmMaterialIcons","comment":" For using [icidasset/elm-material-icons](https://dark.elm.dmy.fr/packages/icidasset/elm-material-icons/latest/)\n\n import Material.Icons exposing (offline_bolt)\n import Material.Icons.Types exposing (Coloring(..))\n import OUI.Icon exposing (Icon)\n\n check : Icon\n check =\n Material.Icons.done\n |> OUI.Icon.elmMaterialIcons Color\n\n","type":"(Color.Color -> coloring) -> (Basics.Int -> coloring -> Html.Html Basics.Never) -> OUI.Icon.Icon"},{"name":"getColor","comment":" get the color\n","type":"OUI.Icon.Icon -> Maybe.Maybe OUI.Color"},{"name":"getRenderer","comment":" get the renderer\n","type":"OUI.Icon.Icon -> OUI.Icon.Renderer"},{"name":"getSize","comment":" get the size\n","type":"OUI.Icon.Icon -> Maybe.Maybe Basics.Int"},{"name":"light_mode","comment":" 'Light Mode' icon, taken from icidasset/elm-material-icons\n","type":"OUI.Icon.Icon"},{"name":"materialIcons","comment":" For using [danmarcab/material-icons](https://dark.elm.dmy.fr/packages/danmarcab/material-icons/latest/)\n\n import Material.Icons.Action\n import OUI.Icon exposing (Icon)\n\n check : Icon\n check =\n Material.Icons.Action.done\n |> OUI.Icon.materialIcons\n\n","type":"(Color.Color -> Basics.Int -> Svg.Svg Basics.Never) -> OUI.Icon.Icon"},{"name":"withColor","comment":" set the icon color\n","type":"OUI.Color -> OUI.Icon.Icon -> OUI.Icon.Icon"},{"name":"withSize","comment":" set the icon size\n","type":"Basics.Int -> OUI.Icon.Icon -> OUI.Icon.Icon"}],"binops":[]},{"name":"OUI.Image","comment":" Image component\n\n@docs Image, url, svg, withDescription\n\n\n# Internals\n\n@docs Src, getDescription, getSrc\n\n","unions":[{"name":"Image","comment":" An image\n","args":[],"cases":[]},{"name":"Src","comment":" type of an Image source. It can be u URL or a Svg Icon\n","args":[],"cases":[]}],"aliases":[],"values":[{"name":"getDescription","comment":" get the description\n","type":"OUI.Image.Image -> String.String"},{"name":"getSrc","comment":" get the src\n","type":"OUI.Image.Image -> OUI.Image.Src"},{"name":"svg","comment":" Create an image from SVG node\n","type":"Svg.Svg Basics.Never -> OUI.Image.Src"},{"name":"url","comment":" Create an image from a URL\n","type":"String.String -> OUI.Image.Src"},{"name":"withDescription","comment":" Add a description to the image\n","type":"String.String -> OUI.Image.Src -> OUI.Image.Image"}],"binops":[]},{"name":"OUI.Material","comment":" A elm-ui based renderer API\n\n\n# Basics\n\n@docs text, icon, divider, badge, progress\n\n\n# Inputs\n\n@docs button, checkbox, switch, textField, radiobutton, slider, menu, tabs\n\n\n# Complex\n\n@docs dialog, dialogWithContent, menuButton, navigation\n\n","unions":[],"aliases":[],"values":[{"name":"badge","comment":" Render a badge\n","type":"OUI.Material.Theme.Theme themeExt -> List.List (Element.Attribute msg) -> OUI.Badge.Badge -> Element.Attribute msg"},{"name":"button","comment":" Render a button\n","type":"OUI.Material.Theme.Theme themeExt -> List.List (Element.Attribute msg) -> OUI.Button.Button { constraints | hasAction : () } msg -> Element.Element msg"},{"name":"checkbox","comment":" Render a checkbox\n","type":"OUI.Material.Theme.Theme themeExt -> List.List (Element.Attribute msg) -> OUI.Checkbox.Checkbox { hasAction : (), withChecked : () } msg -> Element.Element msg"},{"name":"dialog","comment":" Render a dialog\n","type":"OUI.Material.Theme.Theme themeExt -> List.List (Element.Attribute msg) -> OUI.Dialog.Dialog msg -> OUI.Element.Modal.Modal msg"},{"name":"dialogWithContent","comment":" Render a dialog with a custom content\n","type":"OUI.Material.Theme.Theme themeExt -> List.List (Element.Attribute msg) -> Element.Element msg -> OUI.Dialog.Dialog msg -> OUI.Element.Modal.Modal msg"},{"name":"divider","comment":" Render a divider\n","type":"OUI.Material.Theme.Theme themeExt -> List.List (Element.Attribute msg) -> OUI.Divider.Divider -> Element.Element msg"},{"name":"icon","comment":" Render an icon\n","type":"OUI.Material.Theme.Theme themeExt -> List.List (Element.Attribute msg) -> OUI.Icon.Icon -> Element.Element msg"},{"name":"menu","comment":" Render a menu\n","type":"OUI.Material.Theme.Theme themeExt -> List.List (Element.Attribute msg) -> OUI.Menu.Menu item msg -> Element.Element msg"},{"name":"menuButton","comment":" Render a menu button\n","type":"OUI.Material.Theme.Theme themeExt -> OUI.MenuButton.State -> List.List (Element.Attribute msg) -> OUI.MenuButton.MenuButton btnC item msg -> Element.Element msg"},{"name":"navigation","comment":" Render a navigation trail/drawer\n","type":"OUI.Material.Theme.Theme themeExt -> List.List (Element.Attribute msg) -> OUI.Navigation.Navigation btnC key msg -> Element.Element msg"},{"name":"progress","comment":" Render a progress\n","type":"OUI.Material.Theme.Theme themeExt -> List.List (Element.Attribute msg) -> OUI.Progress.Progress -> Element.Element msg"},{"name":"radiobutton","comment":" Render a radiobutton\n","type":"OUI.Material.Theme.Theme themeExt -> List.List (Element.Attribute msg) -> OUI.RadioButton.RadioButton { hasAction : (), withSelected : () } msg -> Element.Element msg"},{"name":"slider","comment":" Render a slider\n","type":"OUI.Material.Theme.Theme themeExt -> List.List (Element.Attribute msg) -> OUI.Slider.Slider msg -> Element.Element msg"},{"name":"switch","comment":" Render a Switch\n","type":"OUI.Material.Theme.Theme themeExt -> List.List (Element.Attribute msg) -> OUI.Switch.Switch msg -> Element.Element msg"},{"name":"tabs","comment":" Render a Tabs\n","type":"OUI.Material.Theme.Theme themeExt -> List.List (Element.Attribute msg) -> OUI.Tabs.Tabs key item msg -> Element.Element msg"},{"name":"text","comment":" Render a text\n","type":"OUI.Material.Theme.Theme themeExt -> OUI.Text.Text -> Element.Element msg"},{"name":"textField","comment":" Render a TextField\n","type":"OUI.Material.Theme.Theme themeExt -> List.List (Element.Attribute msg) -> OUI.TextField.TextField msg -> Element.Element msg"}],"binops":[]},{"name":"OUI.Material.Color","comment":" Material 3 color utilities and scheme\n\n\n# Types\n\n@docs KeyColors, Scheme, Theme\n\n\n# Constructors\n\n@docs defaultKeyColors, defaultLightScheme, defaultDarkScheme, defaultTheme, lightFromKeyColors, darkFromKeyColors, makeTheme\n\n\n# Getters\n\n@docs getColor, getOnColor\n\n@docs getElementColor, getOnElementColor, toElementColor\n\n@docs getContainerColor, getOnContainerColor\n\n@docs getContainerElementColor, getOnContainerElementColor\n\n@docs getSurfaceColor, getOnSurfaceColor\n\n@docs getSurfaceVariantColor, getOnSurfaceVariantColor\n\n@docs getSurfaceContainerLowestColor, getSurfaceContainerLowColor, getSurfaceContainerColor, getSurfaceContainerHighColor, getSurfaceContainerHighestColor\n\n@docs hoverStateLayerOpacity, focusStateLayerOpacity, pressStateLayerOpacity\n\n\n# Helper functions\n\n@docs setAlpha, withShade, isError, tone\n\n","unions":[],"aliases":[{"name":"KeyColors","comment":" A set of colors suitable for generating a color scheme\n","args":[],"type":"{ primary : Color.Color, secondary : Color.Color, tertiary : Color.Color, error : Color.Color, neutral : Color.Color, neutralVariant : Color.Color }"},{"name":"Scheme","comment":" A Material 3 color scheme\n","args":[],"type":"{ keyColors : OUI.Material.Color.KeyColors, primary : Color.Color, primaryContainer : Color.Color, onPrimary : Color.Color, onPrimaryContainer : Color.Color, inversePrimary : Color.Color, secondary : Color.Color, secondaryContainer : Color.Color, onSecondary : Color.Color, onSecondaryContainer : Color.Color, tertiary : Color.Color, tertiaryContainer : Color.Color, onTertiary : Color.Color, onTertiaryContainer : Color.Color, surface : Color.Color, surfaceDim : Color.Color, surfaceBright : Color.Color, surfaceContainerLowest : Color.Color, surfaceContainerLow : Color.Color, surfaceContainer : Color.Color, surfaceContainerHigh : Color.Color, surfaceContainerHighest : Color.Color, surfaceVariant : Color.Color, onSurface : Color.Color, onSurfaceVariant : Color.Color, inverseSurface : Color.Color, inverseOnSurface : Color.Color, background : Color.Color, onBackground : Color.Color, error : Color.Color, errorContainer : Color.Color, onError : Color.Color, onErrorContainer : Color.Color, outline : Color.Color, outlineVariant : Color.Color, shadow : Color.Color, surfaceTint : Color.Color, scrim : Color.Color }"},{"name":"Theme","comment":" A Material color theme\n","args":[],"type":"{ name : String.String, description : String.String, keyColors : OUI.Material.Color.KeyColors, schemes : { light : OUI.Material.Color.Scheme, dark : OUI.Material.Color.Scheme } }"}],"values":[{"name":"darkFromKeyColors","comment":" Create a dark color scheme from key colors\n","type":"OUI.Material.Color.KeyColors -> OUI.Material.Color.Scheme"},{"name":"defaultDarkScheme","comment":" The default Material 3 dark theme based on the default key colors\n","type":"OUI.Material.Color.Scheme"},{"name":"defaultKeyColors","comment":" The default Material 3 key colors\n","type":"OUI.Material.Color.KeyColors"},{"name":"defaultLightScheme","comment":" The default Material 3 light theme based on the default key colors\n","type":"OUI.Material.Color.Scheme"},{"name":"defaultTheme","comment":" The default Material 3 theme\n","type":"OUI.Material.Color.Theme"},{"name":"focusStateLayerOpacity","comment":" The \"focus\" state layer opacity\n","type":"Basics.Float"},{"name":"getColor","comment":" Get a color of a scheme\n","type":"OUI.Color -> OUI.Material.Color.Scheme -> Color.Color"},{"name":"getContainerColor","comment":" get a container color\n","type":"OUI.Color -> OUI.Material.Color.Scheme -> Color.Color"},{"name":"getContainerElementColor","comment":" get a \"container\" color directly as a 'Element.color'\n","type":"OUI.Color -> OUI.Material.Color.Scheme -> Element.Color"},{"name":"getElementColor","comment":" Get a color of a scheme directly as a 'Element.Color'\n","type":"OUI.Color -> OUI.Material.Color.Scheme -> Element.Color"},{"name":"getOnColor","comment":" Get a \"on\" color of a scheme\n","type":"OUI.Color -> OUI.Material.Color.Scheme -> Color.Color"},{"name":"getOnContainerColor","comment":" get a \"on container\" color\n","type":"OUI.Color -> OUI.Material.Color.Scheme -> Color.Color"},{"name":"getOnContainerElementColor","comment":" get a \"on container\" color directly as a 'Element.color'\n","type":"OUI.Color -> OUI.Material.Color.Scheme -> Element.Color"},{"name":"getOnElementColor","comment":" Get a \"on\" color of a scheme directly as a 'Element.Color'\n","type":"OUI.Color -> OUI.Material.Color.Scheme -> Element.Color"},{"name":"getOnSurfaceColor","comment":" get the \"on surface\" color\n","type":"OUI.Color -> OUI.Material.Color.Scheme -> Color.Color"},{"name":"getOnSurfaceVariantColor","comment":" get the \"on surface variant\" color\n","type":"OUI.Color -> OUI.Material.Color.Scheme -> Color.Color"},{"name":"getSurfaceColor","comment":" get the \"surface\" color\n","type":"OUI.Color -> OUI.Material.Color.Scheme -> Color.Color"},{"name":"getSurfaceContainerColor","comment":" get the \"surface container\" color\n","type":"OUI.Color -> OUI.Material.Color.Scheme -> Color.Color"},{"name":"getSurfaceContainerHighColor","comment":" get the \"surface container high\" color\n","type":"OUI.Color -> OUI.Material.Color.Scheme -> Color.Color"},{"name":"getSurfaceContainerHighestColor","comment":" get the \"surface container highest\" color\n","type":"OUI.Color -> OUI.Material.Color.Scheme -> Color.Color"},{"name":"getSurfaceContainerLowColor","comment":" get the \"surface container low\" color\n","type":"OUI.Color -> OUI.Material.Color.Scheme -> Color.Color"},{"name":"getSurfaceContainerLowestColor","comment":" get the \"surface container lowest\" color\n","type":"OUI.Color -> OUI.Material.Color.Scheme -> Color.Color"},{"name":"getSurfaceVariantColor","comment":" get the \"surface variant\" color\n","type":"OUI.Color -> OUI.Material.Color.Scheme -> Color.Color"},{"name":"hoverStateLayerOpacity","comment":" The \"hover\" state layer opacity\n","type":"Basics.Float"},{"name":"isError","comment":" returns true if the given color is a error color\n","type":"OUI.Color -> Basics.Bool"},{"name":"lightFromKeyColors","comment":" Create a light color scheme from key colors\n","type":"OUI.Material.Color.KeyColors -> OUI.Material.Color.Scheme"},{"name":"makeTheme","comment":" Build a theme\n","type":"String.String -> String.String -> OUI.Material.Color.KeyColors -> OUI.Material.Color.Theme"},{"name":"pressStateLayerOpacity","comment":" The \"press\" state layer opacity\n","type":"Basics.Float"},{"name":"setAlpha","comment":" set the opacity of a color\n","type":"Basics.Float -> Color.Color -> Color.Color"},{"name":"toElementColor","comment":" Convert a Color to Element.Color\n","type":"Color.Color -> Element.Color"},{"name":"tone","comment":" Change the tone of a color\n\nSee <https://m3.material.io/styles/color/the-color-system/key-colors-tones>\n\n","type":"Basics.Int -> Color.Color -> Color.Color"},{"name":"withShade","comment":" Simulates adding a color in front (subtractive color mixing).\n\n --Darkens the color by 50%\n withShade (Color.rgb255 255 255 255) 0.5\n\n --Makes the color 50% more red\n withShade (Color.rgb255 255 0 0) 0.5\n\n","type":"Color.Color -> Basics.Float -> Color.Color -> Color.Color"}],"binops":[]},{"name":"OUI.Material.Theme","comment":"\n\n\n# Constructor\n\n@docs Theme, defaultTheme\n\n\n# Core properties\n\n\n## Typescale\n\n@docs Typescale, Typography, defaultTypescale, typescale, withTypescale\n\n\n## Color scheme\n\n@docs colorscheme, withColorscheme\n\n\n## Extension\n\n@docs ext, withExt\n\n\n# Component themes\n\n\n## Badge\n\n@docs BadgeTheme, badge, withBadge\n\n\n## Button\n\n@docs ButtonTheme, ButtonLayout, ButtonFABLayout, ButtonIconLayout, button, withButton\n\n\n## Checkbox\n\n@docs CheckboxTheme, checkbox, withCheckbox\n\n\n## Dialog\n\n@docs DialogTheme, dialog, withDialog\n\n\n## Divider\n\n@docs DividerTheme, divider, withDivider\n\n\n## Menu\n\n@docs MenuTheme, menu, withMenu\n\n\n## Navigation\n\n@docs NavigationTheme, navigation, withNavigation\n\n\n## Progress\n\n@docs ProgressTheme, progress, withProgress\n\n\n## Radio button\n\n@docs RadioButtonTheme, radiobutton, withRadiobutton\n\n\n## Slider\n\n@docs SliderTheme, slider, withSlider\n\n\n## Switch\n\n@docs SwitchTheme, switch, withSwitch\n\n\n## Tabs\n\n@docs TabsTheme, tabs, withTabs\n\n\n## TextField\n\n@docs TextFieldTheme, textfield, withTextfield\n\n","unions":[{"name":"Theme","comment":" A material theme\n\nContains a color scheme, a typescale, and layouts for all the components\n\nIt can also carry a custom extension to store your own components theme, extra\ncolors, or anything that makes sense in your application\n\n","args":["ext"],"cases":[]}],"aliases":[{"name":"BadgeTheme","comment":" A badge theme\n","args":[],"type":"{ small : { shape : Basics.Int, size : Basics.Int, pos : ( Basics.Int, Basics.Int ) }, large : { shape : Basics.Int, size : Basics.Int, padding : Basics.Int, textSize : OUI.Text.Size, textType : OUI.Text.Type, textColor : OUI.Text.Color, pos : ( Basics.Int, Basics.Int ) }, color : OUI.Color }"},{"name":"ButtonFABLayout","comment":" A FAB button layout\n","args":[],"type":"{ containerHeight : Basics.Int, containerShape : Basics.Int, containerWidth : Basics.Int, iconSize : Basics.Int }"},{"name":"ButtonIconLayout","comment":" A Icon button layout\n","args":[],"type":"{ iconSize : Basics.Int, containerSize : Basics.Int }"},{"name":"ButtonLayout","comment":" A normal button layout\n","args":[],"type":"{ containerHeight : Basics.Int, containerRadius : Basics.Int, iconSize : Basics.Int, leftRightPadding : Basics.Int, leftPaddingWithIcon : Basics.Int, rightPaddingWithIcon : Basics.Int, paddingBetweenElements : Basics.Int, textType : OUI.Text.Type, textSize : OUI.Text.Size }"},{"name":"ButtonTheme","comment":" A Button theme\n","args":[],"type":"{ common : OUI.Material.Theme.ButtonLayout, fab : { small : OUI.Material.Theme.ButtonFABLayout, medium : OUI.Material.Theme.ButtonFABLayout, large : OUI.Material.Theme.ButtonFABLayout, extended : OUI.Material.Theme.ButtonLayout }, icon : OUI.Material.Theme.ButtonIconLayout }"},{"name":"CheckboxTheme","comment":" A Checkbox theme\n","args":[],"type":"{ containerWidth : Basics.Int, containerHeight : Basics.Int, containerShape : Basics.Int, iconSize : Basics.Int, stateLayerSize : Basics.Int }"},{"name":"DialogTheme","comment":" A Dialog theme\n","args":[],"type":"{ containerShape : Basics.Int, containerWidth : { min : Basics.Int, max : Basics.Int }, iconSize : Basics.Int, padding : Basics.Int, paddingBetweenButtons : Basics.Int, paddingBetweenIconAndTitle : Basics.Int, paddingBetweenTitleAndBody : Basics.Int, paddingBetweenBodyAndAction : Basics.Int, fsCloseIcon : OUI.Icon.Icon }"},{"name":"DividerTheme","comment":" A Divider theme\n","args":[],"type":"{ thickness : Basics.Int }"},{"name":"MenuTheme","comment":" A Menu theme\n","args":[],"type":"{ radius : Basics.Int, topBottomPadding : Basics.Int, leftRightPadding : Basics.Int, paddingWithinItem : Basics.Int, itemHeight : Basics.Int, iconSize : Basics.Int, minWidth : Basics.Int, maxWidth : Basics.Int }"},{"name":"NavigationTheme","comment":" A Navigation theme\n","args":[],"type":"{ drawer : { containerWidth : Basics.Int, iconSize : Basics.Int, activeIndicatorHeight : Basics.Int, activeIndicatorShape : Basics.Int, activeIndicatorWidth : Basics.Int, leftPadding : Basics.Int, rightPadding : Basics.Int, activeIndicatorPadding : Basics.Int, badgeRightPadding : Basics.Int, paddingBetweenElements : Basics.Int }, rail : { containerWidth : Basics.Int, destinationItemHeight : Basics.Int, activeIndicatorHeight : Basics.Int, activeIndicatorWidth : Basics.Int, activeIndicatorShape : Basics.Int, iconSize : Basics.Int, badgeTheme : OUI.Material.Theme.BadgeTheme, paddingBetweenEdgeAndActiveIndicator : Basics.Int, paddingbetweenActiveIndicatorAndLabelText : Basics.Int, paddingBetweenDestinationItems : Basics.Int } }"},{"name":"ProgressTheme","comment":" A Progress theme\n","args":[],"type":"{ activeIndicator : { thickness : Basics.Int }, trackIndicator : { thickness : Basics.Int }, circularSize : Basics.Int }"},{"name":"RadioButtonTheme","comment":" A RadioButton theme\n","args":[],"type":"{ containerWidth : Basics.Int, containerHeight : Basics.Int, containerShape : Basics.Int, contentSize : Basics.Int, stateLayerSize : Basics.Int, borderWidth : Basics.Int }"},{"name":"SliderTheme","comment":" A Slider theme\n","args":[],"type":"{ trackHeight : Basics.Int, labelContainerHeight : Basics.Int, labelContainerWidth : Basics.Int, handleHeight : Basics.Int, handleWidth : Basics.Int }"},{"name":"SwitchTheme","comment":" A Switch theme\n","args":[],"type":"{ track : { height : Basics.Int, width : Basics.Int, outlineWidth : Basics.Int, corner : Basics.Int }, thumb : { size : { unselected : Basics.Int, withIcon : Basics.Int, selected : Basics.Int, pressed : Basics.Int } }, stateLayer : { size : Basics.Int }, icon : { sizeUnselected : Basics.Int, sizeSelected : Basics.Int } }"},{"name":"TabsTheme","comment":" A Tabs theme\n","args":[],"type":"{ primary : { containerHeight : Basics.Int, activeIndicatorHeight : Basics.Int, activeIndicatorWidth : Basics.Int }, secondary : { containerHeight : Basics.Int, activeIndicatorHeight : Basics.Int }, paddingBetweenIconAndText : Basics.Int, paddingBetweenInlineIconAndText : Basics.Int, paddingBetweenInlineTextAndBadge : Basics.Int, text : { size : OUI.Text.Size, type_ : OUI.Text.Type }, color : { selected : OUI.Color } }"},{"name":"TextFieldTheme","comment":" A TextField theme\n","args":[],"type":"{ height : Basics.Int, leftRightPaddingWithoutIcon : Basics.Int, leftRightPaddingWithIcon : Basics.Int, paddingBetweenIconAndText : Basics.Int, supportingTextTopPadding : Basics.Int, paddingBetweenSupportingTextAndCharacterCounter : Basics.Int, iconSize : Basics.Int, filled : { topBottomPadding : Basics.Int }, outlined : { labelLeftRightPadding : Basics.Int, labelBottom : Basics.Int, shape : Basics.Int } }"},{"name":"Typescale","comment":" A font typescale\n","args":[],"type":"{ display : { small : OUI.Material.Theme.Typography, medium : OUI.Material.Theme.Typography, large : OUI.Material.Theme.Typography }, headline : { small : OUI.Material.Theme.Typography, medium : OUI.Material.Theme.Typography, large : OUI.Material.Theme.Typography }, title : { small : OUI.Material.Theme.Typography, medium : OUI.Material.Theme.Typography, large : OUI.Material.Theme.Typography }, label : { small : OUI.Material.Theme.Typography, medium : OUI.Material.Theme.Typography, large : OUI.Material.Theme.Typography }, body : { small : OUI.Material.Theme.Typography, medium : OUI.Material.Theme.Typography, large : OUI.Material.Theme.Typography } }"},{"name":"Typography","comment":" A font type\n","args":[],"type":"{ font : String.String, lineHeight : Basics.Int, size : Basics.Int, tracking : Basics.Float, weight : Basics.Int }"}],"values":[{"name":"badge","comment":" get the badge theme\n","type":"OUI.Material.Theme.Theme ext -> OUI.Material.Theme.BadgeTheme"},{"name":"button","comment":" get the button theme\n","type":"OUI.Material.Theme.Theme ext -> OUI.Material.Theme.ButtonTheme"},{"name":"checkbox","comment":" get the checkbox theme\n","type":"OUI.Material.Theme.Theme ext -> OUI.Material.Theme.CheckboxTheme"},{"name":"colorscheme","comment":" get the color [Scheme](OUI-Material-Color#Scheme)\n","type":"OUI.Material.Theme.Theme ext -> OUI.Material.Color.Scheme"},{"name":"defaultTheme","comment":" The default Material 3 theme\n","type":"OUI.Material.Theme.Theme ()"},{"name":"defaultTypescale","comment":" The default Material 3 Typescale\n","type":"OUI.Material.Theme.Typescale"},{"name":"dialog","comment":" get the dialog theme\n","type":"OUI.Material.Theme.Theme ext -> OUI.Material.Theme.DialogTheme"},{"name":"divider","comment":" get the divider theme\n","type":"OUI.Material.Theme.Theme ext -> OUI.Material.Theme.DividerTheme"},{"name":"ext","comment":" get the theme extension\n","type":"OUI.Material.Theme.Theme ext -> ext"},{"name":"menu","comment":" get the mene theme\n","type":"OUI.Material.Theme.Theme ext -> OUI.Material.Theme.MenuTheme"},{"name":"navigation","comment":" get the navigation theme\n","type":"OUI.Material.Theme.Theme ext -> OUI.Material.Theme.NavigationTheme"},{"name":"progress","comment":" get the progress theme\n","type":"OUI.Material.Theme.Theme ext -> OUI.Material.Theme.ProgressTheme"},{"name":"radiobutton","comment":" get the radiobutton theme\n","type":"OUI.Material.Theme.Theme ext -> OUI.Material.Theme.RadioButtonTheme"},{"name":"slider","comment":" get the slider theme\n","type":"OUI.Material.Theme.Theme ext -> OUI.Material.Theme.SliderTheme"},{"name":"switch","comment":" get the switch theme\n","type":"OUI.Material.Theme.Theme ext -> OUI.Material.Theme.SwitchTheme"},{"name":"tabs","comment":" get the tabs theme\n","type":"OUI.Material.Theme.Theme ext -> OUI.Material.Theme.TabsTheme"},{"name":"textfield","comment":" get the textfield theme\n","type":"OUI.Material.Theme.Theme ext -> OUI.Material.Theme.TextFieldTheme"},{"name":"typescale","comment":" get the typescale\n","type":"OUI.Material.Theme.Theme ext -> OUI.Material.Theme.Typescale"},{"name":"withBadge","comment":" set the badge theme\n","type":"OUI.Material.Theme.BadgeTheme -> OUI.Material.Theme.Theme ext -> OUI.Material.Theme.Theme ext"},{"name":"withButton","comment":" set the button theme\n","type":"OUI.Material.Theme.ButtonTheme -> OUI.Material.Theme.Theme ext -> OUI.Material.Theme.Theme ext"},{"name":"withCheckbox","comment":" set the checkbox theme\n","type":"OUI.Material.Theme.CheckboxTheme -> OUI.Material.Theme.Theme ext -> OUI.Material.Theme.Theme ext"},{"name":"withColorscheme","comment":" set the colorscheme\n","type":"OUI.Material.Color.Scheme -> OUI.Material.Theme.Theme ext -> OUI.Material.Theme.Theme ext"},{"name":"withDialog","comment":" set the dialog theme\n","type":"OUI.Material.Theme.DialogTheme -> OUI.Material.Theme.Theme ext -> OUI.Material.Theme.Theme ext"},{"name":"withDivider","comment":" set the divider theme\n","type":"OUI.Material.Theme.DividerTheme -> OUI.Material.Theme.Theme ext -> OUI.Material.Theme.Theme ext"},{"name":"withExt","comment":" set the theme extension\n","type":"ext -> OUI.Material.Theme.Theme ext1 -> OUI.Material.Theme.Theme ext"},{"name":"withMenu","comment":" set the menu theme\n","type":"OUI.Material.Theme.MenuTheme -> OUI.Material.Theme.Theme ext -> OUI.Material.Theme.Theme ext"},{"name":"withNavigation","comment":" set the navigation theme\n","type":"OUI.Material.Theme.NavigationTheme -> OUI.Material.Theme.Theme ext -> OUI.Material.Theme.Theme ext"},{"name":"withProgress","comment":" set the switch theme\n","type":"OUI.Material.Theme.ProgressTheme -> OUI.Material.Theme.Theme ext -> OUI.Material.Theme.Theme ext"},{"name":"withRadiobutton","comment":" set the radiobutton theme\n","type":"OUI.Material.Theme.RadioButtonTheme -> OUI.Material.Theme.Theme ext -> OUI.Material.Theme.Theme ext"},{"name":"withSlider","comment":" set the slider theme\n","type":"OUI.Material.Theme.SliderTheme -> OUI.Material.Theme.Theme ext -> OUI.Material.Theme.Theme ext"},{"name":"withSwitch","comment":" set the switch theme\n","type":"OUI.Material.Theme.SwitchTheme -> OUI.Material.Theme.Theme ext -> OUI.Material.Theme.Theme ext"},{"name":"withTabs","comment":" set the tabs theme\n","type":"OUI.Material.Theme.TabsTheme -> OUI.Material.Theme.Theme ext -> OUI.Material.Theme.Theme ext"},{"name":"withTextfield","comment":" set the textfield theme\n","type":"OUI.Material.Theme.TextFieldTheme -> OUI.Material.Theme.Theme ext -> OUI.Material.Theme.Theme ext"},{"name":"withTypescale","comment":" set the typescale\n","type":"OUI.Material.Theme.Typescale -> OUI.Material.Theme.Theme ext -> OUI.Material.Theme.Theme ext"}],"binops":[]},{"name":"OUI.Menu","comment":" A general purpose menu\n\n\n# Types\n\n@docs Menu, Item\n\n\n# Menu builders\n\n@docs new, onClick, withIcon, withTrailingIcon\n\n@docs addItems, addDivider\n\n\n# Internals\n\n@docs getItems, getItemToText, getItemToIcon, getItemToTrailingIcon, getItemSelected, getOnClick, getTextType, getTextSize\n\n","unions":[{"name":"Item","comment":" A menu item\n","args":["item"],"cases":[["Item",["item"]],["Divider",[]]]},{"name":"Menu","comment":" A menu\n","args":["item","msg"],"cases":[]}],"aliases":[],"values":[{"name":"addDivider","comment":" Add a divider the menu items\n","type":"OUI.Menu.Menu item msg -> OUI.Menu.Menu item msg"},{"name":"addItems","comment":" Set the menu items\n","type":"List.List item -> OUI.Menu.Menu item msg -> OUI.Menu.Menu item msg"},{"name":"getItemSelected","comment":" get the selected item\n","type":"OUI.Menu.Menu item msg -> item -> Basics.Bool"},{"name":"getItemToIcon","comment":" get the item to icon function\n","type":"OUI.Menu.Menu item msg -> item -> Maybe.Maybe OUI.Icon.Icon"},{"name":"getItemToText","comment":" get the item to text function\n","type":"OUI.Menu.Menu item msg -> item -> String.String"},{"name":"getItemToTrailingIcon","comment":" get the item to trailing icon function\n","type":"OUI.Menu.Menu item msg -> item -> Maybe.Maybe OUI.Icon.Icon"},{"name":"getItems","comment":" get the items\n","type":"OUI.Menu.Menu item msg -> List.List (OUI.Menu.Item item)"},{"name":"getOnClick","comment":" get the on click handler\n","type":"OUI.Menu.Menu item msg -> Maybe.Maybe (item -> msg)"},{"name":"getTextSize","comment":" get the text size\n","type":"OUI.Menu.Menu item msg -> OUI.Text.Size"},{"name":"getTextType","comment":" get the text type\n","type":"OUI.Menu.Menu item msg -> OUI.Text.Type"},{"name":"new","comment":" Creates a simple text menu\n","type":"(item -> String.String) -> OUI.Menu.Menu item msg"},{"name":"onClick","comment":" Set an event handler for when an item is clicked\n","type":"(item -> msg) -> OUI.Menu.Menu item msg -> OUI.Menu.Menu item msg"},{"name":"withIcon","comment":" Add leading icons to the menu\n","type":"(item -> Maybe.Maybe OUI.Icon.Icon) -> OUI.Menu.Menu item msg -> OUI.Menu.Menu item msg"},{"name":"withTrailingIcon","comment":" Add trailing icons to the menu\n","type":"(item -> Maybe.Maybe OUI.Icon.Icon) -> OUI.Menu.Menu item msg -> OUI.Menu.Menu item msg"}],"binops":[]},{"name":"OUI.MenuButton","comment":" A button+menu creation API\n\nThe button will open a menu when clicked.\n\n@docs MenuButton, Align, Key\n\n\n# Constructor\n\n@docs new, alignLeft, alignRight, alignTop, alignBottom, withOpenCloseIcons\n\n\n# State management\n\nMenu + button is a stateful component\n\n@docs State, Msg, init, update, onOutsideClick\n\n\n## update internals\n\nIf you need to change the update effect into something else than Cmd (say, a\n[`Effect`](https://package.elm-lang.org/packages/orus-io/elm-spa/latest/Effect#Effect), here is\neverything you need.\n\n@docs Effect, updateWithoutPerform, performEffect\n\n\n# Internal\n\n@docs getButton, getMenu, getMenuAlign, getOnKeyDown, getOnLoseFocus, getOpenCloseIcons\n\n","unions":[{"name":"Align","comment":" Menu alignment\n","args":[],"cases":[["AlignTopLeft",[]],["AlignTopRight",[]],["AlignBottomRight",[]],["AlignBottomLeft",[]]]},{"name":"Effect","comment":" Internal update returns Effect instead of Cmd\n","args":["msg"],"cases":[["Loopback",["msg"]]]},{"name":"Key","comment":" Keys\n","args":[],"cases":[["ArrowDown",[]],["ArrowUp",[]],["Enter",[]],["Esc",[]]]},{"name":"MenuButton","comment":" A Button + Menu component\n","args":["btnC","item","msg"],"cases":[]},{"name":"Msg","comment":" The component message\n","args":["item","msg"],"cases":[]}],"aliases":[{"name":"State","comment":" The component state\n","args":[],"type":"{ id : String.String, opened : Basics.Bool, highlighted : Basics.Int }"}],"values":[{"name":"alignBottom","comment":" Change the menu alignment to 'bottom'\n","type":"OUI.MenuButton.MenuButton btnC item msg -> OUI.MenuButton.MenuButton btnC item msg"},{"name":"alignLeft","comment":" Change the menu alignment to 'left' (default)\n","type":"OUI.MenuButton.MenuButton btnC item msg -> OUI.MenuButton.MenuButton btnC item msg"},{"name":"alignRight","comment":" Change the menu alignment to 'right'\n","type":"OUI.MenuButton.MenuButton btnC item msg -> OUI.MenuButton.MenuButton btnC item msg"},{"name":"alignTop","comment":" Change the menu alignment to 'top'\n","type":"OUI.MenuButton.MenuButton btnC item msg -> OUI.MenuButton.MenuButton btnC item msg"},{"name":"getButton","comment":" get the button\n","type":"OUI.MenuButton.MenuButton btnC item msg -> OUI.Button.Button { btnC | hasAction : () } msg"},{"name":"getMenu","comment":" get the menu\n","type":"OUI.MenuButton.MenuButton btnC item msg -> OUI.Menu.Menu item msg"},{"name":"getMenuAlign","comment":" get the menu alignment\n","type":"OUI.MenuButton.MenuButton btnC item msg -> OUI.MenuButton.Align"},{"name":"getOnKeyDown","comment":" get the keydown message\n","type":"OUI.MenuButton.MenuButton btnC item msg -> OUI.MenuButton.Key -> msg"},{"name":"getOnLoseFocus","comment":" get the lose focus message\n","type":"OUI.MenuButton.MenuButton btnC item msg -> msg"},{"name":"getOpenCloseIcons","comment":" get the open/close icons\n","type":"OUI.MenuButton.MenuButton btnC item msg -> Maybe.Maybe ( OUI.Icon.Icon, OUI.Icon.Icon )"},{"name":"init","comment":" Initialise the State. The given id must be unique in the currently displayed\ncomponents\n","type":"String.String -> OUI.MenuButton.State"},{"name":"new","comment":" Creates a new button + menu\n\nThe button must not have any action defined on it\n\n MenuButton.new (MenuButtonMsg \"menu1\")\n OnMenu1Click\n (Button.new \"click me\"\n |> Button.outlinedButton\n )\n (Menu.new identity\n |> Menu.withItems [ \"One\", \"Two\", \"Three\" ]\n |> Menu.withIcon\n (\\i ->\n if i /= \"Two\" then\n Just OUI.Icon.check\n\n else\n Nothing\n )\n )\n |> OUI.Material.menuButton shared.theme model.menu1State []\n\n","type":"(OUI.MenuButton.Msg item msg -> msg) -> (item -> msg) -> OUI.Button.Button { btnC | needOnClickOrDisabled : () } msg -> OUI.Menu.Menu item msg -> OUI.MenuButton.MenuButton btnC item msg"},{"name":"onOutsideClick","comment":" Catch clicks outside an opened menu\n","type":"(OUI.MenuButton.Msg item msg -> msg) -> OUI.MenuButton.State -> Platform.Sub.Sub msg"},{"name":"performEffect","comment":" Change a [`Effect`](#Effect) into a [`Cmd`](https://package.elm-lang.org/packages/elm/core/latest/Platform-Cmd#Cmd)\n\nIt simply does:\n\n performEffect : Effect msg -> Cmd msg\n performEffect (Loopback msg) =\n Task.perform identity <| Task.succeed msg\n\n","type":"OUI.MenuButton.Effect msg -> Platform.Cmd.Cmd msg"},{"name":"update","comment":" Update the state given a message\n","type":"OUI.MenuButton.Msg item msg -> OUI.MenuButton.State -> ( OUI.MenuButton.State, Platform.Cmd.Cmd msg )"},{"name":"updateWithoutPerform","comment":" Do the update but returns a Effect instead of a Cmd\n\nThe Effect can be converted to a Cmd with [performEffect](#performEffect)\n\n","type":"OUI.MenuButton.Msg item msg -> OUI.MenuButton.State -> ( OUI.MenuButton.State, Maybe.Maybe (OUI.MenuButton.Effect msg) )"},{"name":"withOpenCloseIcons","comment":" withOpenCloseIcons\n","type":"OUI.Icon.Icon -> OUI.Icon.Icon -> OUI.MenuButton.MenuButton btnC item msg -> OUI.MenuButton.MenuButton btnC item msg"}],"binops":[]},{"name":"OUI.Navigation","comment":" A Navigation drawer(+rail) component\n\n@docs Navigation, new, withSelected\n\n@docs rail, modal\n\n@docs withFAB, withHeader, withImageHeader\n\n\n# Adding content\n\n@docs addEntry, addEntryWithBadge\n@docs addSectionHeader, addDivider\n\n\n# Internals\n\n@docs Mode, Entry, EntryProperties, getFAB, getHeader, getImageHeader, getSelected, getEntries, getMode, getOnSelect, getOnDismiss, getActiveColor\n\n","unions":[{"name":"Entry","comment":" Type of Entry inside the Navigation component.\nSettings -> this is a SectionHeader\nVideo -> this is an Entry\nAudio\n----- -> this is a Divider\nGameplay\nMisc\n","args":["key"],"cases":[["Entry",["key","OUI.Navigation.EntryProperties"]],["SectionHeader",["String.String"]],["Divider",[]]]},{"name":"Mode","comment":" Mode of the Navigation component\n","args":[],"cases":[["Rail",[]],["Drawer",[]],["ModalDrawer",[]]]},{"name":"Navigation","comment":" A Navigation component\n","args":["btnC","key","msg"],"cases":[]}],"aliases":[{"name":"EntryProperties","comment":" Properties of the Entry type\n","args":[],"type":"{ label : String.String, icon : OUI.Icon.Icon, badge : Maybe.Maybe OUI.Badge.Badge }"}],"values":[{"name":"addDivider","comment":" Add a divider\n","type":"OUI.Navigation.Navigation btnC key msg -> OUI.Navigation.Navigation btnC key msg"},{"name":"addEntry","comment":" Add a regular entry\n","type":"key -> String.String -> OUI.Icon.Icon -> OUI.Navigation.Navigation btnC key msg -> OUI.Navigation.Navigation btnC key msg"},{"name":"addEntryWithBadge","comment":" Add an entry with a badge\n","type":"key -> String.String -> OUI.Icon.Icon -> OUI.Badge.Badge -> OUI.Navigation.Navigation btnC key msg -> OUI.Navigation.Navigation btnC key msg"},{"name":"addSectionHeader","comment":" Add a section header\n","type":"String.String -> OUI.Navigation.Navigation btnC key msg -> OUI.Navigation.Navigation btnC key msg"},{"name":"getActiveColor","comment":" get the active color\n","type":"OUI.Navigation.Navigation btnC key msg -> OUI.Color"},{"name":"getEntries","comment":" get the entries\n","type":"OUI.Navigation.Navigation btnC key msg -> List.List (OUI.Navigation.Entry key)"},{"name":"getFAB","comment":" get the FAB button\n","type":"OUI.Navigation.Navigation btnC key msg -> Maybe.Maybe (OUI.Button.Button { btnC | hasAction : (), hasIcon : () } msg)"},{"name":"getHeader","comment":" get the text header\n","type":"OUI.Navigation.Navigation btnC key msg -> Maybe.Maybe String.String"},{"name":"getImageHeader","comment":" get the image header\n","type":"OUI.Navigation.Navigation btnC key msg -> Maybe.Maybe OUI.Image.Image"},{"name":"getMode","comment":" get the mode\n","type":"OUI.Navigation.Navigation btnC key msg -> OUI.Navigation.Mode"},{"name":"getOnDismiss","comment":" get the dismiss message\n","type":"OUI.Navigation.Navigation btnC key msg -> Maybe.Maybe msg"},{"name":"getOnSelect","comment":" get the select message\n","type":"OUI.Navigation.Navigation btnC key msg -> key -> msg"},{"name":"getSelected","comment":" get the selected key\n","type":"OUI.Navigation.Navigation btnC key msg -> Maybe.Maybe key"},{"name":"modal","comment":" Change to modal\n\nA modal is a drawer that emit a 'onDismiss' message if the user clicks outside\nof it\n\n","type":"msg -> OUI.Navigation.Navigation btnC key msg -> OUI.Navigation.Navigation btnC key msg"},{"name":"new","comment":" create a new empty Navigation drawer\n","type":"(key -> msg) -> OUI.Navigation.Navigation btnC key msg"},{"name":"rail","comment":" Change the drawer into a rail\n","type":"OUI.Navigation.Navigation btnC key msg -> OUI.Navigation.Navigation btnC key msg"},{"name":"withFAB","comment":" Add a FAB button before the entries\n","type":"OUI.Button.Button { btnC | hasAction : (), hasIcon : () } msg -> OUI.Navigation.Navigation btnC key msg -> OUI.Navigation.Navigation btnC key msg"},{"name":"withHeader","comment":" Add a text header on top of the trail/drawer\n","type":"String.String -> OUI.Navigation.Navigation btnC key msg -> OUI.Navigation.Navigation btnC key msg"},{"name":"withImageHeader","comment":" Add a image header on top of the trail/drawer\n","type":"OUI.Image.Image -> OUI.Navigation.Navigation btnC key msg -> OUI.Navigation.Navigation btnC key msg"},{"name":"withSelected","comment":" Set the currently selected entry\n","type":"key -> OUI.Navigation.Navigation btnC key msg -> OUI.Navigation.Navigation btnC key msg"}],"binops":[]},{"name":"OUI.Progress","comment":" A progress widget\n\n\n# Types\n\n@docs Progress, Type\n\n\n# Constructor\n\n@docs circular, linear, withColor, withValue\n\n\n# Internals\n\n@docs getType, getColor, getValue\n\n","unions":[{"name":"Progress","comment":" The progress\n","args":[],"cases":[]},{"name":"Type","comment":" A progress widget can be either circular of linear\n","args":[],"cases":[["Circular",[]],["Linear",[]]]}],"aliases":[],"values":[{"name":"circular","comment":" Create a circular progress widget\n","type":"OUI.Progress.Progress"},{"name":"getColor","comment":" get the color\n","type":"OUI.Progress.Progress -> OUI.Color"},{"name":"getType","comment":" get the type\n","type":"OUI.Progress.Progress -> OUI.Progress.Type"},{"name":"getValue","comment":" get the value\n","type":"OUI.Progress.Progress -> Maybe.Maybe Basics.Float"},{"name":"linear","comment":" Create a linear progress widget\n","type":"OUI.Progress.Progress"},{"name":"withColor","comment":" Set the progress primary color\n","type":"OUI.Color -> OUI.Progress.Progress -> OUI.Progress.Progress"},{"name":"withValue","comment":" Set the progress value\n","type":"Basics.Float -> OUI.Progress.Progress -> OUI.Progress.Progress"}],"binops":[]},{"name":"OUI.RadioButton","comment":" A Radiobutton creation API\n\n@docs RadioButton\n\n\n# Constructor\n\n@docs new\n\n\n# Basic properties\n\n@docs withColor, withSelected, onChange, disabled\n\n\n# Internals\n\n@docs getColor, getOnChange, getSelected\n\n","unions":[{"name":"RadioButton","comment":" A RadioButton component\n","args":["constraints","msg"],"cases":[]}],"aliases":[],"values":[{"name":"disabled","comment":" disable the RadioButton\n","type":"OUI.RadioButton.RadioButton { a | needOnChangeOrDisabled : () } msg -> OUI.RadioButton.RadioButton { a | hasAction : () } msg"},{"name":"getColor","comment":" get the color\n","type":"OUI.RadioButton.RadioButton c msg -> OUI.Color"},{"name":"getOnChange","comment":" get the 'onChange' message\n","type":"OUI.RadioButton.RadioButton c msg -> Maybe.Maybe (Basics.Bool -> msg)"},{"name":"getSelected","comment":" get the 'selected' value\n","type":"OUI.RadioButton.RadioButton c msg -> Basics.Bool"},{"name":"new","comment":" creates a RadioButton. It must get a 'onChange' handler or be 'disabled'.\n","type":"OUI.RadioButton.RadioButton { needOnChangeOrDisabled : (), needSelected : () } msg"},{"name":"onChange","comment":" Set a change handler msg\n","type":"(Basics.Bool -> msg) -> OUI.RadioButton.RadioButton { a | needOnChangeOrDisabled : () } msg -> OUI.RadioButton.RadioButton { a | hasAction : () } msg"},{"name":"withColor","comment":" Change the RadioButton color\n","type":"OUI.Color -> OUI.RadioButton.RadioButton a msg -> OUI.RadioButton.RadioButton a msg"},{"name":"withSelected","comment":" Set the 'selected' state. It not used, the RadioButton is 'undetermined'.\n","type":"Basics.Bool -> OUI.RadioButton.RadioButton { a | needSelected : () } msg -> OUI.RadioButton.RadioButton { a | withSelected : () } msg"}],"binops":[]},{"name":"OUI.Showcase","comment":" Provides pages for a OUI.Explorer\n\n@docs addPages\n\n","unions":[],"aliases":[],"values":[{"name":"addPages","comment":" add the default showcase pages to a Explorer\n","type":"OUI.Explorer.Explorer themeExt current previous currentMsg previousMsg -> OUI.Explorer.Explorer themeExt () (Spa.PageStack.Model Spa.SetupError OUI.Showcase.Navigation.Model (Spa.PageStack.Model Spa.SetupError OUI.Showcase.MenuButtons.Model (Spa.PageStack.Model Spa.SetupError OUI.Showcase.TextFields.Model (Spa.PageStack.Model Spa.SetupError OUI.Showcase.Tabs.Model (Spa.PageStack.Model Spa.SetupError OUI.Showcase.Switches.Model (Spa.PageStack.Model Spa.SetupError OUI.Showcase.Slider.Model (Spa.PageStack.Model Spa.SetupError OUI.Showcase.RadioButtons.Model (Spa.PageStack.Model Spa.SetupError () (Spa.PageStack.Model Spa.SetupError () (Spa.PageStack.Model Spa.SetupError () (Spa.PageStack.Model Spa.SetupError OUI.Showcase.Checkbox.Model (Spa.PageStack.Model Spa.SetupError () (Spa.PageStack.Model Spa.SetupError () (Spa.PageStack.Model Spa.SetupError () (Spa.PageStack.Model Spa.SetupError () (Spa.PageStack.Model Spa.SetupError current previous)))))))))))))))) (OUI.Explorer.BookMsg ()) (Spa.PageStack.Msg OUI.Explorer.Route (OUI.Explorer.BookMsg OUI.Showcase.Navigation.Msg) (Spa.PageStack.Msg OUI.Explorer.Route (OUI.Explorer.BookMsg OUI.Showcase.MenuButtons.Msg) (Spa.PageStack.Msg OUI.Explorer.Route (OUI.Explorer.BookMsg OUI.Showcase.TextFields.Msg) (Spa.PageStack.Msg OUI.Explorer.Route (OUI.Explorer.BookMsg OUI.Showcase.Tabs.Msg) (Spa.PageStack.Msg OUI.Explorer.Route (OUI.Explorer.BookMsg OUI.Showcase.Switches.Msg) (Spa.PageStack.Msg OUI.Explorer.Route (OUI.Explorer.BookMsg OUI.Showcase.Slider.Msg) (Spa.PageStack.Msg OUI.Explorer.Route (OUI.Explorer.BookMsg OUI.Showcase.RadioButtons.Msg) (Spa.PageStack.Msg OUI.Explorer.Route (OUI.Explorer.BookMsg ()) (Spa.PageStack.Msg OUI.Explorer.Route (OUI.Explorer.BookMsg ()) (Spa.PageStack.Msg OUI.Explorer.Route (OUI.Explorer.BookMsg ()) (Spa.PageStack.Msg OUI.Explorer.Route (OUI.Explorer.BookMsg OUI.Showcase.Checkbox.Msg) (Spa.PageStack.Msg OUI.Explorer.Route (OUI.Explorer.BookMsg ()) (Spa.PageStack.Msg OUI.Explorer.Route (OUI.Explorer.BookMsg ()) (Spa.PageStack.Msg OUI.Explorer.Route (OUI.Explorer.BookMsg ()) (Spa.PageStack.Msg OUI.Explorer.Route (OUI.Explorer.BookMsg ()) (Spa.PageStack.Msg OUI.Explorer.Route currentMsg previousMsg))))))))))))))))"}],"binops":[]},{"name":"OUI.Slider","comment":"\n\n\n# Constructor\n\n@docs Slider, new\n\n\n# Setters\n\n@docs onChange, withColor, withDiscreteStep, withMinMax, withStep\n\n\n# Getters\n\n@docs getColor, getMinMax, getOnChange, getStep, getValue\n\n","unions":[{"name":"Slider","comment":" A slider\n","args":["msg"],"cases":[]}],"aliases":[],"values":[{"name":"getColor","comment":" return the slider color\n","type":"OUI.Slider.Slider msg -> OUI.Color"},{"name":"getMinMax","comment":" return the slider min/max\n","type":"OUI.Slider.Slider msg -> ( Basics.Float, Basics.Float )"},{"name":"getOnChange","comment":" return the slider onChange handler\n","type":"OUI.Slider.Slider msg -> Maybe.Maybe (Basics.Float -> msg)"},{"name":"getStep","comment":" return the slider step\n","type":"OUI.Slider.Slider msg -> Maybe.Maybe ( Basics.Float, Basics.Bool )"},{"name":"getValue","comment":" return the slider value\n","type":"OUI.Slider.Slider msg -> Basics.Float"},{"name":"new","comment":" Creates a slider\n\nA slider must have a value\n\n","type":"Basics.Float -> OUI.Slider.Slider msg"},{"name":"onChange","comment":" Set a change handler\n\nIf not set, the slider is read-only\n\n","type":"(Basics.Float -> msg) -> OUI.Slider.Slider msg -> OUI.Slider.Slider msg"},{"name":"withColor","comment":" Change the main color of the slider\n\nThe default color is \"Primary\"\n\n","type":"OUI.Color -> OUI.Slider.Slider msg -> OUI.Slider.Slider msg"},{"name":"withDiscreteStep","comment":" Enable \"discrete\" mode\n\nSteps limits the possible values. A dot is visible at each possible values\n\n","type":"Basics.Float -> OUI.Slider.Slider msg -> OUI.Slider.Slider msg"},{"name":"withMinMax","comment":" Set limits\n\nThe default limits are 0 and 100\n\n","type":"Basics.Float -> Basics.Float -> OUI.Slider.Slider msg -> OUI.Slider.Slider msg"},{"name":"withStep","comment":" Set a step\n\nSteps limits the possible values but will not change the slider appearence\n\nSee also (#withDiscreteStep)\n\n","type":"Basics.Float -> OUI.Slider.Slider msg -> OUI.Slider.Slider msg"}],"binops":[]},{"name":"OUI.Switch","comment":" A Switch component\n\n@docs Switch, new\n\n@docs withIconSelected, withIconUnselected, withColor, onChange\n\n@docs getColor, getIconSelected, getIconUnselected, getOnChange, getSelected\n\n","unions":[{"name":"Switch","comment":" A Switch component\n","args":["msg"],"cases":[]}],"aliases":[],"values":[{"name":"getColor","comment":" get the color\n","type":"OUI.Switch.Switch msg -> OUI.Color"},{"name":"getIconSelected","comment":" get the icon when selected\n","type":"OUI.Switch.Switch msg -> Maybe.Maybe OUI.Icon.Icon"},{"name":"getIconUnselected","comment":" get the icon when unselected\n","type":"OUI.Switch.Switch msg -> Maybe.Maybe OUI.Icon.Icon"},{"name":"getOnChange","comment":" get the 'on change' message builder\n","type":"OUI.Switch.Switch msg -> Maybe.Maybe (Basics.Bool -> msg)"},{"name":"getSelected","comment":" get the selected state\n","type":"OUI.Switch.Switch msg -> Basics.Bool"},{"name":"new","comment":" create a new unselected Switch\n","type":"Basics.Bool -> OUI.Switch.Switch msg"},{"name":"onChange","comment":" Set the event handler\n","type":"(Basics.Bool -> msg) -> OUI.Switch.Switch msg0 -> OUI.Switch.Switch msg"},{"name":"withColor","comment":" Change the primary color\n","type":"OUI.Color -> OUI.Switch.Switch msg -> OUI.Switch.Switch msg"},{"name":"withIconSelected","comment":" Set the icon to use when selected\n","type":"OUI.Icon.Icon -> OUI.Switch.Switch msg -> OUI.Switch.Switch msg"},{"name":"withIconUnselected","comment":" Set the icon to use when unselected\n","type":"OUI.Icon.Icon -> OUI.Switch.Switch msg -> OUI.Switch.Switch msg"}],"binops":[]},{"name":"OUI.Tabs","comment":" A tabs component that implement the material specs : <https://m3.material.io/components/tabs/overview>\n\n\n# Types\n\n@docs Type, Tabs\n\n\n# Constructors\n\n@docs new, withType, secondary, withIcon, withBadge, withItems, withSelected\n\n\n# internals\n\n@docs getColor, getItemToBadge, getItemToIcon, getItemToText, getItems, getOnClick, getSelected, getType\n\n","unions":[{"name":"Tabs","comment":" A tabs component\n","args":["key","item","msg"],"cases":[]},{"name":"Type","comment":" The tabs types\n","args":[],"cases":[["Primary",[]],["Secondary",[]]]}],"aliases":[],"values":[{"name":"getColor","comment":" get the color\n","type":"OUI.Tabs.Tabs key item msg -> OUI.Color"},{"name":"getItemToBadge","comment":" get the itemToBadge function\n","type":"OUI.Tabs.Tabs key item msg -> item -> Maybe.Maybe OUI.Badge.Badge"},{"name":"getItemToIcon","comment":" get the itemToIcon function\n","type":"OUI.Tabs.Tabs key item msg -> item -> Maybe.Maybe OUI.Icon.Icon"},{"name":"getItemToText","comment":" get the itemToText function\n","type":"OUI.Tabs.Tabs key item msg -> item -> String.String"},{"name":"getItems","comment":" get the items\n","type":"OUI.Tabs.Tabs key item msg -> List.List ( key, item )"},{"name":"getOnClick","comment":" get the 'on click' message\n","type":"OUI.Tabs.Tabs key item msg -> key -> msg"},{"name":"getSelected","comment":" get the selected key\n","type":"OUI.Tabs.Tabs key item msg -> Maybe.Maybe key"},{"name":"getType","comment":" get the type\n","type":"OUI.Tabs.Tabs key item msg -> OUI.Tabs.Type"},{"name":"new","comment":" Creates a new Tabs\n","type":"(item -> String.String) -> (key -> msg) -> OUI.Tabs.Tabs key item msg"},{"name":"secondary","comment":" Change the tabs type to \"Secondary\"\n","type":"OUI.Tabs.Tabs key item msg -> OUI.Tabs.Tabs key item msg"},{"name":"withBadge","comment":" Add a badge extractor\n","type":"(item -> Maybe.Maybe OUI.Badge.Badge) -> OUI.Tabs.Tabs key item msg -> OUI.Tabs.Tabs key item msg"},{"name":"withIcon","comment":" Add an icon extractor\n","type":"(item -> Maybe.Maybe OUI.Icon.Icon) -> OUI.Tabs.Tabs key item msg -> OUI.Tabs.Tabs key item msg"},{"name":"withItems","comment":" Set the items\n","type":"List.List ( key, item ) -> OUI.Tabs.Tabs key item msg -> OUI.Tabs.Tabs key item msg"},{"name":"withSelected","comment":" Set the selected item\n","type":"key -> OUI.Tabs.Tabs key item msg -> OUI.Tabs.Tabs key item msg"},{"name":"withType","comment":" Change the tabs type\n","type":"OUI.Tabs.Type -> OUI.Tabs.Tabs key item msg -> OUI.Tabs.Tabs key item msg"}],"binops":[]},{"name":"OUI.Text","comment":"\n\n@docs Type, Size, Color, Text\n\n\n# Direct constructors\n\n@docs displayLarge, displayMedium, displaySmall\n@docs headlineLarge, headlineMedium, headlineSmall\n@docs titleLarge, titleMedium, titleSmall\n@docs labelLarge, labelMedium, labelSmall\n@docs bodyLarge, bodyMedium, bodySmall\n\n\n# Internal\n\n\n## Setters\n\n@docs text, withSize, withType\n@docs onColor, withColor, withCustomColor, withTextColor\n\n\n## Getters\n\n@docs getType, getSize, getColor, getText\n\n","unions":[{"name":"Color","comment":" Text Color\n","args":[],"cases":[["NoColor",[]],["Color",["OUI.Color"]],["OnColor",["OUI.Color"]],["Custom",["Color.Color"]]]},{"name":"Size","comment":" Text sizes\n","args":[],"cases":[["Small",[]],["Medium",[]],["Large",[]]]},{"name":"Text","comment":" A Text component\n","args":[],"cases":[]},{"name":"Type","comment":" Text types\n","args":[],"cases":[["Display",[]],["Headline",[]],["Title",[]],["Label",[]],["Body",[]]]}],"aliases":[],"values":[{"name":"bodyLarge","comment":" create a body large text\n","type":"String.String -> OUI.Text.Text"},{"name":"bodyMedium","comment":" create a body medium text\n","type":"String.String -> OUI.Text.Text"},{"name":"bodySmall","comment":" create a body small text\n","type":"String.String -> OUI.Text.Text"},{"name":"displayLarge","comment":" create a display large text\n","type":"String.String -> OUI.Text.Text"},{"name":"displayMedium","comment":" create a display medium text\n","type":"String.String -> OUI.Text.Text"},{"name":"displaySmall","comment":" create a display small text\n","type":"String.String -> OUI.Text.Text"},{"name":"getColor","comment":" get the Text Color\n","type":"OUI.Text.Text -> OUI.Text.Color"},{"name":"getSize","comment":" get the Text size\n","type":"OUI.Text.Text -> OUI.Text.Size"},{"name":"getText","comment":" get the Text\n","type":"OUI.Text.Text -> String.String"},{"name":"getType","comment":" get the Text type\n","type":"OUI.Text.Text -> OUI.Text.Type"},{"name":"headlineLarge","comment":" create a headline large text\n","type":"String.String -> OUI.Text.Text"},{"name":"headlineMedium","comment":" create a headline medium text\n","type":"String.String -> OUI.Text.Text"},{"name":"headlineSmall","comment":" create a headline small text\n","type":"String.String -> OUI.Text.Text"},{"name":"labelLarge","comment":" create a label large text\n","type":"String.String -> OUI.Text.Text"},{"name":"labelMedium","comment":" create a label medium text\n","type":"String.String -> OUI.Text.Text"},{"name":"labelSmall","comment":" create a label small text\n","type":"String.String -> OUI.Text.Text"},{"name":"onColor","comment":" Define the text color given the background color.\n","type":"OUI.Color -> OUI.Text.Text -> OUI.Text.Text"},{"name":"text","comment":" Create a new text component\n\nwith default \"body\" type and \"medium\" size\n\n","type":"String.String -> OUI.Text.Text"},{"name":"titleLarge","comment":" create a title large text\n","type":"String.String -> OUI.Text.Text"},{"name":"titleMedium","comment":" create a title medium text\n","type":"String.String -> OUI.Text.Text"},{"name":"titleSmall","comment":" create a title small text\n","type":"String.String -> OUI.Text.Text"},{"name":"withColor","comment":" Set the text color\n","type":"OUI.Color -> OUI.Text.Text -> OUI.Text.Text"},{"name":"withCustomColor","comment":" Set a custom text\n","type":"Color.Color -> OUI.Text.Text -> OUI.Text.Text"},{"name":"withSize","comment":" set the text size\n","type":"OUI.Text.Size -> OUI.Text.Text -> OUI.Text.Text"},{"name":"withTextColor","comment":" Set the text color\n","type":"OUI.Text.Color -> OUI.Text.Text -> OUI.Text.Text"},{"name":"withType","comment":" set the text type\n","type":"OUI.Text.Type -> OUI.Text.Text -> OUI.Text.Text"}],"binops":[]},{"name":"OUI.TextField","comment":" A [Text Field](https://m3.material.io/components/text-fields) component\n\n@docs TextField, Datatype, Type, new\n\n\n# Texfield types\n\n@docs multiline, search, username, email, password, newPassword\n\n\n# Internal\n\n\n## Setters\n\n@docs withColor, withType, withSupportingText, withFocused, withLeadingIcon, withTrailingIcon, withClickableTrailingIcon, withErrorIcon\n@docs onFocusBlur\n\n\n## Getters\n\n@docs getOnChange, getDatatype, getLabel, getSpellcheck, getColor, getErrorIcon, getHasFocus, getLeadingIcon, getOnFocus, getOnLoseFocus, getOnTrailingIconClick, getSupportingText, getTrailingIcon, getType, getValue\n\n","unions":[{"name":"Datatype","comment":" Data type of the field\n","args":[],"cases":[["Text",[]],["Multiline",[]],["Email",[]],["Password",["Basics.Bool"]],["NewPassword",["Basics.Bool"]],["Username",[]],["Search",[]]]},{"name":"TextField","comment":" A Text input component\n","args":["msg"],"cases":[]},{"name":"Type","comment":" Text input can be filled or outlined\n","args":[],"cases":[["Filled",[]],["Outlined",[]]]}],"aliases":[],"values":[{"name":"email","comment":" Change the datatype to 'Email'\n","type":"OUI.TextField.TextField msg -> OUI.TextField.TextField msg"},{"name":"getColor","comment":" Get the color\n","type":"OUI.TextField.TextField msg -> OUI.Color"},{"name":"getDatatype","comment":" Get the datatype\n","type":"OUI.TextField.TextField msg -> OUI.TextField.Datatype"},{"name":"getErrorIcon","comment":" Get the error icon\n","type":"OUI.TextField.TextField msg -> Maybe.Maybe OUI.Icon.Icon"},{"name":"getHasFocus","comment":" Get the has-focus bool\n","type":"OUI.TextField.TextField msg -> Basics.Bool"},{"name":"getLabel","comment":" Get the label\n","type":"OUI.TextField.TextField msg -> String.String"},{"name":"getLeadingIcon","comment":" Get the leading icon\n","type":"OUI.TextField.TextField msg -> Maybe.Maybe OUI.Icon.Icon"},{"name":"getOnChange","comment":" Get the on change msg\n","type":"OUI.TextField.TextField msg -> String.String -> msg"},{"name":"getOnFocus","comment":" Get the on focus msg\n","type":"OUI.TextField.TextField msg -> Maybe.Maybe msg"},{"name":"getOnLoseFocus","comment":" Get the on lose focus msg\n","type":"OUI.TextField.TextField msg -> Maybe.Maybe msg"},{"name":"getOnTrailingIconClick","comment":" Get the on-trailing icon click msg\n","type":"OUI.TextField.TextField msg -> Maybe.Maybe msg"},{"name":"getSpellcheck","comment":" Get the spellcheck bool\n","type":"OUI.TextField.TextField msg -> Basics.Bool"},{"name":"getSupportingText","comment":" Get the supporting text\n","type":"OUI.TextField.TextField msg -> Maybe.Maybe String.String"},{"name":"getTrailingIcon","comment":" Get the trailing icon\n","type":"OUI.TextField.TextField msg -> Maybe.Maybe OUI.Icon.Icon"},{"name":"getType","comment":" Get the type\n","type":"OUI.TextField.TextField msg -> OUI.TextField.Type"},{"name":"getValue","comment":" Get the value\n","type":"OUI.TextField.TextField msg -> String.String"},{"name":"multiline","comment":" Enable multiline input.\n","type":"Basics.Bool -> OUI.TextField.TextField msg -> OUI.TextField.TextField msg"},{"name":"new","comment":" Create a new text input\n","type":"String.String -> (String.String -> msg) -> String.String -> OUI.TextField.TextField msg"},{"name":"newPassword","comment":" Change the datatype to 'NewPassword'\n\nIf the argument is 'True', the value is showed\n\n","type":"Basics.Bool -> OUI.TextField.TextField msg -> OUI.TextField.TextField msg"},{"name":"onFocusBlur","comment":" set the onFocus / onLoseFocus events\n","type":"msg -> msg -> OUI.TextField.TextField msg -> OUI.TextField.TextField msg"},{"name":"password","comment":" Change the datatype to 'Password'\n\nIf the argument is 'True', the value is showed\n\n","type":"Basics.Bool -> OUI.TextField.TextField msg -> OUI.TextField.TextField msg"},{"name":"search","comment":" Change the datatype to 'Search'\n","type":"OUI.TextField.TextField msg -> OUI.TextField.TextField msg"},{"name":"username","comment":" Change the datatype to 'Username'\n","type":"OUI.TextField.TextField msg -> OUI.TextField.TextField msg"},{"name":"withClickableTrailingIcon","comment":" add a clickable trailing icon\n","type":"msg -> OUI.Icon.Icon -> OUI.TextField.TextField msg -> OUI.TextField.TextField msg"},{"name":"withColor","comment":" change the input main color\n","type":"OUI.Color -> OUI.TextField.TextField msg -> OUI.TextField.TextField msg"},{"name":"withErrorIcon","comment":" set the error icon\n","type":"OUI.Icon.Icon -> OUI.TextField.TextField msg -> OUI.TextField.TextField msg"},{"name":"withFocused","comment":" set the 'focused' current state of the input\n","type":"Basics.Bool -> OUI.TextField.TextField msg -> OUI.TextField.TextField msg"},{"name":"withLeadingIcon","comment":" set the leading icon\n","type":"OUI.Icon.Icon -> OUI.TextField.TextField msg -> OUI.TextField.TextField msg"},{"name":"withSupportingText","comment":" add a supporting text below the input\n","type":"String.String -> OUI.TextField.TextField msg -> OUI.TextField.TextField msg"},{"name":"withTrailingIcon","comment":" set the trailing icon\n","type":"OUI.Icon.Icon -> OUI.TextField.TextField msg -> OUI.TextField.TextField msg"},{"name":"withType","comment":" change the input type\n","type":"OUI.TextField.Type -> OUI.TextField.TextField msg -> OUI.TextField.TextField msg"}],"binops":[]},{"name":"OUI.Utils.ARIA","comment":" Interface for [HTML's ARIA](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA).\n\nThis module is copied from [Paack-ui](https://package.elm-lang.org/packages/PaackEng/paack-ui/latest/UI-Utils-ARIA)\n\n@docs Role, ElementSemantics\n\n\n# Building\n\n@docs roleButton, roleImage, rolePresentation, roleCheckbox, roleRadioButton, roleTab, roleSwitch, roleToggleButton\n\n\n## Radio buttons\n\n@docs roleRadioGroup, roleRadio\n\n\n# Global options\n\n@docs withLabel\n\n\n# Rendering\n\n@docs toElementAttributes\n\n","unions":[{"name":"Role","comment":" Aria roles\n","args":[],"cases":[]}],"aliases":[{"name":"ElementSemantics","comment":" Use roles for creating ARIA element's semantics.\nRoles defines the type of UI element.\n\nSee [MDN article](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques#Roles).\n\n","args":[],"type":"{ role : OUI.Utils.ARIA.Role, label : Maybe.Maybe String.String }"}],"values":[{"name":"roleButton","comment":" \"The button role should be used for clickable elements that trigger a response when activated by the user.\" - MDN\n\n Element.el\n (Events.onClick Msg.SomeEvent :: ARIA.toElementAttributes ARIA.roleButton)\n someChildElement\n\n","type":"OUI.Utils.ARIA.ElementSemantics"},{"name":"roleCheckbox","comment":" \"The checkbox role is used for checkable interactive controls.\" -MDN\n\n Element.row\n (ARIA.toElementAttributes <| ARIA.roleCheckbox False)\n [ notCheckedIcon\n , Element.text \"I accept the Terms of Service\"\n ]\n\n","type":"Basics.Bool -> OUI.Utils.ARIA.ElementSemantics"},{"name":"roleImage","comment":" \"Can be used to identify multiple elements inside page content that should be considered as a single image.\" - MDN\n\n Element.el\n (ARIA.toElementAttributes <| ARIA.roleImage altText)\n [ Element.text \"😺 Meow\" ]\n\n**NOTE**: This role enforces aria-label option.\n\n","type":"String.String -> OUI.Utils.ARIA.ElementSemantics"},{"name":"rolePresentation","comment":" \"An element whose content is completely presentational (like a spacer image, decorative graphic, or clearing element)\" - W3C\n\n Element.el\n (ARIA.toElementAttributes ARIA.rolePresentation)\n totallyRedundantElement\n\n","type":"OUI.Utils.ARIA.ElementSemantics"},{"name":"roleRadio","comment":" \"A checkable input in a group of elements with the same role, only one of which can be checked at a time.\" - W3C\n\n Element.row\n (ARIA.toElementAttributes <| ARIA.roleRadio True)\n [ checkedIcon\n , Element.text \"Chocolate\"\n ]\n\n","type":"Basics.Bool -> OUI.Utils.ARIA.ElementSemantics"},{"name":"roleRadioButton","comment":" \"The radioButton role is used for checkable interactive controls.\" -MDN\n\n Element.row\n (ARIA.toElementAttributes <| ARIA.roleRadioButton False)\n [ notCheckedIcon\n , Element.text \"I accept the Terms of Service\"\n ]\n\n","type":"Basics.Bool -> OUI.Utils.ARIA.ElementSemantics"},{"name":"roleRadioGroup","comment":" \"A radiogroup is a type of select list that can only have a single entry checked at any one time.\" - W3C\n\n Element.column\n (ARIA.toElementAttributes <| ARIA.roleRadioGroup \"Pick an ice cream flavor\")\n [ chocolateIceCream\n , strawberryIceCream\n ]\n\n**NOTE**: This role enforces aria-label option.\n\n","type":"String.String -> OUI.Utils.ARIA.ElementSemantics"},{"name":"roleSwitch","comment":" \"The ARIA switch role is functionally identical to the checkbox role,\nexcept that instead of representing checked/unchecked states, which are fairly generic in meaning,\nthe switch role represents the states on/off.\" -MDN\n\n Element.el\n (Event.onClick turnOnMsg :: (ARIA.toElementAttributes <| ARIA.roleSwitch False))\n offSwitchIcon\n\n","type":"Basics.Bool -> OUI.Utils.ARIA.ElementSemantics"},{"name":"roleTab","comment":" \"The ARIA tab role indicates an interactive element inside a tablist.\" -MDN\n\n Element.row []\n [ Element.el\n (ARIA.roleTab True\n |> ARIA.toElementAttributes\n |> (::) tabIndex 0\n |> (::) Event.onClick (Msg.SetTab TabFirst)\n )\n (Element.text \"Tab label\")\n , Element.el\n (ARIA.roleTab False\n |> ARIA.toElementAttributes\n |> (::) tabIndex -1\n |> (::) Event.onClick (Msg.SetTab TabSecond)\n )\n (Element.text \"Another tab\")\n ]\n\n**NOTE**: We're missing `aria-controls`.\nAnd MDN recomends using `tabindex` as `0` on selected tab and `-1` on non-active tabs.\n\n","type":"Basics.Bool -> OUI.Utils.ARIA.ElementSemantics"},{"name":"roleToggleButton","comment":" A toggle button has the button role along with its pressed state\n\n Element.el\n (Events.onClick Msg.SomeEvent\n :: ARIA.toElementAttributes ARIA.roleToggleButton isToggled\n )\n someChildElement\n\n","type":"Basics.Bool -> OUI.Utils.ARIA.ElementSemantics"},{"name":"toElementAttributes","comment":" Transform a [`ElementSemantics`](#ElementSemantics) in a list of [`Element.Attribute`](https://package.elm-lang.org/packages/mdgriffith/elm-ui/latest/Element#Attribute).\n","type":"OUI.Utils.ARIA.ElementSemantics -> List.List (Element.Attribute msg)"},{"name":"withLabel","comment":" \"Defines a string value that labels the current element\" -W3C\n\n ARIA.roleCheckbox False\n |> ARIA.withLabel \"I agree with the policy\"\n |> ARIA.toElementAttributes\n\n**NOTE**: This is a global optional parameter, roles builders enforce it when necessary.\n\n","type":"String.String -> OUI.Utils.ARIA.ElementSemantics -> OUI.Utils.ARIA.ElementSemantics"}],"binops":[]}]