mirror of
https://github.com/ant-design/ant-design.git
synced 2025-06-07 09:26:06 +08:00
fix(types): external module type error (CompoundedComponent) (#38666)
* fix(types): external module type error (CompoundedComponent) * refactor(types): rename and replace internal CompoundedComponent type
This commit is contained in:
parent
017f3ac248
commit
d32a1fe274
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user