@salesforce/design-system-react
Version:
Salesforce Lightning Design System for React
52 lines (47 loc) • 1.3 kB
JSX
/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */
/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
import React from 'react';
import PropTypes from 'prop-types';
import MediaObject from '../../../media-object';
const displayName = 'PageHeaderBase';
const propTypes = {
/**
* Icon node passed by PageHeader
*/
icon: PropTypes.node,
/**
* Title node passed by PageHeader
*/
title: PropTypes.node,
/**
* Info node passed by PageHeader
*/
info: PropTypes.node,
/**
* Nav content which appears in the upper right hand corner.
* 'navRight' prop will be deprecated soon, instaed use 'onRenderControls'
*/
navRight: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
};
const Base = (props) => (
<div className="slds-grid slds-page-header__row">
<div className="slds-col slds-page-header__col-title">
<MediaObject
body={
<div>
{props.title}
{props.info}
</div>
}
className="slds-no-space slds-grow"
figure={props.icon}
/>
</div>
<div className="slds-col slds-no-flex slds-grid slds-align-top">
{props.onRenderControls ? props.onRenderControls : props.navRight}
</div>
</div>
);
Base.displayName = displayName;
Base.propTypes = propTypes;
export default Base;