Radio
Basic
// Package radio holds the site's example gsx components for ui/radio.
package radio
import (
"github.com/gsxhq/gsxui/ui"
)
// Basic groups three Radio inputs by a shared name โ native radio grouping,
// no wrapper component needed.
component Basic() {
<div class="flex flex-col gap-2">
<div class="flex items-center gap-2">
<ui.Radio id="radio-basic-card" name="radio-basic-plan" checked/>
<ui.Label for="radio-basic-card">Card</ui.Label>
</div>
<div class="flex items-center gap-2">
<ui.Radio id="radio-basic-paypal" name="radio-basic-plan"/>
<ui.Label for="radio-basic-paypal">PayPal</ui.Label>
</div>
</div>
}
States
package radio
import (
"github.com/gsxhq/gsxui/ui"
)
// States adds a disabled option to the group โ disabled is a bare boolean
// attribute forwarded through Radio's { attrs... } spread.
component States() {
<div class="flex flex-col gap-2">
<div class="flex items-center gap-2">
<ui.Radio id="radio-states-monthly" name="radio-states-billing" checked/>
<ui.Label for="radio-states-monthly">Monthly</ui.Label>
</div>
<div class="flex items-center gap-2">
<ui.Radio id="radio-states-yearly" name="radio-states-billing"/>
<ui.Label for="radio-states-yearly">Yearly</ui.Label>
</div>
<div class="flex items-center gap-2">
<ui.Radio id="radio-states-lifetime" name="radio-states-billing" disabled/>
<ui.Label for="radio-states-lifetime">Lifetime (unavailable)</ui.Label>
</div>
</div>
}