TaskCard

Business-agnostic task-card parts for composing metadata, content, and status actions.

Preview#

#142

Match the Tasks tab toolbar and board spacing

Preserve the source hierarchy before connecting product state.

Controls
import {
  TaskCard,
  TaskCardBody,
  TaskCardChannel,
  TaskCardDescription,
  TaskCardLegacy,
  TaskCardMeta,
  TaskCardNumber,
  TaskCardRow,
  TaskCardStatus,
  TaskCardTitle,
  TaskStatusIcon,
} from "raft-ui";

<TaskCard>
  <TaskCardRow>
    <TaskCardBody>
      <TaskCardMeta>
        <TaskCardChannel />
        <TaskCardStatus status="in-progress">
          <TaskStatusIcon status="in-progress" />
        </TaskCardStatus>
        <TaskCardNumber />
        <TaskCardLegacy />
      </TaskCardMeta>
      <TaskCardTitle />
      <TaskCardDescription />
    </TaskCardBody>
  </TaskCardRow>
</TaskCard>

States#

#142

Match the Tasks tab toolbar and board spacing

Preserve the source hierarchy before connecting product state.

#139

Verify a deliberately long task title wraps to three lines without pushing the status control outside the card

The description also wraps and clamps so dense board columns remain scannable at the source width.

#126LEGACY

Retire the legacy task inspector

#142

Match the Tasks tab toolbar and board spacing

Preserve the source hierarchy before connecting product state.

#137

Connect keyboard drag feedback

Announce allowed and blocked status targets.

#121

Review task filter empty states

Compare empty, filtered empty, loading, and failure structures.

API#WIP

PropTypeDefaultDescription
busybooleanfalseMarks the card as busy without owning task workflow policy.
disabledbooleanfalseMarks the card as disabled. Interaction policy stays consumer-owned.
...propsuseRender.ComponentProps<"article">Card root. Consumers attach an optional open action with native article props.
PropTypeDefaultDescription
...propsuseRender.ComponentProps<"div">Structural row around the flexible text body.
PropTypeDefaultDescription
...propsuseRender.ComponentProps<"div">Flexible column for meta, title, and description.
PropTypeDefaultDescription
...propsuseRender.ComponentProps<"div">Metadata row. Consumers render only the fields their context needs.
PropTypeDefaultDescription
...propsuseRender.ComponentProps<"span">Optional channel label in the metadata row.
PropTypeDefaultDescription
...propsuseRender.ComponentProps<"span">Task number or identifier in the metadata row.
PropTypeDefaultDescription
...propsuseRender.ComponentProps<"span">Optional legacy marker in the metadata row.
PropTypeDefaultDescription
...propsuseRender.ComponentProps<"p">Task title supplied by the consumer.
PropTypeDefaultDescription
...propsuseRender.ComponentProps<"p">Optional supporting description under the title.
PropTypeDefaultDescription
status"todo" | "in-progress" | "in-review" | "done" | "closed"Task status that drives the trigger surface color and icon.
busybooleanfalseDisables the status trigger while a change is pending.
...propsuseRender.ComponentProps<"button">Status trigger passed to TaskStatusSelect; its click does not open the card.