TourKit
@tour-kit/checklistsHeadless

TaskHeadless

HeadlessTask component: unstyled task primitive exposing completion state, actions, and dependency info via render props

TaskHeadless

Headless component for individual tasks with render props.

Usage

import { TaskHeadless } from '@tour-kit/checklists/headless';

<TaskHeadless checklistId="onboarding" taskId="step1">
  {({ task, isCompleted, toggle }) => (
    <button onClick={toggle} disabled={task.locked}>
      {isCompleted ? '✓' : '○'} {task.config.title}
    </button>
  )}
</TaskHeadless>

Props

Prop

Type

Render Props

Prop

Type

Examples

Custom Card

<TaskHeadless checklistId="onboarding" taskId="step1">
  {({ task, isCompleted, isLocked, execute }) => (
    <div className="task-card">
      <div className="icon">
        {task.config.icon ?? (isCompleted ? '✓' : '○')}
      </div>
      <div className="content">
        <h4>{task.config.title}</h4>
        <p>{task.config.description}</p>
      </div>
      <button onClick={execute} disabled={isLocked}>
        {isCompleted ? 'Done' : 'Start'}
      </button>
    </div>
  )}
</TaskHeadless>

On this page