UNPKG

@salesforce/design-system-react

Version:

Salesforce Lightning Design System for React

56 lines (50 loc) 3.02 kB
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } import React from 'react'; import Button from '../button'; import Icon from '../icon'; import Dropdown from '../menu-dropdown'; import DropdownTrigger from '../menu-dropdown/button-trigger'; import MenuDropdown from '../menu-dropdown/menu-dropdown'; import { BUILDER_HEADER_NAV_DROPDOWN } from '../../utilities/constants'; // This component accepts the same props as MenuDropdown. // eslint-disable-next-line react/forbid-foreign-prop-types var propTypes = MenuDropdown.propTypes; /** * A dropdown within the navigation section of the header. */ var BuilderHeaderNavDropdown = function BuilderHeaderNavDropdown(props) { // Separate props we care about in order to pass others along passively to the dropdown component var iconCategory = props.iconCategory, iconName = props.iconName, label = props.label, assistiveText = props.assistiveText, rest = _objectWithoutProperties(props, ["iconCategory", "iconName", "label", "assistiveText"]); return /*#__PURE__*/React.createElement(Dropdown, rest, /*#__PURE__*/React.createElement(DropdownTrigger, null, /*#__PURE__*/React.createElement(Button, { className: "slds-builder-header__item-action slds-media slds-media_center", variant: "base" }, /*#__PURE__*/React.createElement("span", { className: "slds-media__figure" }, /*#__PURE__*/React.createElement(Icon, { assistiveText: { label: assistiveText && assistiveText.icon }, category: iconCategory, containerClassName: "slds-icon_container slds-icon-utility-page slds-current-color", name: iconName, size: "x-small" })), /*#__PURE__*/React.createElement("span", { className: "slds-media__body" }, /*#__PURE__*/React.createElement("span", { className: "slds-truncate", title: label }, label), /*#__PURE__*/React.createElement(Icon, { category: "utility", containerClassName: "slds-icon_container slds-icon-utility-chevrondown slds-current-color slds-m-left_small", name: "chevrondown", size: "x-small" }))))); }; BuilderHeaderNavDropdown.displayName = BUILDER_HEADER_NAV_DROPDOWN; BuilderHeaderNavDropdown.propTypes = propTypes; export default BuilderHeaderNavDropdown; //# sourceMappingURL=nav-dropdown.js.map