Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(types): external module type error (CompoundedComponent) #38666

Merged
merged 2 commits into from Nov 19, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 3 additions & 3 deletions components/alert/index.tsx
Expand Up @@ -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,
Expand Down
6 changes: 3 additions & 3 deletions components/anchor/index.tsx
Expand Up @@ -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;
4 changes: 2 additions & 2 deletions components/badge/index.tsx
Expand Up @@ -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 */
Expand Down
6 changes: 3 additions & 3 deletions components/breadcrumb/Breadcrumb.tsx
Expand Up @@ -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,
Expand Down
7 changes: 4 additions & 3 deletions components/button/button.tsx
Expand Up @@ -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;

Expand Down
7 changes: 4 additions & 3 deletions components/checkbox/index.tsx
Expand Up @@ -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;

Expand Down
7 changes: 4 additions & 3 deletions components/input/index.tsx
Expand Up @@ -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;

Expand Down
6 changes: 3 additions & 3 deletions components/layout/index.tsx
Expand Up @@ -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;
Expand Down
7 changes: 4 additions & 3 deletions components/mentions/index.tsx
Expand Up @@ -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> = (
{
Expand Down
7 changes: 4 additions & 3 deletions components/menu/index.tsx
Expand Up @@ -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);
Expand Down
8 changes: 5 additions & 3 deletions components/radio/index.tsx
Expand Up @@ -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;
Expand Down
4 changes: 2 additions & 2 deletions components/skeleton/Skeleton.tsx
Expand Up @@ -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 {
Expand Down
4 changes: 2 additions & 2 deletions components/space/index.tsx
Expand Up @@ -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;
Expand Down
6 changes: 3 additions & 3 deletions components/steps/index.tsx
Expand Up @@ -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,
Expand Down
7 changes: 4 additions & 3 deletions components/switch/index.tsx
Expand Up @@ -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>(
(
Expand Down
6 changes: 3 additions & 3 deletions components/table/Table.tsx
Expand Up @@ -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';
Expand 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;
Expand Down
6 changes: 3 additions & 3 deletions components/timeline/Timeline.tsx
Expand Up @@ -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,
Expand Down
6 changes: 3 additions & 3 deletions components/tree-select/index.tsx
Expand Up @@ -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 */
Expand Down
6 changes: 3 additions & 3 deletions components/upload/index.tsx
Expand Up @@ -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;

Expand Down