import { type JSX, splitProps, children as resolveChildren, For, Show } from 'solid-js'; import { cn } from '../utils/cn'; import { Collapsible, CollapsibleTrigger, CollapsibleContent } from '../ui/collapsible'; import { ChevronDown, Circle } from 'lucide-solid'; // --- ChainOfThoughtItem --- export interface ChainOfThoughtItemProps extends JSX.HTMLAttributes { children: JSX.Element; } function ChainOfThoughtItem(props: ChainOfThoughtItemProps) { const [local, rest] = splitProps(props, ['children', 'class']); return (
{local.children}
); } // --- ChainOfThoughtTrigger --- export interface ChainOfThoughtTriggerProps { children: JSX.Element; class?: string; leftIcon?: JSX.Element; swapIconOnHover?: boolean; } function ChainOfThoughtTrigger(props: ChainOfThoughtTriggerProps) { const swapOnHover = () => props.swapIconOnHover ?? true; return (
} > {props.leftIcon} {props.children}
); } // --- ChainOfThoughtContent --- export interface ChainOfThoughtContentProps { children: JSX.Element; class?: string; } function ChainOfThoughtContent(props: ChainOfThoughtContentProps) { return (
{props.children}
); } // --- ChainOfThought (Root) --- export interface ChainOfThoughtProps { children: JSX.Element; class?: string; } function ChainOfThought(props: ChainOfThoughtProps) { return (
{props.children}
); } // --- ChainOfThoughtStep --- export interface ChainOfThoughtStepProps { children: JSX.Element; class?: string; isLast?: boolean; } function ChainOfThoughtStep(props: ChainOfThoughtStepProps) { return ( {props.children}
); } export { ChainOfThought, ChainOfThoughtStep, ChainOfThoughtTrigger, ChainOfThoughtContent, ChainOfThoughtItem, };