Contenido y datos
Bulk Actions Bar
La barra de una selección múltiple: «3 seleccionados», las acciones para todos y «Limpiar selección».
import { BulkActionsBar } from "sebs7n-ui/bulk-actions-bar"Ejemplos
Con selección
Se dibuja con al menos uno elegido y «Limpiar selección» lo apaga. El contador se anuncia al cambiar.
import { BulkActionsBar } from "sebs7n-ui/bulk-actions-bar"
import { Button } from "sebs7n-ui/button"
import { useState } from "react"
function Basic() {
const [count, setCount] = useState(0)
return (
<div className="flex w-full flex-col items-start gap-3">
<div className="flex gap-2">
<Button onClick={() => setCount((value) => value + 1)} size="sm" variant="secondary">
Elegir una factura
</Button>
</div>
<BulkActionsBar count={count} labels={{ selectedOne: "{count} seleccionada", selectedOther: "{count} seleccionadas" }} onClear={() => setCount(0)}>
<Button size="sm" variant="secondary">
Marcar cobradas
</Button>
<Button size="sm" variant="secondary">
Enviar recordatorio
</Button>
</BulkActionsBar>
</div>
)
}Props
Generadas del TypeScript del paquete. Las propias del componente, más las heredadas del primitivo que tienen algo que explicar —marcadas «heredada de Base UI»—. El resto está en la línea «hereda de».
BulkActionsBar
Hereda las props de <div>.
| Prop | Tipo | Por defecto | Descripción |
|---|---|---|---|
count* | number | — | Cuántos hay seleccionados. Con 0 la barra no se dibuja. |
onClear* | () => void | — | Vacía la selección: lo llama «Limpiar selección». |
labels | Partial<BulkActionsLabels> | — | Textos: label, clear, selectedOne y selectedOther (con {count}). Por defecto, bulkActionsLabels. |
className | string | — | Se fusiona con las clases del componente vía cn() (tailwind-merge): lo que pongas gana. |
Teclado
- Tab
- Recorre las acciones y «Limpiar selección».
- Enter · Espacio
- Activan el botón enfocado.
Accesibilidad
- Es un
groupcon nombre («Acciones sobre la selección»). El contador es una regiónstatus: el lector anuncia el número nuevo cuando cambia la selección.
Reglas de uso
- Se dibuja con
countmayor que 0 y se va al limpiar. Va en el lugar de los filtros mientras hay selección (filtersdeDataTable,actionsdeFilterBar). - Las acciones son
Button size="sm" variant="secondary";destructivesolo si borra, siempre detrás de unAlertDialog. - El género del contador («seleccionadas» para facturas) se cambia con
labels(selectedOneyselectedOther, con{count}). - No lleva la selección: la tiene la tabla o la grilla, y la app le pasa
countyonClear.