diff --git a/assets/css/basic.css b/assets/css/basic.css index ded9e3ef..2c69d35c 100644 --- a/assets/css/basic.css +++ b/assets/css/basic.css @@ -365,18 +365,14 @@ input:disabled + label { cursor: pointer; } .dropdown-toggle::after { - content: ""; + content: "\25BC"; display: inline-block; - width: 0.4em; - height: 0.4em; margin-left: 0.35em; - border-right: 0.125em solid currentColor; - border-bottom: 0.125em solid currentColor; - transform: rotate(45deg); + font-size: 0.8em; transition: transform .15s ease-in-out; } .dropdown:has(> .dropdown-menu.show) > .dropdown-toggle::after { - transform: rotate(-135deg); + transform: rotate(180deg); } .dropdown-menu { @@ -392,10 +388,12 @@ input:disabled + label { border: 1px solid color-mix(in srgb, var(--val-color--border) 15%, var(--val-color--bg)); border-radius: 0.375rem; box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); -} -.dropdown-menu.hide { + /* Closed by default */ display: none; } +.dropdown-menu.show { + display: block; +} .dropdown-item { display: block; diff --git a/assets/js/basic.dropdown.init.js b/assets/js/basic.dropdown.init.js new file mode 100644 index 00000000..2f593cea --- /dev/null +++ b/assets/js/basic.dropdown.init.js @@ -0,0 +1,66 @@ +// Conecta cada `Dropdown` (standalone o embebido en un `Nav`) con `accessible-menu` (ver +// basic.menu.min.js), que añade los roles ARIA, el `aria-expanded` y la navegación por teclado +// sobre el marcado ya generado en el servidor. Selecciona por clase, no por etiqueta, porque el +// disparador es un `