1
This commit is contained in:
+99
@@ -0,0 +1,99 @@
|
||||
import * as React from 'react';
|
||||
import type { StepsProps as RcStepsProps } from '@rc-component/steps/lib/Steps';
|
||||
import type { SemanticClassNamesType, SemanticStylesType } from '../_util/hooks';
|
||||
import type { GetProp } from '../_util/type';
|
||||
import type { SizeType } from '../config-provider/SizeContext';
|
||||
type RcIconRenderTypeInfo = Parameters<NonNullable<RcStepsProps['iconRender']>>[1];
|
||||
export type IconRenderType = (oriNode: React.ReactNode, info: Pick<RcIconRenderTypeInfo, 'index' | 'active' | 'item' | 'components'>) => React.ReactNode;
|
||||
export type StepsSemanticName = keyof StepsSemanticClassNames & keyof StepsSemanticStyles;
|
||||
export type StepsSemanticClassNames = {
|
||||
root?: string;
|
||||
item?: string;
|
||||
itemWrapper?: string;
|
||||
itemIcon?: string;
|
||||
itemSection?: string;
|
||||
itemHeader?: string;
|
||||
itemTitle?: string;
|
||||
itemSubtitle?: string;
|
||||
itemContent?: string;
|
||||
itemRail?: string;
|
||||
};
|
||||
export type StepsSemanticStyles = {
|
||||
root?: React.CSSProperties;
|
||||
item?: React.CSSProperties;
|
||||
itemWrapper?: React.CSSProperties;
|
||||
itemIcon?: React.CSSProperties;
|
||||
itemSection?: React.CSSProperties;
|
||||
itemHeader?: React.CSSProperties;
|
||||
itemTitle?: React.CSSProperties;
|
||||
itemSubtitle?: React.CSSProperties;
|
||||
itemContent?: React.CSSProperties;
|
||||
itemRail?: React.CSSProperties;
|
||||
};
|
||||
export type StepsClassNamesType = SemanticClassNamesType<StepsProps, StepsSemanticClassNames>;
|
||||
export type StepsStylesType = SemanticStylesType<StepsProps, StepsSemanticStyles>;
|
||||
interface StepItem {
|
||||
className?: string;
|
||||
style?: React.CSSProperties;
|
||||
classNames?: GetProp<RcStepsProps, 'items'>[number]['classNames'];
|
||||
styles?: GetProp<RcStepsProps, 'items'>[number]['styles'];
|
||||
/** @deprecated Please use `content` instead */
|
||||
description?: React.ReactNode;
|
||||
content?: React.ReactNode;
|
||||
icon?: React.ReactNode;
|
||||
onClick?: React.MouseEventHandler<HTMLElement>;
|
||||
status?: 'wait' | 'process' | 'finish' | 'error';
|
||||
disabled?: boolean;
|
||||
title?: React.ReactNode;
|
||||
subTitle?: React.ReactNode;
|
||||
}
|
||||
export type ProgressDotRender = (iconDot: React.ReactNode, info: {
|
||||
index: number;
|
||||
status: NonNullable<RcStepsProps['status']>;
|
||||
title: React.ReactNode;
|
||||
/** @deprecated Please use `content` instead. */
|
||||
description: React.ReactNode;
|
||||
content: React.ReactNode;
|
||||
}) => React.ReactNode;
|
||||
export interface BaseStepsProps {
|
||||
className?: string;
|
||||
rootClassName?: string;
|
||||
classNames?: StepsClassNamesType;
|
||||
styles?: StepsStylesType;
|
||||
variant?: 'filled' | 'outlined';
|
||||
/**
|
||||
* Note: `default` is deprecated and will be removed in v7, please use `medium` instead.
|
||||
*/
|
||||
size?: Exclude<SizeType, 'large'> | 'default';
|
||||
type?: 'default' | 'navigation' | 'inline' | 'panel' | 'dot';
|
||||
/** @deprecated Please use `orientation` instead. */
|
||||
direction?: 'horizontal' | 'vertical';
|
||||
orientation?: 'horizontal' | 'vertical';
|
||||
/** @deprecated Please use `titlePlacement` instead. */
|
||||
labelPlacement?: 'horizontal' | 'vertical';
|
||||
titlePlacement?: 'horizontal' | 'vertical';
|
||||
/** @deprecated Please use `type` and `iconRender` instead. */
|
||||
progressDot?: boolean | ProgressDotRender;
|
||||
responsive?: boolean;
|
||||
ellipsis?: boolean;
|
||||
/**
|
||||
* Set offset cell, only work when `type` is `inline`.
|
||||
*/
|
||||
offset?: number;
|
||||
current?: number;
|
||||
initial?: number;
|
||||
items?: StepItem[];
|
||||
percent?: number;
|
||||
status?: 'wait' | 'process' | 'finish' | 'error';
|
||||
iconRender?: IconRenderType;
|
||||
onChange?: (current: number) => void;
|
||||
}
|
||||
export interface StepsProps extends BaseStepsProps {
|
||||
prefixCls?: string;
|
||||
style?: React.CSSProperties;
|
||||
}
|
||||
declare const Steps: {
|
||||
(props: StepsProps): React.JSX.Element;
|
||||
displayName: string;
|
||||
};
|
||||
export default Steps;
|
||||
Reference in New Issue
Block a user