87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana/**
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana * The contents of this file are subject to the terms of the Common Development and
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana * Distribution License (the License). You may not use this file except in compliance with the
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana * License.
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana *
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana * specific language governing permission and limitations under the License.
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana *
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana * When distributing Covered Software, include this CDDL Header Notice in each file and include
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana * Header, with the fields enclosed by brackets [] replaced by your own identifying
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana * information: "Portions copyright [year] [name of copyright owner]".
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana *
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana * Copyright 2016 ForgeRock AS.
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana */
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwanaimport React from "react";
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana/**
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana * A card.
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana * @module components/Card
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana * @param {Object} props Properties passed to this component
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana * @param {string} props.href The link to the associated page
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana * @param {ReactNode} props.children Children to add within this component
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana * @param {string} props.icon Icon to display on the card
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana * @returns {ReactElement} Renderable React element
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana */
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwanaconst Card = ({ href, children, icon }) => (
9749af69a5c9a39c39bb69e85bb86a40805b452fPhil Ostler <div className="panel-default panel am-panel-card" data-panel-card>
9749af69a5c9a39c39bb69e85bb86a40805b452fPhil Ostler <a href={ href }>
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana <div className="card-body">
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana <div className="card-icon-circle card-icon-circle-sm bg-primary">
9749af69a5c9a39c39bb69e85bb86a40805b452fPhil Ostler <i className={ `fa ${icon}` } />
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana </div>
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana { children }
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana </div>
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana </a>
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana </div>
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana);
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian KigwanaCard.propTypes = {
9749af69a5c9a39c39bb69e85bb86a40805b452fPhil Ostler children: React.PropTypes.node,
9749af69a5c9a39c39bb69e85bb86a40805b452fPhil Ostler href: React.PropTypes.string.isRequired,
9749af69a5c9a39c39bb69e85bb86a40805b452fPhil Ostler icon: React.PropTypes.string.isRequired
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana};
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwana
87e7ffff14ce9060ae0f40942d08b7b0a13da0b6Julian Kigwanaexport default Card;