import { InputIcon } from './InputIcon'; import { InputGroup } from './InputGroup'; import { InputSlot } from './InputSlot'; import { Input as InputMain } from './Input'; import type { IInputComponentType } from './types'; export const createInput = ({ Root, Icon, Slot, Input, }: { Root: React.ComponentType; Icon: React.ComponentType; Slot: React.ComponentType; Input: React.ComponentType; }) => { const InputField = InputGroup(Root) as any; InputField.Icon = InputIcon(Icon); InputField.Slot = InputSlot(Slot); InputField.Input = InputMain(Input); InputField.displayName = 'InputField'; InputField.Icon.displayName = 'InputField.Icon'; InputField.Input.displayName = 'InputField.Input'; InputField.Slot.displayName = 'InputField.Slot'; return InputField as IInputComponentType; };