ruffer-pattern-portfolio
Version:
This is the end result from https://dev.to/swyx/quick-guide-to-setup-your-react--typescript-storybook-design-system-1c51
74 lines (73 loc) • 4.29 kB
JavaScript
"use strict";
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = __importStar(require("react"));
var react_redux_1 = require("react-redux");
var react_bootstrap_1 = require("react-bootstrap");
var LoadingSection_1 = require("../LoadingSection/LoadingSection");
exports.TeamMemberCard = function (props) {
var defaulHeader = {
title: "LEE COLEMAN",
subtitle: "Chief investment officer",
color: '#9ae48f'
};
var defaultImage = {
src: 'http://placehold.it/200',
description: 'Test description'
};
var loading = props.loading, _a = props.header, header = _a === void 0 ? defaulHeader : _a, _b = props.image, image = _b === void 0 ? defaultImage : _b, content = props.content, className = props.className, link = props.link, backgroundColor = props.backgroundColor, children = props.children;
if (loading) {
return (react_1.default.createElement("div", { className: "card flex-row flex-wrap" },
react_1.default.createElement("div", { className: "card-header border-0" },
react_1.default.createElement(LoadingSection_1.LoadingSection, { className: "w-100 h-100", background: "none" })),
react_1.default.createElement("div", { className: "card-block px-2" },
react_1.default.createElement(LoadingSection_1.LoadingSection, { className: "w-100 h-50" }),
react_1.default.createElement(LoadingSection_1.LoadingSection, { className: "w-100 h-50" }),
react_1.default.createElement(LoadingSection_1.LoadingSection, { className: "w-75 h-50" })),
react_1.default.createElement("div", { className: "w-100" })));
}
// TODO: Render this block in TypeScript
var titleColor = '#9ae48f';
var cardTitle;
var cardSubTitle;
if (header) {
if (header.title) {
titleColor = header.color ? header.color : titleColor;
cardTitle =
(react_1.default.createElement(react_bootstrap_1.Card.Title, { style: { textTransform: 'uppercase', color: titleColor,
textOverflow: 'ellipsis', overflow: 'hidden', whiteSpace: 'nowrap' } }, header.title));
}
if (header.subtitle) {
cardSubTitle =
(react_1.default.createElement(react_bootstrap_1.Card.Subtitle, { className: "mb-2 text-muted", style: { textOverflow: 'ellipsis' } }, header.subtitle));
}
}
// var cardBody = '';
// var cardBodyColor = '#000';
// if(body){
// cardBodyColor = body.color ? body.color : cardBodyColor;
// cardBody =
// (<CardBootstrap.Text style={{fontSize: '45px', color: cardBodyColor }}>
// {body.text}
// </CardBootstrap.Text>);
// }
var cardImg = (react_1.default.createElement("img", { src: 'http://placehold.it/200', style: { height: '300px' }, alt: "" }));
if (image) {
cardImg = (react_1.default.createElement("img", { src: image.src, style: { height: '300px' }, alt: "" }));
}
var cardContent = (react_1.default.createElement("div", { className: "card flex-row flex-wrap", style: { backgroundColor: backgroundColor } },
react_1.default.createElement("div", { className: "card-header border-0 h-25" }, cardImg),
react_1.default.createElement("div", { className: "card-block px-2" },
cardTitle,
cardSubTitle,
react_1.default.createElement("p", { className: "card-text" }, "Description")),
react_1.default.createElement("div", { className: "w-100" })));
return (react_1.default.createElement(react_1.Fragment, null, link ? (react_1.default.createElement("a", { className: className, href: link, style: { textDecoration: 'none' } }, cardContent)) : (react_1.default.createElement("div", { className: className }, cardContent))));
};
exports.default = react_redux_1.connect()(exports.TeamMemberCard);