@yamada-ui/rating
Version:
Yamada UI rating component
42 lines (39 loc) • 1.44 kB
TypeScript
import * as react from 'react';
import { ReactNode, Dispatch, SetStateAction } from 'react';
import { CSSUIObject, RequiredPropGetter } from '@yamada-ui/core';
import { MotionProps } from '@yamada-ui/motion';
import { Dict, Merge } from '@yamada-ui/utils';
import { GroupProps, InputProps, ItemProps } from './use-rating.js';
import 'react/jsx-runtime';
import '@yamada-ui/form-control';
import './rating-group.js';
import './rating-item.js';
import './use-rating-item.js';
interface RatingContext {
id: string;
name: string;
decimal: number;
emptyIcon: ((value: number) => ReactNode) | ReactNode | undefined;
filledIcon: ((value: number) => ReactNode) | ReactNode | undefined;
highlightSelectedOnly: boolean;
hoveredValue: number;
outside: boolean;
resolvedValue: number;
roundedValue: number;
setHoveredValue: Dispatch<SetStateAction<number>>;
setValue: Dispatch<SetStateAction<number>>;
styles: {
[key: string]: CSSUIObject | undefined;
};
value: number;
formControlProps: Dict;
getGroupProps: RequiredPropGetter<Merge<MotionProps, {
value: number;
}>, MotionProps>;
groupProps: GroupProps | undefined;
inputProps: InputProps | undefined;
itemProps: ItemProps | undefined;
}
declare const RatingProvider: react.Provider<RatingContext>;
declare const useRatingContext: () => RatingContext;
export { RatingProvider, useRatingContext };