import { filterNonNullableKeys, RenderType } from '@graphcommerce/next-ui' import { useMemo } from 'react' import type { AddToCartItemSelector } from '../AddProductsToCart' import type { ProductPagePriceFragment } from '../ProductPagePrice' import type { OptionTypeRenderer } from './CustomizableAreaOption' import { CustomizableAreaOption } from './CustomizableAreaOption' import { CustomizableCheckboxOption } from './CustomizableCheckboxOption' import { CustomizableDateOption } from './CustomizableDateOption' import { CustomizableDropDownOption } from './CustomizableDropDownOption' import { CustomizableFieldOption } from './CustomizableFieldOption' import { CustomizableMultipleOption } from './CustomizableMultipleOption' import { CustomizableRadioOption } from './CustomizableRadioOption' import type { ProductCustomizableFragment } from './ProductCustomizable.gql' const defaultRenderer = { CustomizableAreaOption, CustomizableCheckboxOption, CustomizableDateOption, CustomizableDropDownOption, CustomizableFieldOption, CustomizableFileOption: () =>