import { useRef, useState, useEffect } from "react" import { IconButton } from "@medusajs/ui" import { Plus, XMark } from "@medusajs/icons" import { useCombinedRefs } from "../../../hooks/use-combined-refs" import { Form } from "../../../components/common/form" import { TieredPriceInputProps } from "./types" export const TieredPriceInput = ({ field, label, toggleValues, renderInput, }: TieredPriceInputProps) => { const innerRef = useRef(null) const [isActive, setIsActive] = useState(false) const { value, onChange, ref } = field const refs = useCombinedRefs(innerRef, ref) useEffect(() => { setIsActive(value !== toggleValues.inactive) }, [value, toggleValues.inactive]) const action = () => { if (!isActive) { onChange(toggleValues.active) setIsActive(true) requestAnimationFrame(() => { innerRef.current?.focus() }) } else { onChange(toggleValues.inactive) setIsActive(false) } } return (
{!isActive ? : } {label}
{isActive && (
{renderInput({ field: { ...field, ref: refs }, value })}
)}
) }