"use client" import type * as React from "react" import { cn } from "@/lib/utils" import type { ExamLockStemMedia } from "./exam-lock-delivery-types" import { ExamLockStemFigure } from "./exam-lock-stem-figure" export interface ExamLockQuestionStemProps { questionNumber: number stem: string headingId: string className?: string } /** Mono `Q1` prefix — inline at the start of the question prompt. */ export function ExamLockQuestionIndex({ questionNumber, className, }: { questionNumber: number headingId?: string className?: string }) { return ( Q{questionNumber} ) } /** Question prompt — `Q#` prefix inline, then stem text. */ export function ExamLockQuestionStem({ questionNumber, stem, headingId, className, }: ExamLockQuestionStemProps) { return (

{stem ? ( <> {" "} {stem} ) : null}

) } export interface ExamLockQuestionResponseLayoutProps { stemMedia?: ExamLockStemMedia children: React.ReactNode className?: string } /** * Below the stem: figure beside the response control (options, inputs, essay). * Stacks on narrow viewports; side-by-side from `md` up. */ export function ExamLockQuestionResponseLayout({ stemMedia, children, className, }: ExamLockQuestionResponseLayoutProps) { if (!stemMedia) { return
{children}
} return (
{children}
) }