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
parent
commit
d32a1fe274
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      components/alert/index.tsx
  2. 6
      components/anchor/index.tsx
  3. 4
      components/badge/index.tsx
  4. 6
      components/breadcrumb/Breadcrumb.tsx
  5. 7
      components/button/button.tsx
  6. 7
      components/checkbox/index.tsx
  7. 7
      components/input/index.tsx
  8. 6
      components/layout/index.tsx
  9. 7
      components/mentions/index.tsx
  10. 7
      components/menu/index.tsx
  11. 8
      components/radio/index.tsx
  12. 4
      components/skeleton/Skeleton.tsx
  13. 4
      components/space/index.tsx
  14. 6
      components/steps/index.tsx
  15. 7
      components/switch/index.tsx
  16. 6
      components/table/Table.tsx
  17. 6
      components/timeline/Timeline.tsx
  18. 6
      components/tree-select/index.tsx
  19. 6
      components/upload/index.tsx

6
components/alert/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
components/anchor/index.tsx

@ -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
components/badge/index.tsx

@ -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 */

6
components/breadcrumb/Breadcrumb.tsx

@ -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,

7
components/button/button.tsx

@ -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;

7
components/checkbox/index.tsx

@ -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;

7
components/input/index.tsx

@ -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
components/layout/index.tsx

@ -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;

7
components/mentions/index.tsx

@ -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> = (
{

7
components/menu/index.tsx

@ -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);

8
components/radio/index.tsx

@ -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;

4
components/skeleton/Skeleton.tsx

@ -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 {

4
components/space/index.tsx

@ -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;

6
components/steps/index.tsx

@ -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,

7
components/switch/index.tsx

@ -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>(
(

6
components/table/Table.tsx

@ -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;

6
components/timeline/Timeline.tsx

@ -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,

6
components/tree-select/index.tsx

@ -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 */

6
components/upload/index.tsx

@ -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…
Cancel
Save