(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

@ -45,6 +45,16 @@ fn main() -> std::io::Result<()> {
"assets/bootsier.shell.js",
"static/js/bootsier.shell.min.js",
)?;
// JS: fix de apilamiento para Dialog.
minify_js(
"assets/bootsier.dialog.js",
"static/js/bootsier.dialog.min.js",
)?;
// JS: sustituye el `confirm()` nativo de htmx por un modal de Bootstrap.
minify_js(
"assets/bootsier.confirm.js",
"static/js/bootsier.confirm.min.js",
)?;
// Fuentes: Bootstrap Icons.
copy_file(
@ -81,5 +91,5 @@ fn main() -> std::io::Result<()> {
// Los archivos .map no se embeben en el binario; solo se sirven desde disco en desarrollo.
fn only_js_files(path: &Path) -> bool {
path.extension().map_or(false, |ext| ext == "js")
path.extension().is_some_and(|ext| ext == "js")
}