Commit graph

273 commits

Author SHA1 Message Date
90c98b0bbc ♻️ (intro): Normaliza nombres de clases CSS 2026-04-30 22:02:40 +02:00
0cf9cebe14 ♻️ (examples): Extrae las traducciones propias 2026-04-30 06:27:58 +02:00
f359b36122 📝 (pagetop-macros): Retoca texto de builder_fn 2026-04-29 23:46:03 +02:00
69cd38cf1b 📝 Correcciones menores de doc y comentarios 2026-04-29 23:45:09 +02:00
d20a1f5f62 Añade ejemplo intro-colors y actualiza paleta 2026-04-29 23:42:29 +02:00
f85f2ea2d1 (bootsier): Añade campos de texto de una línea 2026-04-27 18:19:45 +02:00
9273be2110 ♻️ (bootsier): Unifica nombre principal a Field 2026-04-26 08:23:53 +02:00
1313f5e05f (bootsier): Añade listas de selección 2026-04-25 13:39:31 +02:00
0a975cd32a ♻️ (bootsier): Renombra form-item a form-field 2026-04-24 22:59:40 +02:00
ffba175985 🎨 (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"`).
2026-04-24 20:27:31 +02:00
5b7e13e52b (bootsier): Añade grupos de botones de opción 2026-04-19 20:46:10 +02:00
c57732c9f0 (bootsier): Añade grupos de casillas de marcado 2026-04-19 20:44:25 +02:00
99ac8e8938 (bootsier): Añade Checkbox con dos variantes
Fusiona casilla de verificación e interruptor en un único componente con
constructores `check()` y `switch()`, y el enum `CheckboxKind`.
2026-04-19 20:43:17 +02:00
8382fe9b00 🎨 (bootsier): Mejoras a Fieldset
- Nuevo campo `description` con `with_description()`.
- `with_legend()` acepta ahora `Option<L10n>`.
- El `<fieldset>` no se renderiza si no tiene componentes hijo.
2026-04-19 20:41:02 +02:00
0419658192 ♻️ (pagetop): Refactorización de Contextual
Los métodos `required_id()` y `push_message()` son operaciones de tiempo
de renderizado, no de construcción. Se trasladan como métodos inherentes
de `Context`. También se ajustan los métodos asociados a parámetros.
2026-04-12 13:43:32 +02:00
318d7de2b6 ♻️ Simplifica helpers y quita código redundante 2026-03-30 19:40:19 +02:00
234fe71809 🩹 Corrige ejemplo de dependencias 2026-03-30 19:36:17 +02:00
f1295c74df ♻️ (pagetop): Renombra Slot a Embed 2026-03-29 13:32:40 +02:00
d10d546418 (pagetop): Mejora API y doc. de Children
- `From<T: Component> for ChildOp: with_child()` acepta componentes
  directamente sin envolverlos en `Child::with(...)`.
- `From<Child> for ChildOp` para completar las conversiones implícitas.
- Actualiza ejemplos y tests con la nueva API en bootsier y aliner.
2026-03-29 11:54:20 +02:00
cd9454a729 📝 Retoques menores en documentación y ejemplos 2026-03-28 07:48:20 +01:00
54f990b11c ♻️ Refactoriza la API de Children e InRegion
- Patrón prototipo en `InRegion`: cada petición recibe clones profundos.
- `ComponentClone` habilita clonar `dyn Component` de forma segura.
- `ChildTyped<C>` renombrado a `Slot<C>`, elimina `ChildTypedOp`.
- `Mutex` en lugar de `Arc<RwLock>` en `Child` y `Slot`.
- `is_renderable` y `setup_before_prepare` reciben `&Context`.
- Nuevos tests para `Children`, `ChildOp` y `Slot`.
2026-03-26 20:36:32 +01:00
04e3d5b3c2 Completa la API de temas con setup_component!
Elimina `action::theme` fusionando sus responsabilidades en
`action::component`. Renombra `AlterMarkup` a `TransformMarkup` y
`FnActionAlterMarkup` a `FnActionTransformMarkup`. Simplifica
`ActionKey` y mueve los tipos de función al módulo de componente.
2026-03-23 15:52:06 +01:00
0c648fb95a Añade acción AlterMarkup para filtrar render
Permite a las extensiones transformar el `Markup` final de un componente
mediante edición de texto. Se despacha como último paso del ciclo de
renderizado.
2026-03-22 12:15:31 +01:00
02bcf29eaa 📝 Simplifica la descripción de temas en la intro 2026-03-22 09:03:30 +01:00
4cbe84b4c0 Implementa temas hijo y macro render_component!
Añade `Theme::parent()` para declarar jerarquías de herencia entre
temas. Sustituye la acción `PrepareRender<C>` por el método
`Theme::prepare_component()` y la macro `render_component!`.
2026-03-22 08:58:15 +01:00
af309930f7 🩹 Mensajes de error en minúscula y corrige test 2026-03-21 13:26:11 +01:00
04dbbc8858 Añade StatusMessage/MessageLevel al contexto 2026-03-21 13:24:42 +01:00
34aeeab2d7 Añade ComponentError con HTML alternativo
`prepare_component()` ahora devuelve `Result<Markup, ComponentError>` en
lugar de `Markup`, para que los componentes señalen fallos durante el
renderizado de forma explícita.

`ComponentError` encapsula un mensaje de error y un marcado HTML
alternativo opcional (`fallback`). Si se produce un error, el ciclo de
renderizado registra la traza y muestra el `fallback` en lugar del
componente fallido, sin interrumpir el resto de la página.

Lo mismo aplica a los errores devueltos por la acción `PrepareRender` de
los temas, que siguen el mismo mecanismo.
2026-03-21 13:15:39 +01:00
a0b14aec36 Implementa Debug en comp./tipos principales 2026-03-21 11:26:02 +01:00
c3feff9efd 🚚 Renombra ContextOp a AssetsOp
El nombre anterior era ambiguo (podría referirse a cualquier operación
del contexto); `AssetsOp` describe exactamente lo que hace: operar sobre
los recursos del documento.
2026-03-21 11:12:46 +01:00
3e1bc0fb0e ♻️ Cambia en prepare_component() el tipo devuelto
Elimina `PrepareMarkup` como tipo de retorno de prepare_component() y de
`FnPrepareRender`, sustituyéndolo directamente por `Markup`. Se elimina
una capa innecesaria, ya que html! {} y html! { ... } cubren todos los
casos que ofrecía `PrepareMarkup`.
2026-03-17 20:04:26 +01:00
a5ee0fecb1 Merge branch 'preparing-release-zero-five' of git.cillero.es:manuelcillero/pagetop into preparing-release-zero-five 2026-01-06 01:23:29 +01:00
6203a02b89 📝 Retoques menores en documentación 2026-01-06 01:23:26 +01:00
8a29596b18 📝 Retoques menores en documentación 2026-01-06 01:18:45 +01:00
bfaf2e569f (bootsier): Añade componentes para formularios 2026-01-06 01:17:35 +01:00
b39ed38d0d ♻️ (pagetop): Optimiza cadenas con CowStr 2026-01-06 01:16:09 +01:00
cf7aba2b53 Extiende normalización de cadenas ASCII 2026-01-04 19:14:51 +01:00
e9d326cd99 Añade normalización de cadenas ASCII 2026-01-04 13:00:16 +01:00
41d5091348 Añade pruebas para operaciones con clases 2025-12-31 08:48:50 +01:00
00d4de840b ️ Mejora operaciones con clases y documentación 2025-12-31 08:48:25 +01:00
e9565bf70b ️ Mejora rendimiento de búsquedas de clases 2025-12-28 18:00:26 +01:00
4bf2c18b24 ♻️ Refactoriza AttrClasses como Classes 2025-12-28 14:57:21 +01:00
fa32833ffa ♻️ Refactoriza atributos HTML 2025-12-28 14:03:35 +01:00
25d32ec5de ♻️ Cambia Self::default() por Tipo::default() 2025-12-28 13:18:18 +01:00
47c47ba9a0 📝 Actualiza el formato de mensajes commit 2025-12-21 15:20:53 +01:00
dd5cdb19cf 📝 Actualiza las guías de contribución 2025-12-21 09:47:35 +01:00
3db798ad3b 📝 Añade guías de contribución y revisa estilos 2025-12-19 11:15:49 +01:00
57f2fa64f4 🎨 Mejora gestión de errores para 403, 404 y otros 2025-12-17 12:40:53 +01:00
3f00b69902 🚨 Ajuste menor sugerido por clippy 2025-12-17 12:36:26 +01:00
11763d097d 🔥 Elimina anotaciones #[inline] para evitar abuso 2025-12-17 12:35:21 +01:00