🎨 (bootsier): Normaliza id's y revisa Checkbox

Renombra los sufijos de `id` de los controles internos para que cada
tipo tenga su propio identificador: `-checkbox`, `-check-{n}` y
`-radio-{n}`. Elimina además el atributo booleano `switch` inválido en
HTML (basta con `role="switch"` y `class="form-switch"`).
This commit is contained in:
Manuel Cillero 2026-04-24 20:27:31 +02:00 committed by Manuel Cillero
parent 2fbafce0e7
commit 8717d24ea3
4 changed files with 40 additions and 12 deletions

View file

@ -144,9 +144,9 @@ impl Component for Group {
.name()
.get()
.unwrap_or_else(|| cx.required_id::<Self>(self.id(), 3));
let group_id = self.id().unwrap_or_else(|| util::join!("edit-", &name));
let container_id = self.id().unwrap_or_else(|| util::join!("edit-", &name));
Ok(html! {
div id=(&group_id) class=[self.classes().get()] {
div id=(&container_id) class=[self.classes().get()] {
@if let Some(label) = self.label().lookup(cx) {
label class="form-label" { (label) }
}
@ -157,7 +157,7 @@ impl Component for Group {
};
@for (item, i) in self.items().iter().zip(1..) {
@let i = i.to_string();
@let item_id = util::join!(&group_id, "-", &i);
@let item_id = util::join!(&container_id, "-check-", &i);
@let item_name = if let Some(item_name) = item.name().get() {
util::join!(&name, "_", &item_name)
} else {