[{"name":"Ui.Button","comment":" Defines a Button component\n\n\n# Types\n\n@docs ButtonColor, ButtonEmphasis, ButtonContent\n\n\n# Views\n\n@docs view, customView, iconButton\n\n","unions":[{"name":"ButtonColor","comment":" Defines the available button colors\n\n  - `Primary`: used to get users main focus\n  - `Secondary`: used as an accent to `Primary`\n  - `Warn`: used to indicate a destructive and/or dangerous action\n\n","args":[],"cases":[["Primary",[]],["Secondary",[]],["Warn",[]]]},{"name":"ButtonContent","comment":" Defines the content of the button\n","args":[],"cases":[["Text",["String.String"]],["TextWithLeftIcon",["String.String","Ui.Icon.Icon"]],["TextWithRightIcon",["String.String","Ui.Icon.Icon"]]]},{"name":"ButtonEmphasis","comment":" Defines the emphasis of the button\n","args":[],"cases":[["High",[]],["Mid",[]],["Low",[]]]}],"aliases":[],"values":[{"name":"customView","comment":" Returns a custom view of a button.\n","type":"List.List (Html.Styled.Attribute msg) -> { onClick : Maybe.Maybe msg, color : Ui.Button.ButtonColor, emphasis : Ui.Button.ButtonEmphasis } -> Ui.Button.ButtonContent -> Html.Styled.Html msg"},{"name":"iconButton","comment":" A view of an icon button which can be useful when we have little space\n","type":"List.List (Html.Styled.Attribute msg) -> { onClick : Maybe.Maybe msg, icon : Ui.Icon.Icon, tooltip : String.String } -> Accessibility.Styled.Html msg"},{"name":"view","comment":" Returns a view of a button\nThis should be used whenever possible.\nYou can use `customView` if you need to\ncustomize the button.\n","type":"{ onClick : Maybe.Maybe msg, color : Ui.Button.ButtonColor, emphasis : Ui.Button.ButtonEmphasis } -> Ui.Button.ButtonContent -> Html.Styled.Html msg"}],"binops":[]},{"name":"Ui.Dialog","comment":" Component of a Dialog\n\n@docs view, Label\n\n","unions":[{"name":"Label","comment":"\n\n    A widget can either by labeled by itself of labelled by another element\n\n","args":[],"cases":[["LabelledBy",["String.String"]],["Label",["String.String"]]]}],"aliases":[],"values":[{"name":"view","comment":"\n\n    View of a dialog\n\n    title           - text to be displayed at the top of the dialog\n    labelId         - identifier of the dialog, we need this for a11y\n    content         - content displayed just below the title\n    onClose         - action when the dialog should be closed\n    actionButtons   - list of buttons and actions that should be displayed at the bottom right corner of the dialog\n\n","type":"{ title : String.String, labelId : String.String, content : Accessibility.Styled.Html msg, onClose : msg, actionButtons : List.List ( { onClick : Maybe.Maybe msg, color : Ui.Button.ButtonColor, emphasis : Ui.Button.ButtonEmphasis }, Ui.Button.ButtonContent ) } -> Accessibility.Styled.Html msg"}],"binops":[]},{"name":"Ui.Icon","comment":" Defines a Button component\n\n\n# Types\n\n@docs Icon\n\n\n# Views\n\n@docs view\n\n\n# Helpers\n\n@docs setFill\n\n\n# Icons\n\n@docs chevronLeft, chevronRight, edit, close, search, newWindow\n\n","unions":[{"name":"Icon","comment":" Defines the Icon type\n","args":[],"cases":[["Icon",["{ label : String.String, attributes : List.List (Svg.Styled.Attribute Basics.Never), children : List.List (Svg.Styled.Svg Basics.Never) }"]]]}],"aliases":[],"values":[{"name":"chevronLeft","comment":" Chevron left icon\n","type":"Ui.Icon.Icon"},{"name":"chevronRight","comment":" Chevron right icon\n","type":"Ui.Icon.Icon"},{"name":"close","comment":" Close icon\n","type":"Ui.Icon.Icon"},{"name":"edit","comment":" Edit icon\n","type":"Ui.Icon.Icon"},{"name":"newWindow","comment":" Open in new window icon\n","type":"Ui.Icon.Icon"},{"name":"search","comment":" Search icon\n","type":"Ui.Icon.Icon"},{"name":"setFill","comment":" Set a fill color for the given icon\n","type":"Color.Color -> Ui.Icon.Icon -> Ui.Icon.Icon"},{"name":"view","comment":" Creates a view for the given icon\n","type":"Ui.Icon.Icon -> Html.Styled.Html msg"}],"binops":[]},{"name":"Ui.Input","comment":" an input is an element used to collect user data within a web form.\nIt allows users to enter information such as text, numbers, or other data types, which can then be submitted to a server for processing.\n\n@docs search\n\n","unions":[],"aliases":[],"values":[{"name":"search","comment":"\n\n    Renders a search input field.\n\n    Takes the following configuration:\n    - `value`:      The value of the search field\n    - `onInput`:    A message that takes the new value of the input\n    - `onClear`:    The message that should be emitted when a user presses the clear button\n    - `onSearch:    Maybe a message that should be emitted when the user presses the search button\n\n","type":"List.List (Accessibility.Styled.Attribute Basics.Never) -> { value : String.String, onInput : String.String -> msg, onClear : msg, onSearch : Maybe.Maybe msg } -> Accessibility.Styled.Html msg"}],"binops":[]},{"name":"Ui.MillerColumns","comment":" This module defines a component of a miller column layout\n\n@docs Config, Model, Content, Msg, init, setFocus, setSearch, view, update, NodeId, unwrapNodeId, root, focus\n\n","unions":[{"name":"Msg","comment":" Internal messages to update the state of the component\n","args":[],"cases":[]},{"name":"NodeId","comment":" The id of a node in the tree\n","args":[],"cases":[]}],"aliases":[{"name":"Config","comment":" `liftMsg` \"lifts\" the internal messages of the component to the parent\n`nodeContent` returns some Content base on a\n","args":["msg","a"],"type":"{ liftMsg : Ui.MillerColumns.Msg -> msg, nodeContent : a -> Ui.MillerColumns.Content }"},{"name":"Content","comment":" The content of each list item\n\n`leftAlignedText` Takes a value of a and gives back a String that is shown to the left of each list item\n\n`mRightAlignedText` Takes a value of a and gives back a String that is shown to the right of each list item\n\n","args":[],"type":"{ leftAlignedText : String.String, mRightAlignedText : Maybe.Maybe String.String }"},{"name":"Model","comment":" Model of the component\n\n`treeZipper` the data displayed in the miller columns. The zipper has a single focus at any time.\n`state` internal state of the component.\n\n  - If the state is in `Focus` it will show the zipper in miller columns\n  - If the state is in `Search` it will list all the values that contains the searched value\n\n","args":["v"],"type":"{ treeZipper : Tree.Zipper.Zipper ( Ui.MillerColumns.NodeId, v ), state : Ui.MillerColumns.State v }"}],"values":[{"name":"focus","comment":" Get the value of the current focus\n","type":"Ui.MillerColumns.Model v -> ( Ui.MillerColumns.NodeId, v )"},{"name":"init","comment":" Initializes a model given a Tree of a\n","type":"Tree.Tree ( String.String, v ) -> Ui.MillerColumns.Model v"},{"name":"root","comment":" Get the value of the root\n","type":"Ui.MillerColumns.Model v -> ( Ui.MillerColumns.NodeId, v )"},{"name":"setFocus","comment":" Focus on the zipper tree\n","type":"Ui.MillerColumns.Model v -> Ui.MillerColumns.Model v"},{"name":"setSearch","comment":" Display the search results of the values in the zipper\n`searchValue` the value we are searching for in the tree structure\n`searchOn` given a value in the tree it returns the string we want to search on with the `searchValue`\n","type":"List.List (Tree.Tree ( Ui.MillerColumns.NodeId, v )) -> Ui.MillerColumns.Model v -> Ui.MillerColumns.Model v"},{"name":"unwrapNodeId","comment":" Get the value of a NodeId\n","type":"Ui.MillerColumns.NodeId -> String.String"},{"name":"update","comment":" Update the model of the Miller Columns\n","type":"Ui.MillerColumns.Msg -> Ui.MillerColumns.Model v -> ( Ui.MillerColumns.Model v, Platform.Cmd.Cmd Ui.MillerColumns.Msg )"},{"name":"view","comment":" View the Miller Columns\n`liftMsg` lifts the MillerColumns message to another `msg` type\n`Model v` the model of the MillerColumns component\n","type":"Ui.MillerColumns.Config msg v -> Ui.MillerColumns.Model v -> Html.Styled.Html msg"}],"binops":[]},{"name":"Ui.Pagination","comment":" Defines a Pagination component\n\n\n## Types\n\n@docs Model\n\n\n## Model\n\n@docs init, currentPage, previousPage, nextPage, setPage, getTail, getInitial\n\n\n## Views\n\n@docs view, customView\n\n","unions":[{"name":"Model","comment":" The Pagination model\n","args":[],"cases":[]}],"aliases":[],"values":[{"name":"currentPage","comment":" Returns the current page number\n","type":"Ui.Pagination.Model -> Basics.Int"},{"name":"customView","comment":" Returns a custom view of a pagination component.\nOnly use this when `view` is not enough.\n","type":"List.List (Html.Styled.Attribute Basics.Never) -> Ui.Pagination.Model -> { siblingCount : Basics.Int, boundaryCount : Basics.Int, onNav : Ui.Pagination.Model -> msg } -> Accessibility.Styled.Html msg"},{"name":"getInitial","comment":" Return the left range [1,current page - 1] of the current page\n","type":"Ui.Pagination.Model -> List.List Basics.Int"},{"name":"getTail","comment":" Return the right range [current page + 1, number of pages] of the current page\n","type":"Ui.Pagination.Model -> List.List Basics.Int"},{"name":"init","comment":" Creates a model for the component\n","type":"Basics.Int -> Basics.Int -> Result.Result String.String Ui.Pagination.Model"},{"name":"nextPage","comment":" Go to the next page\n","type":"Ui.Pagination.Model -> Maybe.Maybe Ui.Pagination.Model"},{"name":"previousPage","comment":" Go to the previous page\n","type":"Ui.Pagination.Model -> Maybe.Maybe Ui.Pagination.Model"},{"name":"setPage","comment":" Set the current page\n","type":"Ui.Pagination.Model -> Basics.Int -> Maybe.Maybe Ui.Pagination.Model"},{"name":"view","comment":" Returns a view of a pagination component.\nThis should be used whenever possible.\nYou can use `customView` if you need to\ncustomize the button.\n","type":"Ui.Pagination.Model -> { siblingCount : Basics.Int, boundaryCount : Basics.Int, onNav : Ui.Pagination.Model -> msg } -> Accessibility.Styled.Html msg"}],"binops":[]},{"name":"Ui.RadioButton","comment":" Defines a RadioButton component\n\n\n## Types\n\n@docs Direction\n\n\n## Views\n\n@docs view, customView\n\n","unions":[{"name":"Direction","comment":" Defines the Direction\n","args":[],"cases":[["Horizontal",[]],["Vertical",[]]]}],"aliases":[],"values":[{"name":"customView","comment":" Returns a custom view of a radio button group.\nOnly use this when `view` is not enough.\n","type":"List.List (Html.Attribute Basics.Never) -> { onChange : a -> msg, options : List.List { optionLabel : String.String, value : a, disabled : Basics.Bool }, label : String.String, selected : Maybe.Maybe a, direction : Ui.RadioButton.Direction } -> Accessibility.Styled.Html msg"},{"name":"view","comment":" Return a view of a radio button group.\nThis should be used whenever possible.\nYou can use `customView` if you need to\ncustomize the button.\n","type":"{ onChange : a -> msg, options : List.List { optionLabel : String.String, value : a, disabled : Basics.Bool }, label : String.String, selected : Maybe.Maybe a, direction : Ui.RadioButton.Direction } -> Accessibility.Styled.Html msg"}],"binops":[]}]