Guided Tooltip

An interactive tooltip for onboarding and feature discovery.

Guided tooltips help users discover features through interactive tours and contextual hints.

Interactive Demo

Click "Start Tour" to see how guided tooltips work in a step-by-step onboarding flow.

Onboarding Tour

Positioning

The side prop controls tooltip placement relative to the trigger element.

Bottom (Default)

Top

Code Example

import { GuidedTooltip, TooltipProvider, Button } from "@delphi/ui";
import { useState } from "react";

function OnboardingTour() {
  const [currentStep, setCurrentStep] = useState(1);

  return (
    <TooltipProvider>
      <div className="flex gap-4">
        <GuidedTooltip
          step={1}
          title="Add to your Mind"
          description="Upload content to train your AI"
          isOpen={currentStep === 1}
          onAction={() => setCurrentStep(2)}
          side="bottom"
        >
          <Button>Mind</Button>
        </GuidedTooltip>

        <GuidedTooltip
          step={2}
          title="Edit your Profile"
          description="Customize how you appear"
          isOpen={currentStep === 2}
          onAction={() => setCurrentStep(3)}
          side="bottom"
        >
          <Button>Edit</Button>
        </GuidedTooltip>

        <GuidedTooltip
          step={3}
          title="Share your Delphi"
          description="Send to friends and family"
          actionText="Done"
          finalStep
          isOpen={currentStep === 3}
          onAction={() => setCurrentStep(0)}
          side="bottom"
        >
          <Button>Share</Button>
        </GuidedTooltip>
      </div>
    </TooltipProvider>
  );
}

API Reference

PropTypeDefaultDescription
stepnumber-The current step number to display
titlestring-The tooltip title
descriptionstring-The tooltip description text
isOpenbooleanfalseControls tooltip visibility
onAction() => void-Callback when action button is clicked
actionTextstring"Next"Custom text for the action button
side"top" | "right" | "bottom" | "left""bottom"Position relative to trigger
finalStepbooleanfalseMarks this as the last step (changes button style)
childrenReactNode-The trigger element
Keep tours short — 3-5 steps maximum for new user onboarding
Allow users to dismiss or skip the tour entirely
Persist tour completion state so it doesn't show again
Position tooltips to avoid obscuring important content
Block critical functionality until the tour is complete
Show tours on every page visit — respect user preferences
Use guided tooltips for error messages or alerts
ESC
No results found