import React from 'react'; import { Listbox, ListboxOption, ListboxButton, ListboxOptions, Transition } from '@headlessui/react' import { ChevronDown, Check } from 'lucide-react'; export const supportedPipelines = [ 'text-classification', 'zero-shot-classification', 'text-generation', 'summarization', 'feature-extraction', 'sentiment-analysis', 'image-classification', 'question-answering', 'translation' ]; interface PipelineSelectorProps { pipeline: string; setPipeline: (pipeline: string) => void; } const PipelineSelector: React.FC = ({ pipeline, setPipeline }) => { const selectedPipeline = pipeline; const formatPipelineName = (pipelineId: string) => { return pipelineId .split('-') .map(word => word.charAt(0).toUpperCase() + word.slice(1)) .join(' '); }; return (
{formatPipelineName(selectedPipeline)} {supportedPipelines.map((p) => ( `relative cursor-default select-none py-2 px-4 ${ active ? 'bg-amber-100 text-amber-900' : 'text-gray-900' }` } value={p} > {({ selected }) => (
{formatPipelineName(p)} {selected && ( )}
)}
))}
); }; export default PipelineSelector;