import { useState } from 'react'; import { useMessages } from 'components/hooks'; import { Button, FormRow, TextField, Flexbox, Dropdown, Item } from 'react-basics'; import styles from './FunnelStepAddForm.module.css'; export interface FunnelStepAddFormProps { type?: string; value?: string; onChange?: (step: { type: string; value: string }) => void; } export function FunnelStepAddForm({ type: defaultType = 'url', value: defaultValue = '', onChange, }: FunnelStepAddFormProps) { const [type, setType] = useState(defaultType); const [value, setValue] = useState(defaultValue); const { formatMessage, labels } = useMessages(); const items = [ { label: formatMessage(labels.url), value: 'url' }, { label: formatMessage(labels.event), value: 'event' }, ]; const isDisabled = !type || !value; const handleSave = () => { onChange({ type, value }); setValue(''); }; const handleChange = e => { setValue(e.target.value); }; const handleKeyDown = e => { if (e.key === 'Enter') { e.stopPropagation(); handleSave(); } }; const renderTypeValue = (value: any) => { return items.find(item => item.value === value)?.label; }; return ( setType(value)} > {({ value, label }) => { return {label}; }} ); } export default FunnelStepAddForm;