import React, {
InputHTMLAttributes,
useImperativeHandle,
useRef,
useState,
} from "react"
import { generatePromotionCode } from "../../../utils/generate-promotion-code"
import RefreshIcon from "../../fundamentals/icons/refresh-icon"
import InputContainer from "../../fundamentals/input-container"
import InputHeader from "../../fundamentals/input-header"
import { InputProps } from "../input"
const GeneratingInput = React.forwardRef(
(
{
placeholder,
label,
name,
required,
deletable,
onDelete,
onChange,
onFocus,
tooltipContent,
tooltip,
props,
className,
value: valueProp,
...fieldProps
}: Omit,
ref
) => {
const [value, setValue] = useState<
InputHTMLAttributes["value"]
>(valueProp || "")
const inputRef = useRef(null)
useImperativeHandle(ref, () => inputRef.current)
const generateCode = () => {
setValue(generatePromotionCode())
}
const handleChange = (e: React.ChangeEvent) => {
setValue(e.target.value)
if (onChange) {
onChange(e)
}
}
return (
!fieldProps.disabled && inputRef?.current?.focus()}
{...props}
>
{!value && (
)}
{value && (
)}
)
}
)
export default GeneratingInput