Kanban Table Row

KanbanTableRow is a headless component that renders a <tr> element within a kanban board table. It represents a single row containing kanban items across status columns.

Use this component within KanbanTableHead, KanbanTableBody, or KanbanTableFoot to define rows of kanban board items.

Example

Task 1
Show demo markup
<tr class="kanban-table-row"><td class="kanban-table-td">Task 1</td></tr>
Usage example
<script lang="ts">
    import KanbanTableRow from "./KanbanTableRow.svelte";
    import KanbanTableTD from "../KanbanTableTD/KanbanTableTD.svelte";
</script>

<KanbanTableRow>
    <KanbanTableTD>Task A</KanbanTableTD>
    <KanbanTableTD>Task B</KanbanTableTD>
    <KanbanTableTD>Task C</KanbanTableTD>
</KanbanTableRow>
Show Svelte source
// In your Svelte component:
import KanbanTableRow from "lily-design-system-svelte-headless/components/KanbanTableRow/KanbanTableRow.svelte";

<KanbanTableRow>
  <!-- KanbanTableRow content -->
</KanbanTableRow>

Usage

Row of kanban items across status columns:

<KanbanTableBody>
    <KanbanTableRow>
        <KanbanTableTD label="Fix login bug">Fix login bug</KanbanTableTD>
        <KanbanTableTD label="Add dashboard">Add dashboard</KanbanTableTD>
        <KanbanTableTD label="Setup CI/CD">Setup CI/CD</KanbanTableTD>
    </KanbanTableRow>
</KanbanTableBody>

Props

  • className: string (default: "") -- CSS class name for the row
  • children: slot (required) -- row cells, typically KanbanTableTD components
  • ...restProps: unknown -- additional attributes spread onto the <tr> element

Keyboard Interactions

Standard table row keyboard interactions.

ARIA

No additional ARIA attributes. Row semantics are provided by the <tr> element.

When to Use

  • Use inside KanbanTableHead, KanbanTableBody, or KanbanTableFoot to define a row of kanban items.
  • Use to group KanbanTableTD cells that represent items across status columns.
  • Use for each horizontal row of content in the kanban board.

When Not to Use

  • Do not use outside of a KanbanTable context -- use TableRow or DataTableRow for general tables.
  • Do not use for column headings directly -- place heading content inside KanbanTableTD within the row.

Headless

This headless component renders a <tr> element. The consumer provides all visual styling.

Styles

The consumer provides all CSS styling. The component renders with a .kanban-table-row class for targeting.

Testing

  • Verify the component renders a <tr> element
  • Verify children content is rendered
  • Verify pass-through attributes are applied

Advice

  • Designers: Use visual separators between rows for clarity. Consider hover states for interactive rows.
  • Developers: Place KanbanTableRow within KanbanTableHead, KanbanTableBody, or KanbanTableFoot.

Implementation Notes

  • Renders a <tr> element for table row semantics
  • Accepts className for CSS class targeting
  • Spreads restProps onto the <tr> element for consumer customization

Composition

KanbanTableRow is a child of KanbanTableHead/KanbanTableBody/KanbanTableFoot, following the Table pattern: KanbanTable > KanbanTableHead/KanbanTableBody/KanbanTableFoot > KanbanTableRow > KanbanTableTD.

Related components

  • kanban-table — a kanban board table interactive grid for organizing items by status <table>
  • kanban-table-body — a kanban board table interactive grid tbody for organizing items by status <tbody>
  • kanban-table-foot — a kanban board table interactive grid tfoot for organizing items by status <tfoot>
  • kanban-table-head — a kanban board table interactive grid thead for organizing items by status <thead>
  • kanban-table-td — kanban board table interactive grid data cell for organizing items by status <td>
  • kanban-table-th — a kanban board table interactive grid header cell for organizing items by status <th>
  • table — a table with rows and columns <table>

References

  • MDN tr element: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tr

Canonical contract

Generated from this component's canonical metadata — the machine-checked source the implementations are held to.

Metadata

  • Component: kanban-table-row
  • PascalCase: KanbanTableRow
  • Description: a kanban board table interactive grid row for organizing items by status <tr>
  • Status: beta — implemented and unit-tested in all seven frameworks with an axe-clean demo page; not yet exercised in composed flows
  • HTML tag: <tr>
  • CSS class: .kanban-table-row
  • Interactive: no

ARIA

  • Native <tr> semantics announce the row position within the kanban table
  • Screen readers expose the <tr> row as part of the surrounding <table> grid

Keyboard

Standard table row keyboard interactions.

Props

  • className: string (default: "") -- CSS class name for the row
  • children: slot (required) -- row cells, typically KanbanTableTD components
  • ...restProps: unknown -- additional attributes spread onto the <tr> element