lotusui the ikaito design language for Gio — desktop, mobile, web
GitHub

Textarea

The multi-line Input: same chrome, wrapping editor, minimum rows.

Mechanisms mirror Input — Error for danger chrome, Disabled for read-only, the shared sizes, Field for structure.

Installation

Use the module import (the default), or own the source: lotusui add vendors the component into your app and lotusui update keeps the copy mergeable — see Registry.

Go
go get github.com/ikaito-com/lotusui

# or vendor the source into your app:
go run github.com/ikaito-com/lotusui/cmd/lotusui add textarea

Usage

Go
var msg lotusui.Textarea
msg.LayoutField(th, gtx, "Type your message here…")

Invalid — with a Field label

Go
msg.Error = "your message is required"
msg.Layout(th, gtx, "Message", "Tell us what happened")

Disabled

Go
msg.Disabled = true

With button

Go
lotusui.VStack(th.Space.SM,
	messageField,
	lotusui.FullWidth(lotusui.Button(th, &send, "Send message", lotusui.ButtonOpts{})),
)

API

OptionTypeDescription
SizeSizeThe shared size presets (Size2XS–Size2XL).
VariantInputVariantInputOutline (default), InputSubtle, InputFlushed.
RowsintMinimum visible lines; zero means 3.
ErrorstringDanger chrome + message.
DisabledboolRead-only, dimmed.

Every demo on this site is the real Go component compiled to WebAssembly — one gallery app, one bundle, addressed by URL hash.