react-star-rate
Version:
Lightweight, customizable star ratings component for React
58 lines (57 loc) • 1.61 kB
TypeScript
import * as React from 'react';
import { CSSAttribute } from 'goober';
export interface StarProps {
allowHalf?: boolean;
classNamePrefix?: string;
count?: number;
disabled?: boolean;
index?: number;
onClick?: (e: React.MouseEvent<HTMLLIElement>, index: number) => void;
onHover?: (e: React.MouseEvent<HTMLLIElement>, index: number) => void;
reverse?: boolean;
style?: {
full?: CSSAttribute;
half?: CSSAttribute;
zero?: CSSAttribute;
};
styleFull?: {
first?: CSSAttribute;
second?: CSSAttribute;
};
styleFullHover?: {
first?: CSSAttribute;
second?: CSSAttribute;
};
styleHalf?: {
first?: CSSAttribute;
second?: CSSAttribute;
};
styleHalfHover?: {
first?: CSSAttribute;
second?: CSSAttribute;
};
styleHover?: {
full?: CSSAttribute;
half?: CSSAttribute;
zero?: CSSAttribute;
};
styleZero?: {
first?: CSSAttribute;
second?: CSSAttribute;
};
styleZeroHover?: {
first?: CSSAttribute;
second?: CSSAttribute;
};
symbol?: React.ReactNode;
value?: number;
}
export declare class Star extends React.Component<StarProps> {
starRef?: HTMLLIElement | null;
onClick: React.MouseEventHandler<HTMLLIElement>;
onHover: React.MouseEventHandler<HTMLLIElement>;
getStarType: () => "half" | "full" | "zero";
getValue: (x: number, reverse: boolean) => number;
render(): JSX.Element;
}
export default Star;