elm-athlete / athlete / BodyBuilder.Attributes

This module entirely replaces Html.Attributes, providing a type-safer alternatives. This is designed to work with BodyBuilder. It is not compatible with Html.Attributes, though.


type alias StyleSelector =
{ media : Maybe MediaQuery
, pseudoClass : Maybe String 
}

defaultStyleSelector : StyleSelector


type MediaQuery
    = Greater Basics.Int
    | Lesser Basics.Int
    | Between Basics.Int Basics.Int


type alias StyleModifier a =
StyleSelector -> Modifiers.Modifier a

style : List (StyleModifier a) -> Modifiers.Modifier a

rawStyle : b -> { a | rawStyle : Maybe b } -> { a | rawStyle : Maybe b }

rawAttribute : a -> { c | rawAttributes : List a } -> { c | rawAttributes : List a }


type alias AutocompleteAttribute a =
{ a | autocomplete : Basics.Bool }


type alias WidthAttribute a =
{ a | width : Maybe Basics.Int }


type alias HeightAttribute a =
{ a | height : Maybe Basics.Int }


type alias ValueAttribute b a =
{ a | value : Maybe b }


type alias StepAttribute a =
{ a | step : Maybe Basics.Int }


type alias MaxAttribute a =
{ a | max : Maybe Basics.Int }


type alias MinAttribute a =
{ a | min : Maybe Basics.Int }


type alias TargetAttribute a =
{ a | target : Maybe String }


type alias HrefAttribute a =
{ a | href : Maybe String }


type alias NameAttribute a =
{ a | name : Maybe String }


type alias DisabledAttribute a =
{ a | disabled : Basics.Bool }


type alias PlaceholderAttribute a =
{ a | placeholder : Maybe String }


type alias DataAttribute a =
{ a | data : List ( String
, String ) 
}

data : a -> { c | data : a } -> { c | data : a }


type alias TypeContainer a =
{ a | type_ : String }


type alias BoxContainer a =
{ a | box : List ( Modifiers Elegant.Box.Box
, StyleSelector ) 
}


type alias CheckedContainer a =
{ a | checked : Basics.Bool }


type alias UniversalContainer a =
{ a | universal : UniversalAttributes }

title : String -> Modifiers.Modifier { a | universal : UniversalAttributes }

id : String -> Modifiers.Modifier { a | universal : UniversalAttributes }

class : List String -> Modifiers.Modifier { a | universal : UniversalAttributes }

tabindex : Basics.Int -> Modifiers.Modifier { a | universal : UniversalAttributes }


type alias MaybeBlockContainer a =
{ a | block : Maybe (List ( Modifiers Elegant.Display.BlockDetails
, StyleSelector )) 
}


type alias BlockContainer a =
{ a | block : List ( Modifiers Elegant.Display.BlockDetails
, StyleSelector ) 
}


type alias FlexContainerProperties a =
{ a | flexContainerProperties : List ( Modifiers Elegant.Flex.FlexContainerDetails
, StyleSelector ) 
}


type alias FlexItemProperties a =
{ a | flexItemProperties : List ( Modifiers Elegant.Flex.FlexItemDetails
, StyleSelector ) 
}


type alias GridContainerProperties a =
{ a | gridContainerProperties : List ( Modifiers Elegant.Grid.GridContainerDetails
, StyleSelector ) 
}


type alias GridItemProperties a =
{ a | gridItemProperties : List ( Modifiers Elegant.Grid.GridItemDetails
, StyleSelector ) 
}


type alias VisibleAttributes a =
{ a | box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, universal : UniversalAttributes
, rawStyle : Maybe Elegant.CommonStyle 
}

Computed :

visibleAttributesToHtmlAttributes : VisibleAttributesAndEvents msg a -> List (Html.Attribute msg)

rawStyleToHtmlAttributes : Elegant.CommonStyle -> List (Html.Attribute msg)


type alias VisibleAttributesAndEvents msg a =
{ a | onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, universal : UniversalAttributes
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg) 
}

OnEvent msg (OnFocusEvent msg (OnBlurEvent msg (OnMouseEvents msg (VisibleAttributes a))))


type alias UniversalAttributes =
{ title : Maybe String
, tabindex : Maybe Basics.Int
, id : Maybe String
, class : List String 
}

TitleAttribute (TabindexAttribute (IdAttribute (ClassAttribute {})))

defaultUniversalAttributes : UniversalAttributes

universalAttributesToHtmlAttributes : UniversalAttributes -> List (Html.Attribute msg)


type alias NodeAttributes msg =
{ onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, universal : UniversalAttributes
, block : Maybe (List ( Modifiers Elegant.Display.BlockDetails
, StyleSelector ))
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg) 
}

