/* This file is automatically generated for @graphcommerce/magento-cart-items/components/CartItemActionCard/CartItemActionCard */

export * from './CartItemActionCard'
import { Plugin as BundleCartItemActionCard } from '@graphcommerce/magento-product-bundle/plugins/BundleCartItemActionCard'
import { Plugin as ConfigurableCartItemActionCard } from '@graphcommerce/magento-product-configurable/plugins/ConfigurableCartItemActionCard'
import { Plugin as SimpleCartItemActionCard } from '@graphcommerce/magento-product-simple/plugins/SimpleCartItemActionCard'
import { Plugin as VirtualCartItemActionCard } from '@graphcommerce/magento-product-virtual/plugins/VirtualCartItemActionCard'
import { ComponentProps } from 'react'
import { CartItemActionCard as CartItemActionCardBase } from './CartItemActionCard'

/**
 * Interceptor for `<CartItemActionCard/>` with these plugins:
 * 
 * - `@graphcommerce/magento-product-virtual/plugins/VirtualCartItemActionCard`
 * - `@graphcommerce/magento-product-simple/plugins/SimpleCartItemActionCard`
 * - `@graphcommerce/magento-product-configurable/plugins/ConfigurableCartItemActionCard`
 * - `@graphcommerce/magento-product-bundle/plugins/BundleCartItemActionCard`
 */
type CartItemActionCardProps = ComponentProps<typeof CartItemActionCardBase>

function VirtualCartItemActionCardInterceptor(props: CartItemActionCardProps) {
  return <VirtualCartItemActionCard {...props} Prev={CartItemActionCardBase} />
}
function SimpleCartItemActionCardInterceptor(props: CartItemActionCardProps) {
  return <SimpleCartItemActionCard {...props} Prev={VirtualCartItemActionCardInterceptor} />
}
function ConfigurableCartItemActionCardInterceptor(props: CartItemActionCardProps) {
  return <ConfigurableCartItemActionCard {...props} Prev={SimpleCartItemActionCardInterceptor} />
}
function BundleCartItemActionCardInterceptor(props: CartItemActionCardProps) {
  return <BundleCartItemActionCard {...props} Prev={ConfigurableCartItemActionCardInterceptor} />
}
export const CartItemActionCard = BundleCartItemActionCardInterceptor
