List

44px rows on the panel, no lines, metadata on the right, group headers, keyboard first.

View source
checkout-websk-kso-AbC123…wxyzInference8 min ago
checkout-workersk-kso-Xm91Lq…4f2aInference22 min ago
ci-runnersk-kso-Pz0Tt7…91cdPlatform16 h ago
stagingsk-kso-Hq55Ra…0b7eInference2 Oct
load-testsk-kso-Ty8Kc2…aa31Inference18 Sept
import { List, ListRow, GroupHeader } from "@logicplanes/kaeso-ui";

Props

  • aria-label
    string

    The list's accessible name.

  • data-force-row
    string

    Force a state on the first row for state matrices: hover, focus, selected.

  • density
    "default" | "compact" = default

    How much room each row gets.

  • empty
    ReactNode

    Shown when there are no rows and the list isn't loading: usually an Empty (size="md" in a settings column, where it sits inside the list's card; size="compact" on an edge-to-edge page).

  • groups
    ListGroup[]

    …rows under group headers.

  • idWidth
    48 | 64 | 80 | 96 | 120

    A fixed width for the id column when ids differ in length, so titles align. By default the id takes its own width.

  • items
    ListItemData[]

    Rows without groups, or…

  • loading
    boolean

    Loading rows shaped like items, while the rows aren't known yet.

  • onOpen
    ((item: ListItemData) => void)

    Called when a row is opened with a click or Enter. Enter with ⌘ or Ctrl is left to the surrounding form.

  • onSelectedChange
    ((selected: Set<string>) => void)

    Called with the selected rows; rows then get checkboxes.

  • selectable
    boolean

    Selection: checkboxes appear on hover, and on every row once something is selected.

  • selected
    Set<string>

    The ids of the selected rows.

  • selectionActions
    ReactNode

    Actions in the floating selection bar.

  • selectionBar
    boolean = true

    The floating selection bar; off where the host shows the count itself, as in a dialog.

  • virtualizeAbove
    number = 100

    Virtualize above this many rows (100).