Computed : MaybeBlockContainer (FlowAttributes msg)

defaultNodeAttributes : NodeAttributes msg

nodeAttributesToHtmlAttributes : NodeAttributes msg -> List (Html.Attribute msg)


type alias BlockAttributes msg =
{ block : List ( Modifiers Elegant.Display.BlockDetails
, StyleSelector )
, onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, universal : UniversalAttributes
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg) 
}

width : Basics.Int -> Modifiers.Modifier (WidthAttribute a)

height : Basics.Int -> Modifiers.Modifier (HeightAttribute a)


type alias HeadingAttributes msg =
BlockAttributes msg

defaultHeadingAttributes : HeadingAttributes msg

headingAttributesToHtmlAttributes : HeadingAttributes msg -> List (Html.Attribute msg)


type alias FlowAttributes msg =
{ onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, universal : UniversalAttributes
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg) 
}

defaultFlowAttributes : FlowAttributes msg

flowAttributesToHtmlAttributes : FlowAttributes msg -> List (Html.Attribute msg)


type alias FlexContainerAttributes msg =
{ flexContainerProperties : List ( Modifiers Elegant.Flex.FlexContainerDetails
, StyleSelector )
, onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, universal : UniversalAttributes
, block : Maybe (List ( Modifiers Elegant.Display.BlockDetails
, StyleSelector ))
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg) 
}

defaultFlexContainerAttributes : FlexContainerAttributes msg

flexContainerAttributesToHtmlAttributes : FlexContainerAttributes msg -> List (Html.Attribute msg)


type alias FlexItemAttributes msg =
{ flexItemProperties : List ( Modifiers Elegant.Flex.FlexItemDetails
, StyleSelector )
, onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, universal : UniversalAttributes
, block : Maybe (List ( Modifiers Elegant.Display.BlockDetails
, StyleSelector ))
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg) 
}

defaultFlexItemAttributes : FlexItemAttributes msg

flexItemAttributesToHtmlAttributes : FlexItemAttributes msg -> List (Html.Attribute msg)


type alias GridContainerAttributes msg =
{ gridContainerProperties : List ( Modifiers Elegant.Grid.GridContainerDetails
, StyleSelector )
, onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, universal : UniversalAttributes
, block : Maybe (List ( Modifiers Elegant.Display.BlockDetails
, StyleSelector ))
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg) 
}

defaultGridContainerAttributes : GridContainerAttributes msg

gridContainerAttributesToHtmlAttributes : GridContainerAttributes msg -> List (Html.Attribute msg)


type alias GridItemAttributes msg =
{ gridItemProperties : List ( Modifiers Elegant.Grid.GridItemDetails
, StyleSelector )
, onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, universal : UniversalAttributes
, block : Maybe (List ( Modifiers Elegant.Display.BlockDetails
, StyleSelector ))
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg) 
}

defaultGridItemAttributes : GridItemAttributes msg

gridItemAttributesToHtmlAttributes : GridItemAttributes msg -> List (Html.Attribute msg)


type alias ButtonAttributes msg =
{ disabled : Basics.Bool
, block : Maybe (List ( Modifiers Elegant.Display.BlockDetails
, StyleSelector ))
, onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, universal : UniversalAttributes
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg) 
}

defaultButtonAttributes : ButtonAttributes msg

buttonAttributesToHtmlAttributes : ButtonAttributes msg -> List (Html.Attribute msg)


type alias AAttributes msg =
{ onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, universal : UniversalAttributes
, href : Maybe String
, target : Maybe String
, block : Maybe (List ( Modifiers Elegant.Display.BlockDetails
, StyleSelector ))
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg) 
}

target : String -> Modifiers.Modifier (TargetAttribute a)

href : String -> Modifiers.Modifier (HrefAttribute a)

defaultAAttributes : AAttributes msg

aAttributesToHtmlAttributes : AAttributes msg -> List (Html.Attribute msg)


type alias ImgAttributes msg =
{ onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, universal : UniversalAttributes
, src : String
, alt : String
, width : Maybe Basics.Int
, height : Maybe Basics.Int
, block : Maybe (List ( Modifiers Elegant.Display.BlockDetails
, StyleSelector ))
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg) 
}

defaultImgAttributes : String -> String -> ImgAttributes msg

imgAttributesToHtmlAttributes : ImgAttributes msg -> List (Html.Attribute msg)


type alias AudioAttributes msg =
{ onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, universal : UniversalAttributes
, src : String
, block : Maybe (List ( Modifiers Elegant.Display.BlockDetails
, StyleSelector ))
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg) 
}

defaultAudioAttributes : AudioAttributes msg

