♻️ (bootsier): Refactoriza la gestión de clases

- Mejora la legibilidad del código.
- Simplifica las alteraciones de clases en los componentes `Container`,
  `Dropdown`, `Image`, `Nav`, `Navbar` y `Offcanvas` usando métodos
  dedicados para generar clases en función de sus propiedades.
- Mejora los enums añadiendo métodos que devuelven sus clases
  asociadas, reduciendo código repetitivo.
- Elimina el trait `JoinClasses` y su implementación, integrando la
  lógica de unión de clases directamente en los componentes.
This commit is contained in:
Manuel Cillero 2025-11-15 13:16:15 +01:00
parent 748bd81bf1
commit 2e39af0856
33 changed files with 1607 additions and 647 deletions

View file

@ -26,20 +26,7 @@ impl Component for Container {
}
fn setup_before_prepare(&mut self, _cx: &mut Context) {
self.alter_classes(
ClassesOp::Prepend,
[join_pair!(
"container",
"-",
match self.width() {
container::Width::Default => String::new(),
container::Width::From(bp) => bp.to_string(),
container::Width::Fluid => "fluid".to_string(),
container::Width::FluidMax(_) => "fluid".to_string(),
}
)]
.join_classes(),
);
self.alter_classes(ClassesOp::Prepend, self.width().to_class());
}
fn prepare_component(&self, cx: &mut Context) -> PrepareMarkup {