/** * ZeroShot Component Factory * * Standardizes component creation across the entire library. * Every ZeroShot component uses this factory to ensure: * - Consistent displayName assignment * - Automatic React.memo wrapping for performance * - Type-safe forwardRef handling * - Uniform className merging via cn() */ import * as React from "react"; /** * Creates a named, memoized, forward-ref component. * * @param displayName - The component's display name (shown in React DevTools and error messages) * @param render - The render function receiving (props, ref) * @returns A memoized forwardRef component with displayName set * * @example * ```tsx * const MyButton = createComponent( * "MyButton", * ({ variant, className, ...props }, ref) => ( *