audioAttributesToHtmlAttributes : AudioAttributes msg -> List (Html.Attribute msg)


type alias ScriptAttributes msg =
{ onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, universal : UniversalAttributes
, src : String
, data : List ( String
, String )
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg) 
}

defaultScriptAttributes : ScriptAttributes msg

scriptAttributesToHtmlAttributes : ScriptAttributes msg -> List (Html.Attribute msg)


type alias ProgressAttributes msg =
{ onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, universal : UniversalAttributes
, block : Maybe (List ( Modifiers Elegant.Display.BlockDetails
, StyleSelector ))
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg) 
}

defaultProgressAttributes : ProgressAttributes msg

progressAttributesToHtmlAttributes : ProgressAttributes msg -> List (Html.Attribute msg)


type alias SelectAttributes msg =
{ block : Maybe (List ( Modifiers Elegant.Display.BlockDetails
, StyleSelector ))
, value : Maybe String
, onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, universal : UniversalAttributes
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg)
, onInputEvent : Maybe (String -> msg)
, fromStringInput : String -> String 
}

Computed : -- MaybeBlockContainer (StringValue (FlowAttributes msg))

defaultSelectAttributes : SelectAttributes msg

selectAttributesToHtmlAttributes : SelectAttributes msg -> List (Html.Attribute msg)


type alias LabelAttributes msg =
{ onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, universal : UniversalAttributes
, position : Position
, block : Maybe (List ( Modifiers Elegant.Display.BlockDetails
, StyleSelector ))
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg) 
}

label : Position -> List (Html msg) -> { c | label : Maybe (BodyBuilder.Internals.Shared.Label msg) } -> { c | label : Maybe (BodyBuilder.Internals.Shared.Label msg) }


type alias PositionAttribute a =
{ a | position : Position }


type Position
    = Before
    | After


type alias InputAttributes a =
{ a | type_ : String
, name : Maybe String 
}

value : a -> { c | value : Maybe a } -> { c | value : Maybe a }

disabled : Modifiers.Modifier (DisabledAttribute a)

name : String -> Modifiers.Modifier (NameAttribute a)

disabledAttributeToHtmlAttributes : Basics.Bool -> List (Html.Attribute msg)

inputAttributesToHtmlAttributes : InputAttributes a -> List (Html.Attribute msg)

inputVisibleToHtmlAttributes : VisibleAttributesAndEvents msg { a | name : Maybe String, type_ : String } -> List (Html.Attribute msg)


type alias InputHiddenAttributes =
{ name : Maybe String
, type_ : String
, value : Maybe String
, universal : UniversalAttributes 
}

defaultInputHiddenAttributes : InputHiddenAttributes

inputHiddenAttributesToHtmlAttributes : InputHiddenAttributes -> List (Html.Attribute msg)


type alias InputPasswordAttributes msg =
InputTextAttributes msg

defaultInputPasswordAttributes : InputPasswordAttributes msg

inputPasswordAttributesToHtmlAttributes : InputPasswordAttributes msg -> List (Html.Attribute msg)


type alias InputRangeAttributes msg =
InputNumberAttributes msg

step : Basics.Int -> Modifiers.Modifier (StepAttribute a)

defaultInputRangeAttributes : InputRangeAttributes msg

inputRangeAttributesToHtmlAttributes : InputRangeAttributes msg -> List (Html.Attribute msg)


type alias InputRadioAttributes msg =
{ name : Maybe String
, type_ : String
, universal : UniversalAttributes
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, value : Maybe String
, block : Maybe (List ( Modifiers Elegant.Display.BlockDetails
, StyleSelector ))
, label : Maybe (BodyBuilder.Internals.Shared.Label msg)
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg) 
}

defaultInputRadioAttributes : InputRadioAttributes msg

inputRadioAttributesToHtmlAttributes : InputRadioAttributes msg -> List (Html.Attribute msg)


type alias InputCheckboxAttributes msg =
{ name : Maybe String
, type_ : String
, universal : UniversalAttributes
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, value : Maybe String
, label : Maybe (BodyBuilder.Internals.Shared.Label msg)
, block : Maybe (List ( Modifiers Elegant.Display.BlockDetails
, StyleSelector ))
, checked : Basics.Bool
, onCheckEvent : Maybe (Basics.Bool -> msg)
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg) 
}

checked : Basics.Bool -> Modifiers.Modifier (InputCheckboxAttributes msg)

defaultInputCheckboxAttributes : InputCheckboxAttributes msg

inputCheckboxAttributesToHtmlAttributes : InputCheckboxAttributes msg -> List (Html.Attribute msg)


