(bootsier): Añade componentes esenciales

- Añade Dialog como modal de Bootstrap, con el JS de soporte para
  `htmx:confirm` y el saneado de su posición fija.
- Adapta Nav, Navbar y Dropdown al reuso de los tipos movidos al core, y
  traduce BootsierColors/Intent en Button y Badge, con soporte para
  Light/Dark vía with_color().
- Reexporta en el tema los componentes de PageTop que faltaban: Block,
  Breadcrumb, Messages, Pager, Table y form::Number.
This commit is contained in:
Manuel Cillero 2026-08-28 19:46:56 +02:00
parent eb63a7ef37
commit c0a5a8c3ab
47 changed files with 2135 additions and 1818 deletions

View file

@ -1,12 +1,27 @@
//! Componentes proporcionados por el tema.
pub(crate) mod layout;
pub use layout::BootsierRegions;
// Badge.
pub(crate) mod badge;
pub use badge::Badge;
pub use badge::{Badge, BadgeBootsier};
// Block.
pub use pagetop::base::component::Block;
// Brand.
pub(crate) mod brand;
pub use brand::Brand;
// Breadcrumb.
#[doc(inline)]
pub use breadcrumb::Breadcrumb;
pub use pagetop::base::component::breadcrumb;
// Button.
mod button;
pub use button::{Button, ButtonAction};
pub mod button;
pub use button::{Button, ButtonBootsier};
// Container.
pub mod container;
@ -15,10 +30,17 @@ pub use container::Container;
#[doc(inline)]
pub use container::ContainerBootsier;
// Dialog.
pub mod dialog;
#[doc(inline)]
pub use dialog::Dialog;
// Dropdown.
pub mod dropdown;
#[doc(inline)]
pub use dropdown::Dropdown;
#[doc(inline)]
pub use dropdown::DropdownBootsier;
// Form.
pub mod form;
@ -36,20 +58,35 @@ pub mod image;
#[doc(inline)]
pub use image::Image;
// Messages.
pub use pagetop::base::component::Messages;
// Nav.
pub mod nav;
#[doc(inline)]
pub use nav::Nav;
#[doc(inline)]
pub use nav::NavBootsier;
// Navbar.
pub mod navbar;
#[doc(inline)]
pub use navbar::Navbar;
#[doc(inline)]
pub use navbar::NavbarBootsier;
// Offcanvas.
pub mod offcanvas;
#[doc(inline)]
pub use offcanvas::Offcanvas;
// Pager.
pub use pagetop::base::component::{Pager, PagerAlign, PagerVisibility};
// Sidebar (componentes de navegación de AdminLTE).
pub mod sidebar;
// Table.
pub use pagetop::base::component::table;
#[doc(inline)]
pub use table::Table;