# LLM Docs ## Compact Docs Copy just this section if you want to keep your context small. If you want all docs, check the section `Full Docs per Module` below. Html.ssr_document : Html state -> Str Html.text : Str -> Html state Html.element : Str -> List Attribute, List (Html state) -> Html state Attribute.classes : List Str -> Attribute Attribute.class_list : List ( Str, Bool ) -> Attribute Attribute.style : List ( Str, Str ) -> Attribute Attribute.data : Str, Str -> Attribute Attribute.aria : Str, Str -> Attribute Attribute.checked : Bool -> Attribute Attribute.disabled : Bool -> Attribute Attribute.attribute : Str, Str -> Attribute Event.on_click : Str -> Attribute Event.on_click_stop_propagation : Str, Bool -> Attribute Event.on_click_prevent_default : Str, Bool -> Attribute Event.on_click_custom : Str, Bool, Bool -> Attribute Event.on_input : Str -> Attribute Event.on_input_stop_propagation : Str, Bool -> Attribute Event.on_input_prevent_default : Str, Bool -> Attribute Event.on_input_custom : Str, Bool, Bool -> Attribute Event.on_change : Str -> Attribute Event.on_change_stop_propagation : Str, Bool -> Attribute Event.on_change_prevent_default : Str, Bool -> Attribute Event.on_change_custom : Str, Bool, Bool -> Attribute Event.on_keyup : Str -> Attribute Event.on_keyup_stop_propagation : Str, Bool -> Attribute Event.on_keyup_prevent_default : Str, Bool -> Attribute Event.on_keyup_custom : Str, Bool, Bool -> Attribute Event.on_keydown : Str -> Attribute Event.on_keydown_stop_propagation : Str, Bool -> Attribute Event.on_keydown_prevent_default : Str, Bool -> Attribute Event.on_keydown_custom : Str, Bool, Bool -> Attribute Event.on_touchstart : Str -> Attribute Event.on_touchstart_stop_propagation : Str, Bool -> Attribute Event.on_touchstart_prevent_default : Str, Bool -> Attribute Event.on_touchstart_custom : Str, Bool, Bool -> Attribute Event.on_touchmove : Str -> Attribute Event.on_touchmove_stop_propagation : Str, Bool -> Attribute Event.on_touchmove_prevent_default : Str, Bool -> Attribute Event.on_touchmove_custom : Str, Bool, Bool -> Attribute Event.on_touchend : Str -> Attribute Event.on_touchend_stop_propagation : Str, Bool -> Attribute Event.on_touchend_prevent_default : Str, Bool -> Attribute Event.on_touchend_custom : Str, Bool, Bool -> Attribute Event.on_mousedown : Str -> Attribute Event.on_mousedown_stop_propagation : Str, Bool -> Attribute Event.on_mousedown_prevent_default : Str, Bool -> Attribute Event.on_mousedown_custom : Str, Bool, Bool -> Attribute Event.on_mousemove : Str -> Attribute Event.on_mousemove_stop_propagation : Str, Bool -> Attribute Event.on_mousemove_prevent_default : Str, Bool -> Attribute Event.on_mousemove_custom : Str, Bool, Bool -> Attribute Event.on_mouseup : Str -> Attribute Event.on_mouseup_stop_propagation : Str, Bool -> Attribute Event.on_mouseup_prevent_default : Str, Bool -> Attribute Event.on_mouseup_custom : Str, Bool, Bool -> Attribute Event.on_mouseleave : Str -> Attribute Event.on_mouseleave_stop_propagation : Str, Bool -> Attribute Event.on_mouseleave_prevent_default : Str, Bool -> Attribute Event.on_mouseleave_custom : Str, Bool, Bool -> Attribute ## Full Docs per Module ### Html ssr_document : Html state -> Str text : Str -> Html state element : Str -> List Attribute, List (Html state) -> Html state ### Attribute classes : List Str -> Attribute class_list : List ( Str, Bool ) -> Attribute style : List ( Str, Str ) -> Attribute data : Str, Str -> Attribute aria : Str, Str -> Attribute checked : Bool -> Attribute Description: `checked` is a boolean/binary attribute. Given `Bool.true` it'll be present on the element, otherwise it'll be absent. It's impossible to set it to a certain value like other attributes (e.g. `checked="true"` or `checked="1"`). This platform uses `percy-dom` to render HTML and `percy-dom` treats `checked` in a non-standard way. Usually `checked` is used to determine if the element is checked by default on first render, but it will not be affected if a user checks/unchecks the element later. There's a different way to access the current state of the element, but it's not this attribute. However, `percy-dom` goes against the grain and _does_ use this attribute to set the current state of the element. This makes for an ergonomic API: input([ type("checkbox"), checked(is_checked) ] [ { name: "onclick", handler: ... If the `onclick` event toggles the value of `is_checked`, the element will be re-rendered and its state will change to reflect its current "checkedness". Read more: https://chinedufn.github.io/percy/html-macro/boolean-attributes/index.html https://chinedufn.github.io/percy/html-macro/special-attributes/index.html disabled : Bool -> Attribute Description: `disabled` is a boolean/binary attribute. Given `Bool.true` it'll be present on the element, otherwise it'll be absent. It's impossible to set it to a certain value like other attributes (e.g. `disabled="true"` or `disabled="1"`). attribute : Str, Str -> Attribute ### Event on_click : Str -> Attribute on_click_stop_propagation : Str, Bool -> Attribute on_click_prevent_default : Str, Bool -> Attribute on_click_custom : Str, Bool, Bool -> Attribute on_input : Str -> Attribute on_input_stop_propagation : Str, Bool -> Attribute on_input_prevent_default : Str, Bool -> Attribute on_input_custom : Str, Bool, Bool -> Attribute on_change : Str -> Attribute on_change_stop_propagation : Str, Bool -> Attribute on_change_prevent_default : Str, Bool -> Attribute on_change_custom : Str, Bool, Bool -> Attribute on_keyup : Str -> Attribute on_keyup_stop_propagation : Str, Bool -> Attribute on_keyup_prevent_default : Str, Bool -> Attribute on_keyup_custom : Str, Bool, Bool -> Attribute on_keydown : Str -> Attribute on_keydown_stop_propagation : Str, Bool -> Attribute on_keydown_prevent_default : Str, Bool -> Attribute on_keydown_custom : Str, Bool, Bool -> Attribute on_touchstart : Str -> Attribute on_touchstart_stop_propagation : Str, Bool -> Attribute on_touchstart_prevent_default : Str, Bool -> Attribute on_touchstart_custom : Str, Bool, Bool -> Attribute on_touchmove : Str -> Attribute on_touchmove_stop_propagation : Str, Bool -> Attribute on_touchmove_prevent_default : Str, Bool -> Attribute on_touchmove_custom : Str, Bool, Bool -> Attribute on_touchend : Str -> Attribute on_touchend_stop_propagation : Str, Bool -> Attribute on_touchend_prevent_default : Str, Bool -> Attribute on_touchend_custom : Str, Bool, Bool -> Attribute on_mousedown : Str -> Attribute on_mousedown_stop_propagation : Str, Bool -> Attribute on_mousedown_prevent_default : Str, Bool -> Attribute on_mousedown_custom : Str, Bool, Bool -> Attribute on_mousemove : Str -> Attribute on_mousemove_stop_propagation : Str, Bool -> Attribute on_mousemove_prevent_default : Str, Bool -> Attribute on_mousemove_custom : Str, Bool, Bool -> Attribute on_mouseup : Str -> Attribute on_mouseup_stop_propagation : Str, Bool -> Attribute on_mouseup_prevent_default : Str, Bool -> Attribute on_mouseup_custom : Str, Bool, Bool -> Attribute on_mouseleave : Str -> Attribute on_mouseleave_stop_propagation : Str, Bool -> Attribute on_mouseleave_prevent_default : Str, Bool -> Attribute on_mouseleave_custom : Str, Bool, Bool -> Attribute