import { useContext, type ReactNode } from 'react'; import { createPortal } from 'react-dom'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faArrowLeft, faArrowRight, faCircleCheck } from '@fortawesome/pro-duotone-svg-icons'; import { Button } from '@/components/base/buttons/button'; import { SETUP_STEP_LABELS, type SetupStepName } from '@/lib/setup-state'; import { WizardLayoutContext } from './wizard-layout-context'; type WizardStepProps = { step: SetupStepName; isCompleted: boolean; isLast: boolean; onPrev: (() => void) | null; onNext: (() => void) | null; onMarkComplete: () => void; onFinish: () => void; saving?: boolean; children: ReactNode; // Optional content for the wizard shell's right preview pane. // Portaled into the shell's