import React from 'react'; import TextareaAutosize from 'react-textarea-autosize'; import { Button } from '~/components/ui/Button.tsx'; import { Label } from '~/components/ui/Label.tsx'; import { Plus, Minus } from 'lucide-react'; import { cn } from '~/utils/'; import { useRecoilValue } from 'recoil'; import store from '~/store'; import { localize } from '~/localization/Translation'; const defaultTextProps = 'rounded-md border border-gray-200 focus:border-slate-400 focus:bg-gray-50 bg-transparent text-sm shadow-[0_0_10px_rgba(0,0,0,0.05)] outline-none placeholder:text-gray-400 focus:outline-none focus:ring-gray-400 focus:ring-opacity-20 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:border-gray-500 dark:bg-gray-700 focus:dark:bg-gray-600 dark:text-gray-50 dark:shadow-[0_0_15px_rgba(0,0,0,0.10)] dark:focus:border-gray-400 dark:focus:outline-none dark:focus:ring-0 dark:focus:ring-gray-400 dark:focus:ring-offset-0'; function Examples({ readonly, examples, setExample, addExample, removeExample, edit = false }) { const maxHeight = edit ? 'max-h-[233px]' : 'max-h-[350px]'; const lang = useRecoilValue(store.lang); return ( <>
{examples.map((example, idx) => ( {/* Input */}
setExample(idx, 'input', e.target.value || null)} placeholder="Set example input. Example is ignored if empty." className={cn( defaultTextProps, 'flex max-h-[300px] min-h-[75px] w-full resize-none px-3 py-2 ', )} />
{/* Output */}
setExample(idx, 'output', e.target.value || null)} placeholder={'Set example output. Example is ignored if empty.'} className={cn( defaultTextProps, 'flex max-h-[300px] min-h-[75px] w-full resize-none px-3 py-2 ', )} />
))}
); } export default Examples;