import { memo } from 'react'; import { Swatch } from '@components/product'; import type { ProductOption } from '@commerce/types/product'; import { SelectedOptions } from '../helpers'; interface ProductOptionsProps { options: ProductOption[]; selectedOptions: SelectedOptions; setSelectedOptions: React.Dispatch>; } const ProductOptions: React.FC = ({ options, selectedOptions, setSelectedOptions, }) => { return (
{options.map((opt) => (

{opt.displayName}

{opt.values.map((v, i: number) => { const active = selectedOptions[opt.displayName.toLowerCase()]; return ( { setSelectedOptions((selectedOptions) => { return { ...selectedOptions, [opt.displayName.toLowerCase()]: v.label.toLowerCase(), }; }); }} /> ); })}
))}
); }; export default memo(ProductOptions);