diff --git a/extensions/pagetop-aliner/README.md b/extensions/pagetop-aliner/README.md index 65f91f94..09a337eb 100644 --- a/extensions/pagetop-aliner/README.md +++ b/extensions/pagetop-aliner/README.md @@ -25,7 +25,7 @@ Igual que con otras extensiones, **añade la dependencia** a tu `Cargo.toml`: ```toml [dependencies] -pagetop-aliner = "..." +pagetop-aliner = { ... } ``` **Declara la extensión** en tu aplicación (o extensión que la requiera). Recuerda que el orden en diff --git a/extensions/pagetop-aliner/src/lib.rs b/extensions/pagetop-aliner/src/lib.rs index e0421305..95f22196 100644 --- a/extensions/pagetop-aliner/src/lib.rs +++ b/extensions/pagetop-aliner/src/lib.rs @@ -26,7 +26,7 @@ Igual que con otras extensiones, **añade la dependencia** a tu `Cargo.toml`: ```toml [dependencies] -pagetop-aliner = "..." +pagetop-aliner = { ... } ``` **Declara la extensión** en tu aplicación (o extensión que la requiera). Recuerda que el orden en diff --git a/extensions/pagetop-bootsier/README.md b/extensions/pagetop-bootsier/README.md index a48bfd82..b34eeb51 100644 --- a/extensions/pagetop-bootsier/README.md +++ b/extensions/pagetop-bootsier/README.md @@ -25,7 +25,7 @@ Igual que con otras extensiones, **añade la dependencia** a tu `Cargo.toml`: ```toml [dependencies] -pagetop-bootsier = "..." +pagetop-bootsier = { ... } ``` **Declara la extensión** en tu aplicación (o extensión que la requiera). Recuerda que el orden en diff --git a/extensions/pagetop-bootsier/src/lib.rs b/extensions/pagetop-bootsier/src/lib.rs index e23b391f..d562ec09 100644 --- a/extensions/pagetop-bootsier/src/lib.rs +++ b/extensions/pagetop-bootsier/src/lib.rs @@ -26,7 +26,7 @@ Igual que con otras extensiones, **añade la dependencia** a tu `Cargo.toml`: ```toml [dependencies] -pagetop-bootsier = "..." +pagetop-bootsier = { ... } ``` **Declara la extensión** en tu aplicación (o extensión que la requiera). Recuerda que el orden en diff --git a/extensions/pagetop-bootsier/src/theme/aux/button.rs b/extensions/pagetop-bootsier/src/theme/aux/button.rs index b32bd17d..876e8f87 100644 --- a/extensions/pagetop-bootsier/src/theme/aux/button.rs +++ b/extensions/pagetop-bootsier/src/theme/aux/button.rs @@ -33,7 +33,7 @@ impl ButtonColor { classes.push(' '); } match self { - Self::Default => unreachable!(), + Self::Default => {} Self::Background(c) => { classes.push_str(Self::BTN_PREFIX); classes.push_str(c.as_str()); @@ -66,24 +66,9 @@ impl ButtonColor { /// assert_eq!(ButtonColor::Default.to_class(), ""); /// ``` pub fn to_class(self) -> String { - match self { - Self::Default => String::new(), - Self::Background(c) => { - let color = c.as_str(); - let mut class = String::with_capacity(Self::BTN_PREFIX.len() + color.len()); - class.push_str(Self::BTN_PREFIX); - class.push_str(color); - class - } - Self::Outline(c) => { - let color = c.as_str(); - let mut class = String::with_capacity(Self::BTN_OUTLINE_PREFIX.len() + color.len()); - class.push_str(Self::BTN_OUTLINE_PREFIX); - class.push_str(color); - class - } - Self::Link => Self::BTN_LINK.to_string(), - } + let mut class = String::new(); + self.push_class(&mut class); + class } } @@ -108,17 +93,15 @@ impl ButtonSize { /// Añade la clase de tamaño `btn-sm` o `btn-lg` a la cadena de clases. #[inline] pub(crate) fn push_class(self, classes: &mut String) { - if let Self::Default = self { - return; - } + let class = match self { + Self::Default => return, + Self::Small => Self::BTN_SM, + Self::Large => Self::BTN_LG, + }; if !classes.is_empty() { classes.push(' '); } - match self { - Self::Default => unreachable!(), - Self::Small => classes.push_str(Self::BTN_SM), - Self::Large => classes.push_str(Self::BTN_LG), - } + classes.push_str(class); } /// Devuelve la clase `btn-sm` o `btn-lg` correspondiente al tamaño del botón. @@ -132,10 +115,8 @@ impl ButtonSize { /// assert_eq!(ButtonSize::Default.to_class(), ""); /// ``` pub fn to_class(self) -> String { - match self { - Self::Default => String::new(), - Self::Small => Self::BTN_SM.to_string(), - Self::Large => Self::BTN_LG.to_string(), - } + let mut class = String::new(); + self.push_class(&mut class); + class } } diff --git a/extensions/pagetop-bootsier/src/theme/aux/color.rs b/extensions/pagetop-bootsier/src/theme/aux/color.rs index f49c36b6..a56d9db2 100644 --- a/extensions/pagetop-bootsier/src/theme/aux/color.rs +++ b/extensions/pagetop-bootsier/src/theme/aux/color.rs @@ -5,9 +5,9 @@ use pagetop::prelude::*; /// Paleta de colores temáticos. /// /// Equivalen a los nombres estándar definidos por Bootstrap (`primary`, `secondary`, `success`, -/// etc.). Este tipo enumerado sirve de base para componer las clases de color para fondo -/// ([`classes::Background`](crate::theme::classes::Background)), bordes -/// ([`classes::Border`](crate::theme::classes::Border)) y texto +/// etc.). Este tipo enumerado sirve de referencia para componer las clases de color para el fondo +/// ([`classes::Background`](crate::theme::classes::Background)), los bordes +/// ([`classes::Border`](crate::theme::classes::Border)) o para el texto /// ([`classes::Text`](crate::theme::classes::Text)). #[derive(AutoDefault, Clone, Copy, Debug, PartialEq)] pub enum Color { @@ -39,15 +39,6 @@ impl Color { } } - /* Añade el nombre del color a la cadena de clases (reservado). - #[inline] - pub(crate) fn push_class(self, classes: &mut String) { - if !classes.is_empty() { - classes.push(' '); - } - classes.push_str(self.as_str()); - } */ - /// Devuelve la clase correspondiente al color. /// /// # Ejemplos @@ -254,23 +245,9 @@ impl ColorBg { /// assert_eq!(ColorBg::Default.to_class(), ""); /// ``` pub fn to_class(self) -> String { - if let Some(suffix) = self.suffix() { - let base_len = match self { - Self::Theme(c) | Self::Subtle(c) => Self::BG_PREFIX.len() + c.as_str().len(), - _ => Self::BG.len(), - }; - let mut class = String::with_capacity(base_len + suffix.len()); - match self { - Self::Theme(c) | Self::Subtle(c) => { - class.push_str(Self::BG_PREFIX); - class.push_str(c.as_str()); - } - _ => class.push_str(Self::BG), - } - class.push_str(suffix); - return class; - } - String::new() + let mut class = String::new(); + self.push_class(&mut class); + class } } @@ -352,22 +329,8 @@ impl ColorText { /// assert_eq!(ColorText::Default.to_class(), ""); /// ``` pub fn to_class(self) -> String { - if let Some(suffix) = self.suffix() { - let base_len = match self { - Self::Theme(c) | Self::Emphasis(c) => Self::TEXT_PREFIX.len() + c.as_str().len(), - _ => Self::TEXT.len(), - }; - let mut class = String::with_capacity(base_len + suffix.len()); - match self { - Self::Theme(c) | Self::Emphasis(c) => { - class.push_str(Self::TEXT_PREFIX); - class.push_str(c.as_str()); - } - _ => class.push_str(Self::TEXT), - } - class.push_str(suffix); - return class; - } - String::new() + let mut class = String::new(); + self.push_class(&mut class); + class } } diff --git a/extensions/pagetop-bootsier/src/theme/classes/layout.rs b/extensions/pagetop-bootsier/src/theme/classes/layout.rs index 1f388450..8b53cf15 100644 --- a/extensions/pagetop-bootsier/src/theme/classes/layout.rs +++ b/extensions/pagetop-bootsier/src/theme/classes/layout.rs @@ -79,18 +79,6 @@ impl Margin { } } - /* Añade la clase de **margin** a la cadena de clases (reservado). - /// - /// No añade nada si `size` es `ScaleSize::None`. - #[inline] - pub(crate) fn push_class(self, classes: &mut String) { - let Some(size) = self.size_suffix() else { - return; - }; - self.breakpoint - .push_class(classes, self.side_prefix(), size); - } */ - /// Devuelve la clase de **margin** como cadena (`"mt-3"`, `"ms-lg-auto"`, etc.). /// /// Si `size` es `ScaleSize::None`, devuelve `""`. @@ -180,17 +168,6 @@ impl Padding { } } - /* Añade la clase de **padding** a la cadena de clases (reservado). - /// - /// No añade nada si `size` es `ScaleSize::None` o `ScaleSize::Auto`. - #[inline] - pub(crate) fn push_class(self, classes: &mut String) { - let Some(size) = self.suffix() else { - return; - }; - self.breakpoint.push_class(classes, self.prefix(), size); - } */ - /// Devuelve la clase de **padding** como cadena (`"px-2"`, `"pe-sm-4"`, etc.). /// /// Si `size` es `ScaleSize::None` o `ScaleSize::Auto`, devuelve `""`.