@alifd/next
Version:
A configurable component library for web built on React.
81 lines (80 loc) • 3.47 kB
TypeScript
import React, { Component, type KeyboardEvent, type MouseEvent } from 'react';
import PropTypes from 'prop-types';
import { type ClassPropsWithDefault } from '../util';
import type { RatingProps, RatingState } from './types';
declare class Rating extends Component<RatingProps, RatingState> {
static propTypes: {
prefix: PropTypes.Requireable<string>;
defaultValue: PropTypes.Requireable<number>;
value: PropTypes.Requireable<number>;
count: PropTypes.Requireable<number>;
showGrade: PropTypes.Requireable<boolean>;
size: PropTypes.Requireable<string>;
allowHalf: PropTypes.Requireable<boolean>;
allowClear: PropTypes.Requireable<boolean>;
onChange: PropTypes.Requireable<(...args: any[]) => any>;
onHoverChange: PropTypes.Requireable<(...args: any[]) => any>;
disabled: PropTypes.Requireable<boolean>;
readAs: PropTypes.Requireable<(...args: any[]) => any>;
iconType: PropTypes.Requireable<string>;
strokeMode: PropTypes.Requireable<boolean>;
className: PropTypes.Requireable<string>;
id: PropTypes.Requireable<string>;
rtl: PropTypes.Requireable<boolean>;
locale: PropTypes.Requireable<object>;
isPreview: PropTypes.Requireable<boolean>;
renderPreview: PropTypes.Requireable<(...args: any[]) => any>;
readOnly: PropTypes.Requireable<boolean>;
defaultPropsConfig: PropTypes.Requireable<object>;
errorBoundary: PropTypes.Requireable<NonNullable<boolean | object | null | undefined>>;
pure: PropTypes.Requireable<boolean>;
warning: PropTypes.Requireable<boolean>;
device: PropTypes.Requireable<string>;
children: PropTypes.Requireable<any>;
popupContainer: PropTypes.Requireable<any>;
};
static defaultProps: {
prefix: string;
size: string;
disabled: boolean;
readOnly: boolean;
isPreview: boolean;
count: number;
showGrade: boolean;
defaultValue: number;
readAs: (val: number) => number;
allowHalf: boolean;
allowClear: boolean;
onChange: () => void;
onHoverChange: () => void;
locale: Partial<{
description: string;
}> & {
momentLocale?: string | undefined;
};
};
static displayName: string;
static currentValue(min: number, max: number, hoverValue: number, stateValue: number): number;
static getDerivedStateFromProps(nextProps: RatingProps): Partial<RatingState>;
timer: ReturnType<typeof setTimeout> | null;
underlayNode: HTMLDivElement | null;
readonly props: ClassPropsWithDefault<RatingProps, typeof Rating.defaultProps>;
constructor(props: RatingProps);
componentDidMount(): void;
componentWillUnmount(): void;
[key: `refs-rating-icon-${number}`]: HTMLSpanElement | null;
clearTimer(): void;
getRenderResult(): void;
getValue(e: MouseEvent): number;
handleHover(e: MouseEvent<HTMLDivElement>): void;
handleLeave(): void;
onKeyDown(e: KeyboardEvent<HTMLDivElement>): true | void;
handleChecked(index: number): void;
handleClick(e: MouseEvent<HTMLDivElement>): void;
getOverlayWidth(): number | "auto";
getInfoLeft(): number;
saveRef: (ref: HTMLSpanElement | null, i: number) => void;
render(): React.JSX.Element;
}
declare const _default: typeof Rating;
export default _default;