@automattic/social-previews
Version:
A suite of components to generate previews for a post for both social and search engines.
12 lines • 1.15 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import clsx from 'clsx';
import { baseDomain, firstValid, hardTruncation, shortEnough, stripHtmlTags } from '../helpers';
const DESCRIPTION_LENGTH = 200;
const twitterDescription = firstValid(shortEnough(DESCRIPTION_LENGTH), hardTruncation(DESCRIPTION_LENGTH));
export const Card = ({ description, image, title, cardType, url, }) => {
const cardClassNames = clsx(`twitter-preview__card-${cardType}`, {
'twitter-preview__card-has-image': !!image,
});
return (_jsx("div", { className: "twitter-preview__card", children: _jsxs("div", { className: cardClassNames, children: [image && _jsx("img", { className: "twitter-preview__card-image", src: image, alt: "" }), _jsxs("div", { className: "twitter-preview__card-body", children: [_jsx("div", { className: "twitter-preview__card-url", children: baseDomain(url || '') }), _jsx("div", { className: "twitter-preview__card-title", children: title }), _jsx("div", { className: "twitter-preview__card-description", children: twitterDescription(stripHtmlTags(description)) })] })] }) }));
};
//# sourceMappingURL=card.js.map