//// Basecoat documentation: //// //// Textarea helpers for multi-line text input. //// //// Use `textarea` when the input is expected to span multiple lines (notes, //// descriptions, messages). //// //// ## Recipe //// //// ```gleam //// import glaze/basecoat/textarea //// import lustre/attribute //// //// fn message_field() { //// textarea.textarea([ //// attribute.placeholder("Type your message here"), //// ], "") //// } //// ``` //// //// ## References //// //// - MDN `aria-invalid`: import lustre/attribute.{type Attribute} import lustre/element.{type Element} import lustre/element/html pub fn textarea(attrs: List(Attribute(msg)), content: String) -> Element(msg) { html.textarea([attribute.class("textarea"), ..attrs], content) } pub fn invalid() -> Attribute(msg) { attribute.aria_invalid("true") } pub fn disabled() -> Attribute(msg) { attribute.disabled(True) } pub fn placeholder(text: String) -> Attribute(msg) { attribute.placeholder(text) } pub fn name(n: String) -> Attribute(msg) { attribute.name(n) } pub fn id(id: String) -> Attribute(msg) { attribute.id(id) } pub fn rows(n: Int) -> Attribute(msg) { attribute.rows(n) }