✨ (pagetop): Añade Grid y extrae Flex de Container

This commit is contained in:
Manuel Cillero 2026-09-18 16:49:09 +02:00
parent dfff12881f
commit 307ca6f62c
44 changed files with 2554 additions and 735 deletions

View file

@ -90,9 +90,9 @@ use std::sync::Arc;
/// let route = Route::with(move |cx| cx.route(format!("/users/{user_id}")));
/// ```
///
/// Si ya tienes un [`RoutePath`] resuelto -- por ejemplo, combinando
/// [`Context::route()`] con [`Waypoint::append_to()`](crate::response::Waypoint::append_to) --
/// se convierte directamente, sin volver a procesarlo:
/// Si ya tienes un [`RoutePath`] resuelto (por ejemplo, combinando [`Context::route()`] con
/// [`Waypoint::append_to()`](crate::response::Waypoint::append_to)), se convierte directamente, sin
/// volver a procesarlo:
///
/// ```rust,no_run
/// # use pagetop::prelude::*;
@ -178,7 +178,7 @@ impl Default for Route {
///
/// Ojo: esta conversión asume que el `RoutePath` ya pasó por `Context::route()`. Si construyes uno
/// a mano (por ejemplo con `RoutePath::new(...)` directamente, sin pasar por `cx.route()`), esta
/// conversión no añadirá `lang` por ti -- simplemente envuelve el valor tal cual, igual que
/// conversión no añadirá `lang` por ti; simplemente envuelve el valor tal cual, igual que
/// [`Route::external()`].
impl From<RoutePath> for Route {
fn from(path: RoutePath) -> Self {

View file

@ -126,12 +126,15 @@ pub struct BreakpointEntry {
/// responsabilidad de quien consuma [`by_breakpoint()`], normalmente para acabar registrado en
/// [`ResponsiveStyles`].
///
/// Uso típico: los campos de [`Flex`]/[`FlexItem`] para el posicionamiento Flexbox de componentes.
/// Se hace un uso extensivo de esta estructura en los campos de [`Flex`]/[`FlexItem`] y
/// [`Grid`]/[`GridItem`] para el posicionamiento Flexbox y CSS Grid de componentes.
///
/// [`by_breakpoint()`]: Self::by_breakpoint
/// [`ResponsiveStyles`]: crate::html::ResponsiveStyles
/// [`Flex`]: crate::html::Flex
/// [`Flex`]: crate::base::component::Flex
/// [`FlexItem`]: crate::html::FlexItem
/// [`Grid`]: crate::base::component::Grid
/// [`GridItem`]: crate::html::GridItem
#[derive(AutoDefault, Clone, Copy, Debug, PartialEq)]
pub struct Responsive<T> {
values: [Option<T>; 7],