diff --git a/packages/react/src/index.tsx b/packages/react/src/index.tsx index 5ffe8cf..d0060a4 100644 --- a/packages/react/src/index.tsx +++ b/packages/react/src/index.tsx @@ -8,17 +8,17 @@ type TagParams = Array<[TemplateStringsArray, any[]]>; type ObjectType = Record; type IntrinsicElementsKeys = keyof JSX.IntrinsicElements; -type MasterComponentProps, E extends ObjectType = ObjectType> = Omit, E extends object = object> = Omit - ? Attributes & Partial - : never + ? Attributes & Partial + : never : K extends React.ComponentType - ? U & Partial - : never, 'className' | 'ref'> & extraType; -type MasterExoticComponent, E extends ObjectType = ObjectType> = React.ForwardRefExoticComponent & React.RefAttributes> & { tag: K, params: TagParams }; + ? U & Partial + : never, 'className' | 'ref'> & extraType; +type MasterExoticComponent, E extends object = object> = React.ForwardRefExoticComponent & React.RefAttributes> & { tag: K, params: TagParams }; -type ParamsType, E extends ObjectType = ObjectType> = Array<((props: MasterComponentProps) => baseLoopType | undefined) | baseLoopType>; -type ReturnType, E extends ObjectType = ObjectType> = | baseType>( +type ParamsType, E extends object = object> = Array<((props: MasterComponentProps) => baseLoopType | undefined) | baseLoopType>; +type ReturnType, E extends object = object> = | baseType>( firstParam: F, ...params: F extends MasterExoticComponent ? never @@ -28,7 +28,7 @@ type ReturnType, E ex : MasterExoticComponent) const style: { - [key in IntrinsicElementsKeys]: | baseType, E extends ObjectType = ObjectType>( + [key in IntrinsicElementsKeys]: | baseType, E extends object = object>( firstParam: F, ...params: F extends MasterExoticComponent ? never @@ -37,7 +37,7 @@ const style: { ? ReturnType : MasterExoticComponent) } & { - | React.ComponentType | baseType, E extends ObjectType = ObjectType>( + | React.ComponentType | baseType, E extends object = object>( firstParam: F, ...params: F extends MasterExoticComponent ? never @@ -63,7 +63,7 @@ const style: { } ) -function handle, E extends ObjectType = ObjectType>(Tag: K, tagParams: TagParams, displayName: string) { +function handle, E extends object = object>(Tag: K, tagParams: TagParams, displayName: string) { const generateFunctionComponent = (defaultClassNames: TemplateStringsArray, ...params: any[]) => { const newTagParams: TagParams = [...(tagParams || []), [defaultClassNames, params]] const component = forwardRef>((props, ref) => {