@hackoregon/component-library
Version:
Official repo for Hack Oregon React component library
34 lines (32 loc) • 990 B
JavaScript
import React from "react";
import PropTypes from "prop-types";
import DataChecker from "../utils/DataChecker";
import CivicCardLayoutFull from "./CivicCardLayoutFull";
import { cardMetaKeys, optionalCardMetaKeys } from "./cardMetaTypes";
var CivicCard = function CivicCard(_ref) {
var cardMeta = _ref.cardMeta,
data = _ref.data,
isLoading = _ref.isLoading,
Layout = _ref.Layout;
return React.createElement(DataChecker, {
data: cardMeta(data),
dataAccessors: cardMetaKeys,
optionalKeys: optionalCardMetaKeys,
dataIsObject: true,
message: "Invalid cardMeta"
}, React.createElement(Layout, {
cardMeta: cardMeta(data),
isLoading: isLoading,
data: data
}));
};
CivicCard.propTypes = {
cardMeta: PropTypes.func.isRequired,
data: PropTypes.oneOfType([PropTypes.shape({}), PropTypes.array]),
isLoading: PropTypes.bool,
Layout: PropTypes.func
};
CivicCard.defaultProps = {
Layout: CivicCardLayoutFull
};
export default CivicCard;