UNPKG

1.48 kBTypeScriptView Raw
1import * as React from 'react';
2import {StyletronComponent} from 'styletron-react';
3import {Override} from '../overrides';
4import {Theme} from '../theme';
5
6export interface RatingState {
7 previewIndex?: number;
8}
9export interface RatingOverrides {
10 Root?: Override<any>;
11 Item?: Override<any>;
12}
13
14export interface StarRatingProps {
15 overrides?: RatingOverrides;
16 value?: number;
17 numItems?: number;
18 readOnly?: boolean;
19 onChange?: (args: {value: number}) => any;
20 size?: number;
21}
22
23export interface EmoticonRatingProps {
24 overrides?: RatingOverrides;
25 value?: number;
26 readOnly?: boolean;
27 onChange?: (args: {value: number}) => any;
28 size?: number;
29}
30export class StarRating extends React.Component<StarRatingProps, RatingState> {
31 selectItem(value: number): void;
32 updatePreview(previewIndex?: number): void;
33 renderRatingContents(): React.ReactNode[];
34}
35
36export class EmoticonRating extends React.Component<
37 EmoticonRatingProps,
38 RatingState
39> {
40 selectItem(value: number): void;
41 updatePreview(previewIndex?: number): void;
42 renderRatingContents(): React.ReactNode[];
43}
44
45export interface StyledRootProps {
46 $theme: Theme;
47}
48export interface StyledRatingItemProps {
49 $theme: Theme;
50 $isActive: boolean;
51 $isSelected: boolean;
52 $index: number;
53}
54export const StyledRoot: StyletronComponent<StyledRootProps>;
55export const StyledStar: StyletronComponent<StyledRatingItemProps>;
56export const StyledEmoticon: StyletronComponent<StyledRatingItemProps>;