[{"name":"HtmlHelpers","comment":" Helper functions for conditionally rendering HTML elements.\n\nThese utilities make it easier to work with [`Html`](http://package.elm-lang.org/packages/elm-lang/html/latest/Html#Html)\nin a more declarative way.\n\n@docs contentList, lazyContentList, maybeContentList, wrapToSingleNode, nothing\n\n","unions":[],"aliases":[],"values":[{"name":"contentList","comment":" Conditionally render HTML nodes based on boolean flags.\n\nThis function is conceptually similar to `Attributes.classList`, but for\ncontent nodes rather than CSS classes. Each entry in the list will be included\nin the output only if its associated boolean value is `True`.\n\nFor example:\n\n    viewAnimals : Animal -> Animal -> Animal -> Html msg\n    viewAnimals dog cat mouse =\n        Html.section [ Attributes.id \"animals\" ] <|\n            contentList\n                [ ( Html.text dog.name, dog.visible ) -- included only if dog.visible is True\n                , ( Html.text cat.name, cat.visible ) -- included only if cat.visible is True\n                , ( Html.text mouse.name, mouse.visible ) -- included only if mouse.visible is True\n                ]\n\n","type":"List.List ( Html.Html msg, Basics.Bool ) -> List.List (Html.Html msg)"},{"name":"lazyContentList","comment":" A lazy version of `contentList` for performance optimization.\n\nThis function takes a list of thunks (functions that take unit `()` and return HTML)\npaired with boolean values. The thunks are evaluated only when their corresponding\nboolean is `True`, making this function more efficient when the HTML generation is\nexpensive but condition evaluation is cheap.\n\nExample:\n\n    viewAnimals : List Animal -> Html msg\n    viewAnimals animals =\n        Html.section [ Attributes.id \"animals\" ] <|\n            lazyContentList\n                [ ( \\_ -> expensiveRenderFunction animal1, animal1.visible )\n                , ( \\_ -> expensiveRenderFunction animal2, animal2.visible )\n                , ( \\_ -> expensiveRenderFunction animal3, animal3.visible )\n                ]\n\n","type":"List.List ( () -> Html.Html msg, Basics.Bool ) -> List.List (Html.Html msg)"},{"name":"maybeContentList","comment":" Conditionally render HTML nodes based on `Maybe` values.\n\nThis function is similar to `lazyContentList` but works with `Maybe` values instead of\nbooleans. HTML nodes will only be rendered for items that have a `Just` value.\nWhen the value is `Nothing`, the node is omitted from the output.\n\nExample:\n\n    view =\n        maybeContentList\n            [ ( \\text -> Html.text text, Just \"This will be rendered\" )\n            , ( \\text -> Html.text text, Nothing ) -- This will be omitted\n            , ( \\user -> viewUser user, maybeUser ) -- Rendered only if maybeUser is Just\n            ]\n\n","type":"List.List ( a -> Html.Html msg, Maybe.Maybe a ) -> List.List (Html.Html msg)"},{"name":"nothing","comment":" A concise way to render nothing.\n\nThis is a convenience function that provides the idiomatic approach for rendering\nnothing in Elm: an empty text node. Use this instead of `Html.text \"\"` for improved\nreadability and consistency.\n\n","type":"Html.Html msg"},{"name":"wrapToSingleNode","comment":" Convert a list of HTML nodes into a single node, following these rules:\n\n1.  If the list is empty, return `nothing` (an empty text node)\n2.  If the list contains exactly one element, return that element unchanged\n3.  If the list contains multiple elements, wrap them with a `div` using `display: contents`\n\nUsing `display: contents` makes the wrapper transparent in the DOM layout,\nallowing children to participate in the parent's layout as if they were direct children.\n\nMore about `display: contents`: <https://developer.mozilla.org/en-US/docs/Web/CSS/display#contents>\n\n","type":"List.List (Html.Html msg) -> Html.Html msg"}],"binops":[]}]