[bootsier] Añade opción para configurar ancho

This commit is contained in:
Manuel Cillero 2025-01-04 08:44:45 +01:00
parent 70f46c8a3d
commit 7039ca6b68
6 changed files with 116 additions and 38 deletions

View file

@ -11,22 +11,27 @@ pub mod grid;
#[rustfmt::skip]
#[derive(AutoDefault)]
pub enum BreakPoint {
#[default]
None, // < 576px (Dispositivos muy pequeños: teléfonos en modo vertical, menos de 576px)
SM, // >= 576px (Dispositivos pequeños: teléfonos en modo horizontal, 576px o más)
MD, // >= 768px (Dispositivos medianos: tabletas, 768px o más)
LG, // >= 992px (Dispositivos grandes: puestos de escritorio, 992px o más)
XL, // >= 1200px (Dispositivos muy grandes: puestos de escritorio grandes, 1200px o más)
XXL, // >= 1400px (Dispositivos extragrandes: puestos de escritorio más grandes, 1400px o más)
Fluid, // Siempre aplica el 100% del dispositivo
#[default] // DIMENSIONES - DISPOSITIVOS ---------------------------------------------------
None, // < 576px Muy pequeños: teléfonos en modo vertical, menos de 576px
SM, // >= 576px Pequeños: teléfonos en modo horizontal, 576px o más
MD, // >= 768px Medianos: tabletas, 768px o más
LG, // >= 992px Grandes: puestos de escritorio, 992px o más
XL, // >= 1200px Muy grandes: puestos de escritorio grandes, 1200px o más
XXL, // >= 1400px Extragrandes: puestos de escritorio más grandes, 1400px o más
// ------------------------------------------------------------------------------
Fluid, // Para Container, aplica el 100% del dispositivo siempre
FluidMax(unit::Value) // Para Container, aplica el 100% del dispositivo hasta un ancho máximo
}
impl BreakPoint {
/// Indica si se trata de un punto de interrupción de Bootstrap.
/// Devuelve `true` si el valor es SM, MD, LG, XL o XXL.
/// Devuelve `false` si es None o Fluid.
/// Devuelve `false` si es None, Fluid o FluidMax.
pub fn is_breakpoint(&self) -> bool {
!matches!(self, BreakPoint::None | BreakPoint::Fluid)
!matches!(
self,
BreakPoint::None | BreakPoint::Fluid | BreakPoint::FluidMax(_)
)
}
}
@ -35,13 +40,14 @@ impl BreakPoint {
impl fmt::Display for BreakPoint {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
BreakPoint::None => write!(f, ""),
BreakPoint::SM => write!(f, "sm"),
BreakPoint::MD => write!(f, "md"),
BreakPoint::LG => write!(f, "lg"),
BreakPoint::XL => write!(f, "xl"),
BreakPoint::XXL => write!(f, "xxl"),
BreakPoint::Fluid => write!(f, "fluid"),
BreakPoint::None => write!(f, ""),
BreakPoint::SM => write!(f, "sm"),
BreakPoint::MD => write!(f, "md"),
BreakPoint::LG => write!(f, "lg"),
BreakPoint::XL => write!(f, "xl"),
BreakPoint::XXL => write!(f, "xxl"),
BreakPoint::Fluid => write!(f, "fluid"),
BreakPoint::FluidMax(_) => write!(f, "fluid"),
}
}
}