UNPKG

@brizy/ui

Version:
23 lines (22 loc) 1.67 kB
import React, { useCallback } from "react"; import { TypographyTitle, TypographyText, TypographyParagraph, TypographyLink } from "../Typography"; import { Space } from "../Space"; import { SmallRating } from "../SmallRating"; import { BRZ_PREFIX } from "../constants"; export const CardRating = ({ cover, title, subtitle, description, rating, ratingItems, action, onCoverClick, onTitleClick, }) => { const _onCoverClick = useCallback(() => onCoverClick === null || onCoverClick === void 0 ? void 0 : onCoverClick(), [onCoverClick]); const _onTitleClick = useCallback(() => onTitleClick === null || onTitleClick === void 0 ? void 0 : onTitleClick(), [onTitleClick]); return (React.createElement("div", { className: `${BRZ_PREFIX}-card-rating` }, React.createElement("div", { className: `${BRZ_PREFIX}-card-rating__cover` }, React.createElement("img", { alt: title, src: cover, onClick: _onCoverClick })), React.createElement("div", { className: `${BRZ_PREFIX}-card-rating__content` }, React.createElement(TypographyLink, { onClick: _onTitleClick }, React.createElement(TypographyTitle, { level: 4 }, title)), React.createElement(TypographyText, null, subtitle), React.createElement(Space, { spacing: 1 }), React.createElement(TypographyParagraph, { strong: true }, description)), React.createElement("div", { className: `${BRZ_PREFIX}-card-rating__action` }, rating && ratingItems && React.createElement(SmallRating, { rating: rating, ratingItems: ratingItems }), action, React.createElement(Space, { spacing: 3 })))); };