UNPKG

@salesforce/design-system-react

Version:

Salesforce Lightning Design System for React

93 lines (82 loc) 2.89 kB
/* 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 classnames from 'classnames'; import Controls from '../controls'; import DetailRow from '../detail-row'; import Icon from '../../../icon'; import MediaObject from '../../../media-object'; import Title from '../title'; var displayName = 'PageHeaderRecordHome'; var propTypes = { /** * An array of detail blocks (used in "recordHome" variant) */ details: PropTypes.array, /** * The label property can be a string or a React element */ label: PropTypes.node, /** * The page header icon */ icon: PropTypes.element, /** * Content to appear on the right hand side of the page header * prop 'contentRight' will be deprecated soon, use 'onRenderActions' instead */ onRenderActions: PropTypes.func, /** * The title property can be a string or a React element */ title: PropTypes.node }; var RecordHome = function RecordHome(props) { var icon; // Backwards compatibility if (props.iconName) { icon = /*#__PURE__*/React.createElement(Icon, { category: props.iconCategory, className: "slds-page-header__icon", name: props.iconName, position: props.iconPosition, size: props.iconSize, variant: props.iconVariant }); } else if (props.icon) { var iconClasses = 'slds-page-header__icon'; if (props.icon.props) { iconClasses = classnames(props.icon.props.className, iconClasses); } icon = /*#__PURE__*/React.cloneElement(props.icon, { className: iconClasses }); } return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", { className: "slds-page-header__row" }, /*#__PURE__*/React.createElement("div", { className: "slds-page-header__col-title" }, /*#__PURE__*/React.createElement(MediaObject, { body: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", { className: "slds-page-header__name" }, /*#__PURE__*/React.createElement(Title, { content: props.title, label: props.label }))), figure: icon })), /*#__PURE__*/React.createElement(Controls, { contentRight: props.contentRight, onRenderActions: props.onRenderActions, type: "actions" })), props.details ? /*#__PURE__*/React.createElement("div", { className: "slds-page-header__row slds-page-header__row_gutters" }, /*#__PURE__*/React.createElement("div", { className: "slds-page-header__col-details" }, /*#__PURE__*/React.createElement(DetailRow, { details: props.details }))) : null); }; RecordHome.displayName = displayName; RecordHome.propTypes = propTypes; export default RecordHome; //# sourceMappingURL=index.js.map