♻️ (bootsier): Mueve input/select/textarea a theme

Consolida los handlers de estos campos en la capa del tema. Además,
`with_floating_label()` usa un valor extra que lee en `setup()` para
forzar `multiple`/`rows` en 'select` y `textarea`.
This commit is contained in:
Manuel Cillero 2026-07-09 01:26:52 +02:00
parent bff7cf1b38
commit 87ad78778d
7 changed files with 241 additions and 223 deletions

View file

@ -143,14 +143,15 @@ impl Theme for Bootsier {
cx: &mut Context,
) -> Option<Result<Markup, ComponentError>> {
setup_component!(component, {
Button => |c| handlers::button::setup(c),
form::select::Field => |c| handlers::select::setup(c),
form::Textarea => |c| handlers::textarea::setup(c),
Button => |c| theme::bs::button::setup(c),
form::input::Field => |c| theme::bs::form::input::setup(c),
form::select::Field => |c| theme::bs::form::select::setup(c),
form::Textarea => |c| theme::bs::form::textarea::setup(c),
});
render_component!(component, {
form::input::Field => |c| handlers::input::render(c, cx),
form::select::Field => |c| handlers::select::render(c, cx),
form::Textarea => |c| handlers::textarea::render(c, cx),
form::input::Field => |c| theme::bs::form::input::render(c, cx),
form::select::Field => |c| theme::bs::form::select::render(c, cx),
form::Textarea => |c| theme::bs::form::textarea::render(c, cx),
})
}