type alias InputTextAttributes msg =
{ name : Maybe String
, type_ : String
, universal : UniversalAttributes
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, value : Maybe String
, label : Maybe (BodyBuilder.Internals.Shared.Label msg)
, placeholder : Maybe String
, autocomplete : Basics.Bool
, onInputEvent : Maybe (String -> msg)
, fromStringInput : String -> String
, block : Maybe (List ( Modifiers Elegant.Display.BlockDetails
, StyleSelector ))
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg) 
}

autocomplete : Basics.Bool -> Modifiers.Modifier (AutocompleteAttribute a)

defaultInputTextAttributes : InputTextAttributes msg

defaultInputEmailAttributes : InputTextAttributes msg

inputTextAttributesToHtmlAttributes : InputTextAttributes msg -> List (Html.Attribute msg)


type alias InputTelAttributes msg =
InputTextAttributes msg

defaultInputTelAttributes : InputTelAttributes msg


type alias InputSubmitAttributes msg =
{ label : Maybe (BodyBuilder.Internals.Shared.Label msg)
, type_ : String
, disabled : Basics.Bool
, block : Maybe (List ( Modifiers Elegant.Display.BlockDetails
, StyleSelector ))
, onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, onSubmitEvent : Maybe msg
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, universal : UniversalAttributes
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg) 
}

defaultInputSubmitAttributes : InputSubmitAttributes msg

inputSubmitAttributesToHtmlAttributes : InputSubmitAttributes msg -> List (Html.Attribute msg)


type alias InputUrlAttributes msg =
InputTextAttributes msg

defaultInputUrlAttributes : InputUrlAttributes msg

inputUrlAttributesToHtmlAttributes : InputUrlAttributes msg -> List (Html.Attribute msg)


type alias InputNumberAttributes msg =
{ name : Maybe String
, type_ : String
, universal : UniversalAttributes
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, label : Maybe (BodyBuilder.Internals.Shared.Label msg)
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg)
, value : Maybe Basics.Int
, onInputEvent : Maybe (Basics.Int -> msg)
, fromStringInput : String -> Basics.Int
, step : Maybe Basics.Int
, max : Maybe Basics.Int
, min : Maybe Basics.Int
, block : Maybe (List ( Modifiers Elegant.Display.BlockDetails
, StyleSelector ))
, disabled : Basics.Bool 
}

max : Basics.Int -> Modifiers.Modifier (MaxAttribute a)

min : Basics.Int -> Modifiers.Modifier (MinAttribute a)

defaultInputNumberAttributes : InputNumberAttributes msg

inputNumberAttributesToHtmlAttributes : InputNumberAttributes msg -> List (Html.Attribute msg)


type alias InputColorAttributes msg =
{ name : Maybe String
, type_ : String
, universal : UniversalAttributes
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, label : Maybe (BodyBuilder.Internals.Shared.Label msg)
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg)
, value : Maybe Color
, onInputEvent : Maybe (Color -> msg)
, fromStringInput : String -> Color
, block : Maybe (List ( Modifiers Elegant.Display.BlockDetails
, StyleSelector )) 
}

defaultInputColorAttributes : InputColorAttributes msg

inputColorAttributesToHtmlAttributes : InputColorAttributes msg -> List (Html.Attribute msg)


type alias InputFileAttributes msg =
{ name : Maybe String
, type_ : String
, universal : UniversalAttributes
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, label : Maybe (BodyBuilder.Internals.Shared.Label msg)
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg)
, block : Maybe (List ( Modifiers Elegant.Display.BlockDetails
, StyleSelector )) 
}

defaultInputFileAttributes : InputFileAttributes msg

inputFileAttributesToHtmlAttributes : InputFileAttributes msg -> List (Html.Attribute msg)


type alias TextareaAttributes msg =
{ onMouseEvents : Maybe (BodyBuilder.Events.OnMouseEventsInside msg)
, onEvent : Maybe ( String
, VirtualDom.Handler msg )
, onBlurEvent : Maybe msg
, onFocusEvent : Maybe msg
, box : List ( Modifiers Elegant.Box.Box
, StyleSelector )
, universal : UniversalAttributes
, value : Maybe String
, onInputEvent : Maybe (String -> msg)
, fromStringInput : String -> String
, name : Maybe String
, placeholder : Maybe String
, block : Maybe (List ( Modifiers Elegant.Display.BlockDetails
, StyleSelector ))
, rawStyle : Maybe Elegant.CommonStyle
, rawAttributes : List (Html.Attribute msg) 
}

placeholder : String -> Modifiers.Modifier (PlaceholderAttribute a)

defaultTextareaAttributes : TextareaAttributes msg

textareaAttributesToHtmlAttributes : TextareaAttributes msg -> List (Html.Attribute msg)