Browse Source
fix(types): external module type error (CompoundedComponent) (#38666)
* fix(types): external module type error (CompoundedComponent)
* refactor(types): rename and replace internal CompoundedComponent type
pull/38733/head
Dave
2 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with
62 additions and
54 deletions
-
components/alert/index.tsx
-
components/anchor/index.tsx
-
components/badge/index.tsx
-
components/breadcrumb/Breadcrumb.tsx
-
components/button/button.tsx
-
components/checkbox/index.tsx
-
components/input/index.tsx
-
components/layout/index.tsx
-
components/mentions/index.tsx
-
components/menu/index.tsx
-
components/radio/index.tsx
-
components/skeleton/Skeleton.tsx
-
components/space/index.tsx
-
components/steps/index.tsx
-
components/switch/index.tsx
-
components/table/Table.tsx
-
components/timeline/Timeline.tsx
-
components/tree-select/index.tsx
-
components/upload/index.tsx
|
|
@ -91,11 +91,11 @@ const CloseIcon: React.FC<CloseIconProps> = (props) => { |
|
|
|
) : null; |
|
|
|
}; |
|
|
|
|
|
|
|
interface AlertInterface extends React.FC<AlertProps> { |
|
|
|
type CompoundedComponent = React.FC<AlertProps> & { |
|
|
|
ErrorBoundary: typeof ErrorBoundary; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
const Alert: AlertInterface = ({ |
|
|
|
const Alert: CompoundedComponent = ({ |
|
|
|
description, |
|
|
|
prefixCls: customizePrefixCls, |
|
|
|
message, |
|
|
|
|
|
@ -6,11 +6,11 @@ export type { AnchorLinkProps } from './AnchorLink'; |
|
|
|
|
|
|
|
type InternalAnchorType = typeof InternalAnchor; |
|
|
|
|
|
|
|
interface AnchorInterface extends InternalAnchorType { |
|
|
|
type CompoundedComponent = InternalAnchorType & { |
|
|
|
Link: typeof AnchorLink; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
const Anchor = InternalAnchor as AnchorInterface; |
|
|
|
const Anchor = InternalAnchor as CompoundedComponent; |
|
|
|
|
|
|
|
Anchor.Link = AnchorLink; |
|
|
|
export default Anchor; |
|
|
|
|
|
@ -13,9 +13,9 @@ import { isPresetColor } from './utils'; |
|
|
|
|
|
|
|
export type { ScrollNumberProps } from './ScrollNumber'; |
|
|
|
|
|
|
|
interface CompoundedComponent extends React.FC<BadgeProps> { |
|
|
|
type CompoundedComponent = React.FC<BadgeProps> & { |
|
|
|
Ribbon: typeof Ribbon; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
export interface BadgeProps { |
|
|
|
/** Number to show in badge */ |
|
|
|
|
|
@ -69,12 +69,12 @@ const addChildPath = (paths: string[], childPath: string, params: any) => { |
|
|
|
return originalPaths; |
|
|
|
}; |
|
|
|
|
|
|
|
interface BreadcrumbInterface extends React.FC<BreadcrumbProps> { |
|
|
|
type CompoundedComponent = React.FC<BreadcrumbProps> & { |
|
|
|
Item: typeof BreadcrumbItem; |
|
|
|
Separator: typeof BreadcrumbSeparator; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
const Breadcrumb: BreadcrumbInterface = ({ |
|
|
|
const Breadcrumb: CompoundedComponent = ({ |
|
|
|
prefixCls: customizePrefixCls, |
|
|
|
separator = '/', |
|
|
|
style, |
|
|
|
|
|
@ -131,12 +131,13 @@ export type NativeButtonProps = { |
|
|
|
|
|
|
|
export type ButtonProps = Partial<AnchorButtonProps & NativeButtonProps>; |
|
|
|
|
|
|
|
interface CompoundedComponent |
|
|
|
extends React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLElement>> { |
|
|
|
type CompoundedComponent = React.ForwardRefExoticComponent< |
|
|
|
ButtonProps & React.RefAttributes<HTMLElement> |
|
|
|
> & { |
|
|
|
Group: typeof Group; |
|
|
|
/** @internal */ |
|
|
|
__ANT_BUTTON: boolean; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
type Loading = number | boolean; |
|
|
|
|
|
|
|
|
|
@ -6,12 +6,13 @@ import Group from './Group'; |
|
|
|
export type { CheckboxChangeEvent, CheckboxProps } from './Checkbox'; |
|
|
|
export type { CheckboxGroupProps, CheckboxOptionType } from './Group'; |
|
|
|
|
|
|
|
interface CompoundedComponent |
|
|
|
extends React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLInputElement>> { |
|
|
|
type CompoundedComponent = React.ForwardRefExoticComponent< |
|
|
|
CheckboxProps & React.RefAttributes<HTMLInputElement> |
|
|
|
> & { |
|
|
|
Group: typeof Group; |
|
|
|
/** @internal */ |
|
|
|
__ANT_CHECKBOX: boolean; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
const Checkbox = InternalCheckbox as CompoundedComponent; |
|
|
|
|
|
|
|
|
|
@ -12,13 +12,14 @@ export type { PasswordProps } from './Password'; |
|
|
|
export type { SearchProps } from './Search'; |
|
|
|
export type { TextAreaProps } from './TextArea'; |
|
|
|
|
|
|
|
interface CompoundedComponent |
|
|
|
extends React.ForwardRefExoticComponent<InputProps & React.RefAttributes<InputRef>> { |
|
|
|
type CompoundedComponent = React.ForwardRefExoticComponent< |
|
|
|
InputProps & React.RefAttributes<InputRef> |
|
|
|
> & { |
|
|
|
Group: typeof Group; |
|
|
|
Search: typeof Search; |
|
|
|
TextArea: typeof TextArea; |
|
|
|
Password: typeof Password; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
const Input = InternalInput as CompoundedComponent; |
|
|
|
|
|
|
|
|
|
@ -6,14 +6,14 @@ export type { SiderProps } from './Sider'; |
|
|
|
|
|
|
|
type InternalLayoutType = typeof InternalLayout; |
|
|
|
|
|
|
|
interface LayoutType extends InternalLayoutType { |
|
|
|
type CompoundedComponent = InternalLayoutType & { |
|
|
|
Header: typeof Header; |
|
|
|
Footer: typeof Footer; |
|
|
|
Content: typeof Content; |
|
|
|
Sider: typeof Sider; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
const Layout = InternalLayout as LayoutType; |
|
|
|
const Layout = InternalLayout as CompoundedComponent; |
|
|
|
|
|
|
|
Layout.Header = Header; |
|
|
|
Layout.Footer = Footer; |
|
|
|
|
|
@ -53,12 +53,13 @@ interface MentionsEntity { |
|
|
|
value: string; |
|
|
|
} |
|
|
|
|
|
|
|
interface CompoundedComponent |
|
|
|
extends React.ForwardRefExoticComponent<MentionProps & React.RefAttributes<MentionsRef>> { |
|
|
|
type CompoundedComponent = React.ForwardRefExoticComponent< |
|
|
|
MentionProps & React.RefAttributes<MentionsRef> |
|
|
|
> & { |
|
|
|
Option: typeof Option; |
|
|
|
_InternalPanelDoNotUseOrYouWillBeFired: typeof PurePanel; |
|
|
|
getMentions: (value: string, config?: MentionsConfig) => MentionsEntity[]; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
const InternalMentions: React.ForwardRefRenderFunction<MentionsRef, MentionProps> = ( |
|
|
|
{ |
|
|
|
|
|
@ -19,13 +19,14 @@ export type MenuRef = { |
|
|
|
focus: (options?: FocusOptions) => void; |
|
|
|
}; |
|
|
|
|
|
|
|
interface CompoundedComponent |
|
|
|
extends React.ForwardRefExoticComponent<MenuProps & React.RefAttributes<MenuRef>> { |
|
|
|
type CompoundedComponent = React.ForwardRefExoticComponent< |
|
|
|
MenuProps & React.RefAttributes<MenuRef> |
|
|
|
> & { |
|
|
|
Divider: typeof MenuDivider; |
|
|
|
Item: typeof Item; |
|
|
|
SubMenu: typeof SubMenu; |
|
|
|
ItemGroup: typeof ItemGroup; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
const Menu = forwardRef<MenuRef, MenuProps>((props, ref) => { |
|
|
|
const menuRef = useRef<RcMenuRef>(null); |
|
|
|
|
|
@ -14,13 +14,15 @@ export { |
|
|
|
RadioProps, |
|
|
|
} from './interface'; |
|
|
|
export { Button, Group }; |
|
|
|
interface CompoundedComponent |
|
|
|
extends React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLElement>> { |
|
|
|
|
|
|
|
type CompoundedComponent = React.ForwardRefExoticComponent< |
|
|
|
RadioProps & React.RefAttributes<HTMLElement> |
|
|
|
> & { |
|
|
|
Group: typeof Group; |
|
|
|
Button: typeof Button; |
|
|
|
/** @internal */ |
|
|
|
__ANT_RADIO: boolean; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
const Radio = InternalRadio as CompoundedComponent; |
|
|
|
Radio.Button = Button; |
|
|
|
|
|
@ -77,13 +77,13 @@ function getParagraphBasicProps(hasAvatar: boolean, hasTitle: boolean): Skeleton |
|
|
|
return basicProps; |
|
|
|
} |
|
|
|
|
|
|
|
interface CompoundedComponent { |
|
|
|
type CompoundedComponent = { |
|
|
|
Button: typeof SkeletonButton; |
|
|
|
Avatar: typeof SkeletonAvatar; |
|
|
|
Input: typeof SkeletonInput; |
|
|
|
Image: typeof SkeletonImage; |
|
|
|
Node: typeof SkeletonNode; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
const Skeleton: React.FC<SkeletonProps> & CompoundedComponent = (props) => { |
|
|
|
const { |
|
|
|
|
|
@ -151,9 +151,9 @@ const Space: React.FC<SpaceProps> = (props) => { |
|
|
|
); |
|
|
|
}; |
|
|
|
|
|
|
|
interface CompoundedComponent extends React.FC<SpaceProps> { |
|
|
|
type CompoundedComponent = React.FC<SpaceProps> & { |
|
|
|
Compact: typeof Compact; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
const CompoundedSpace = Space as CompoundedComponent; |
|
|
|
CompoundedSpace.Compact = Compact; |
|
|
|
|
|
@ -47,11 +47,11 @@ export interface StepsProps { |
|
|
|
items?: StepProps[]; |
|
|
|
} |
|
|
|
|
|
|
|
interface StepsType extends React.FC<StepsProps> { |
|
|
|
type CompoundedComponent = React.FC<StepsProps> & { |
|
|
|
Step: typeof RcSteps.Step; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
const Steps: StepsType = (props) => { |
|
|
|
const Steps: CompoundedComponent = (props) => { |
|
|
|
const { |
|
|
|
percent, |
|
|
|
size, |
|
|
|
|
|
@ -37,11 +37,12 @@ export interface SwitchProps { |
|
|
|
id?: string; |
|
|
|
} |
|
|
|
|
|
|
|
interface CompoundedComponent |
|
|
|
extends React.ForwardRefExoticComponent<SwitchProps & React.RefAttributes<HTMLElement>> { |
|
|
|
type CompoundedComponent = React.ForwardRefExoticComponent< |
|
|
|
SwitchProps & React.RefAttributes<HTMLElement> |
|
|
|
> & { |
|
|
|
/** @internal */ |
|
|
|
__ANT_SWITCH: boolean; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
const Switch = React.forwardRef<HTMLButtonElement, SwitchProps>( |
|
|
|
( |
|
|
|
|
|
@ -554,7 +554,7 @@ const ForwardTable = React.forwardRef(InternalTable) as <RecordType extends obje |
|
|
|
|
|
|
|
type InternalTableType = typeof ForwardTable; |
|
|
|
|
|
|
|
interface TableInterface extends InternalTableType { |
|
|
|
type CompoundedComponent = InternalTableType & { |
|
|
|
SELECTION_COLUMN: typeof SELECTION_COLUMN; |
|
|
|
EXPAND_COLUMN: typeof RcTable.EXPAND_COLUMN; |
|
|
|
SELECTION_ALL: 'SELECT_ALL'; |
|
|
@ -563,9 +563,9 @@ interface TableInterface extends InternalTableType { |
|
|
|
Column: typeof Column; |
|
|
|
ColumnGroup: typeof ColumnGroup; |
|
|
|
Summary: typeof Summary; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
const Table = ForwardTable as TableInterface; |
|
|
|
const Table = ForwardTable as CompoundedComponent; |
|
|
|
|
|
|
|
Table.SELECTION_COLUMN = SELECTION_COLUMN; |
|
|
|
Table.EXPAND_COLUMN = RcTable.EXPAND_COLUMN; |
|
|
|
|
|
@ -22,11 +22,11 @@ export interface TimelineProps { |
|
|
|
children?: React.ReactNode; |
|
|
|
} |
|
|
|
|
|
|
|
interface TimelineType extends React.FC<TimelineProps> { |
|
|
|
type CompoundedComponent = React.FC<TimelineProps> & { |
|
|
|
Item: React.FC<TimelineItemProps>; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
const Timeline: TimelineType = (props) => { |
|
|
|
const Timeline: CompoundedComponent = (props) => { |
|
|
|
const { getPrefixCls, direction } = React.useContext(ConfigContext); |
|
|
|
const { |
|
|
|
prefixCls: customizePrefixCls, |
|
|
|
|
|
@ -256,15 +256,15 @@ const TreeSelectRef = React.forwardRef(InternalTreeSelect) as < |
|
|
|
|
|
|
|
type InternalTreeSelectType = typeof TreeSelectRef; |
|
|
|
|
|
|
|
interface TreeSelectInterface extends InternalTreeSelectType { |
|
|
|
type CompoundedComponent = InternalTreeSelectType & { |
|
|
|
TreeNode: typeof TreeNode; |
|
|
|
SHOW_ALL: typeof SHOW_ALL; |
|
|
|
SHOW_PARENT: typeof SHOW_PARENT; |
|
|
|
SHOW_CHILD: typeof SHOW_CHILD; |
|
|
|
_InternalPanelDoNotUseOrYouWillBeFired: typeof PurePanel; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
const TreeSelect = TreeSelectRef as TreeSelectInterface; |
|
|
|
const TreeSelect = TreeSelectRef as CompoundedComponent; |
|
|
|
|
|
|
|
// We don't care debug panel
|
|
|
|
/* istanbul ignore next */ |
|
|
|
|
|
@ -12,15 +12,15 @@ export type { |
|
|
|
} from './interface'; |
|
|
|
|
|
|
|
type InternalUploadType = typeof InternalUpload; |
|
|
|
interface UploadInterface<T = any> extends InternalUploadType { |
|
|
|
type CompoundedComponent<T = any> = InternalUploadType & { |
|
|
|
<U extends T>( |
|
|
|
props: React.PropsWithChildren<UploadProps<U>> & React.RefAttributes<any>, |
|
|
|
): React.ReactElement; |
|
|
|
Dragger: typeof Dragger; |
|
|
|
LIST_IGNORE: string; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
const Upload = InternalUpload as UploadInterface; |
|
|
|
const Upload = InternalUpload as CompoundedComponent; |
|
|
|
Upload.Dragger = Dragger; |
|
|
|
Upload.LIST_IGNORE = LIST_IGNORE; |
|
|
|
|
|
|
|