UNPKG

react-lightning-design-components

Version:

Salesforce Lightning Design System components built with React 16

142 lines (113 loc) 12.7 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.Toast = exports.Alert = undefined; var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties'); var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _Button = require('./Button'); var _Button2 = _interopRequireDefault(_Button); var _Icon = require('./Icon'); var _Icon2 = _interopRequireDefault(_Icon); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var NOTIFICATION_TYPES = ['alert', 'toast']; var NOTIFICATION_LEVELS = ['info', 'success', 'warning', 'error', 'offline']; var getIcon = function getIcon(icon, iconSize, level, type) { return icon ? _react2.default.createElement(_Icon2.default, { className: 'slds-m-right--small slds-col slds-no-flex', icon: icon, size: iconSize, fillColor: 'none', textColor: level === 'warning' ? 'default' : null, style: type === 'alert' ? { 'margin-top': '-4px' } : null }) : null; }; var Notification = function Notification(props) { var className = props.className, type = props.type, level = props.level, alt = props.alt, _props$alertTexture = props.alertTexture, alertTexture = _props$alertTexture === undefined ? true : _props$alertTexture, icon = props.icon, _props$iconSize = props.iconSize, iconSize = _props$iconSize === undefined ? 'small' : _props$iconSize, description = props.description, onClose = props.onClose, children = props.children, pprops = (0, _objectWithoutProperties3.default)(props, ['className', 'type', 'level', 'alt', 'alertTexture', 'icon', 'iconSize', 'description', 'onClose', 'children']); var typeClassName = type && NOTIFICATION_TYPES.indexOf(type) >= 0 ? 'slds-notify--' + type : null; var levelClassName = type && NOTIFICATION_LEVELS.indexOf(level) >= 0 ? 'slds-theme--' + level : null; var alertClassNames = (0, _classnames2.default)(className, 'slds-notify', typeClassName, levelClassName, alertTexture ? 'slds-theme--alert-texture' : null); return _react2.default.createElement( 'div', (0, _extends3.default)({ className: alertClassNames, role: 'alert' }, pprops), alt ? _react2.default.createElement( 'span', { className: 'slds-assistive-text' }, alt ) : null, onClose ? _react2.default.createElement(_Button2.default, { className: 'slds-notify__close', type: 'icon-inverse', icon: 'close', iconSize: 'large', alt: 'Close', onClick: onClose }) : null, type === 'toast' ? _react2.default.createElement( 'div', { className: 'slds-notify__content slds-grid' }, getIcon(icon, iconSize, level, type), _react2.default.createElement( 'div', { className: 'slds-col slds-align-middle' }, _react2.default.createElement( 'h2', { className: 'slds-text-heading--small' }, children ), description ? _react2.default.createElement( 'p', null, description ) : null ) ) : _react2.default.createElement( 'h2', null, getIcon(icon, iconSize, level, type), children ) ); }; Notification.propTypes = { type: _propTypes2.default.oneOf(NOTIFICATION_TYPES).isRequired, className: _propTypes2.default.string, level: _propTypes2.default.oneOf(NOTIFICATION_LEVELS), alt: _propTypes2.default.string, icon: _propTypes2.default.string, iconSize: _propTypes2.default.string, children: _propTypes2.default.node, onClose: _propTypes2.default.func, description: _propTypes2.default.string }; exports.default = Notification; var propTypes = (0, _extends3.default)({}, Notification.propTypes); delete propTypes.type; var Alert = exports.Alert = function Alert(props) { return _react2.default.createElement(Notification, (0, _extends3.default)({}, props, { type: 'alert' })); }; Alert.propTypes = propTypes; var Toast = exports.Toast = function Toast(props) { return _react2.default.createElement(Notification, (0, _extends3.default)({}, props, { type: 'toast' })); }; Toast.propTypes = propTypes; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL05vdGlmaWNhdGlvbi5qcyJdLCJuYW1lcyI6WyJOT1RJRklDQVRJT05fVFlQRVMiLCJOT1RJRklDQVRJT05fTEVWRUxTIiwiZ2V0SWNvbiIsImljb24iLCJpY29uU2l6ZSIsImxldmVsIiwidHlwZSIsIk5vdGlmaWNhdGlvbiIsInByb3BzIiwiY2xhc3NOYW1lIiwiYWx0IiwiYWxlcnRUZXh0dXJlIiwiZGVzY3JpcHRpb24iLCJvbkNsb3NlIiwiY2hpbGRyZW4iLCJwcHJvcHMiLCJ0eXBlQ2xhc3NOYW1lIiwiaW5kZXhPZiIsImxldmVsQ2xhc3NOYW1lIiwiYWxlcnRDbGFzc05hbWVzIiwicHJvcFR5cGVzIiwib25lT2YiLCJpc1JlcXVpcmVkIiwic3RyaW5nIiwibm9kZSIsImZ1bmMiLCJBbGVydCIsIlRvYXN0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7Ozs7QUFHQSxJQUFNQSxxQkFBcUIsQ0FBQyxPQUFELEVBQVUsT0FBVixDQUEzQjs7QUFFQSxJQUFNQyxzQkFBc0IsQ0FDMUIsTUFEMEIsRUFFMUIsU0FGMEIsRUFHMUIsU0FIMEIsRUFJMUIsT0FKMEIsRUFLMUIsU0FMMEIsQ0FBNUI7O0FBUUEsSUFBTUMsVUFBVSxTQUFWQSxPQUFVLENBQUNDLElBQUQsRUFBT0MsUUFBUCxFQUFpQkMsS0FBakIsRUFBd0JDLElBQXhCO0FBQUEsU0FDZEgsT0FDRTtBQUNFLGVBQVUsMkNBRFo7QUFFRSxVQUFPQSxJQUZUO0FBR0UsVUFBT0MsUUFIVDtBQUlFLGVBQVUsTUFKWjtBQUtFLGVBQVlDLFVBQVUsU0FBVixHQUFzQixTQUF0QixHQUFrQyxJQUxoRDtBQU1FLFdBQU9DLFNBQVMsT0FBVCxHQUFtQixFQUFFLGNBQWMsTUFBaEIsRUFBbkIsR0FBOEM7QUFOdkQsSUFERixHQVNFLElBVlk7QUFBQSxDQUFoQjs7QUFhQSxJQUFNQyxlQUFlLFNBQWZBLFlB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LElBQU1vQix3QkFBUSxTQUFSQSxLQUFRLENBQUNsQixLQUFEO0FBQUEsU0FBVyw4QkFBQyxZQUFELDZCQUFtQkEsS0FBbkIsSUFBMkIsTUFBSyxPQUFoQyxJQUFYO0FBQUEsQ0FBZDs7QUFFUGtCLE1BQU1OLFNBQU4sR0FBa0JBLFNBQWxCOztBQUdPLElBQU1PLHdCQUFRLFNBQVJBLEtBQVEsQ0FBQ25CLEtBQUQ7QUFBQSxTQUFXLDhCQUFDLFlBQUQsNkJBQW1CQSxLQUFuQixJQUEyQixNQUFLLE9BQWhDLElBQVg7QUFBQSxDQUFkOztBQUVQbUIsTUFBTVAsU0FBTixHQUFrQkEsU0FBbEIiLCJmaWxlIjoiTm90aWZpY2F0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IEJ1dHRvbiBmcm9tICcuL0J1dHRvbic7XG5pbXBvcnQgSWNvbiBmcm9tICcuL0ljb24nO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuXG5jb25zdCBOT1RJRklDQVRJT05fVFlQRVMgPSBbJ2FsZXJ0JywgJ3RvYXN0J107XG5cbmNvbnN0IE5PVElGSUNBVElPTl9MRVZFTFMgPSBbXG4gICdpbmZvJyxcbiAgJ3N1Y2Nlc3MnLFxuICAnd2FybmluZycsXG4gICdlcnJvcicsXG4gICdvZmZsaW5lJyxcbl07XG5cbmNvbnN0IGdldEljb24gPSAoaWNvbiwgaWNvblNpemUsIGxldmVsLCB0eXBlKSA9PiAoXG4gIGljb24gPyAoXG4gICAgPEljb25cbiAgICAgIGNsYXNzTmFtZT0nc2xkcy1tLXJpZ2h0LS1zbWFsbCBzbGRzLWNvbCBzbGRzLW5vLWZsZXgnXG4gICAgICBpY29uPXsgaWNvbiB9XG4gICAgICBzaXplPXsgaWNvblNpemUgfVxuICAgICAgZmlsbENvbG9yPSdub25lJ1xuICAgICAgdGV4dENvbG9yPXsgbGV2ZWwgPT09ICd3YXJuaW5nJyA/ICdkZWZhdWx0JyA6IG51bGwgfVxuICAgICAgc3R5bGU9e3R5cGUgPT09ICdhbGVydCcgPyB7ICdtYXJnaW4tdG9wJzogJy00cHgnIH0gOiBudWxsfVxuICAgIC8+KSA6XG4gICAgbnVsbFxuKTtcblxuY29uc3QgTm90aWZpY2F0aW9uID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjbGFzc05hbWUsXG4gICAgdHlwZSxcbiAgICBsZXZlbCxcbiAgICBhbHQsXG4gICAgYWxlcnRUZXh0dXJlID0gdHJ1ZSxcbiAgICBpY29uLFxuICAgIGljb25TaXplID0gJ3NtYWxsJyxcbiAgICBkZXNjcmlwdGlvbixcbiAgICBvbkNsb3NlLFxuICAgIGNoaWxkcmVuLFxuICAgIC4uLnBwcm9wcyxcbiAgfSA9IHByb3BzO1xuICBjb25zdCB0eXBlQ2xhc3NOYW1lID0gdHlwZSAmJiBOT1RJRklDQVRJT05fVFlQRVMuaW5kZXhPZih0eXBlKSA+PSAwID9cbiAgICBgc2xkcy1ub3RpZnktLSR7dHlwZX1gIDogbnVsbDtcbiAgY29uc3QgbGV2ZWxDbGFzc05hbWUgPSB0eXBlICYmIE5PVElGSUNBVElPTl9MRVZFTFMuaW5kZXhPZihsZXZlbCkgPj0gMCA/XG4gICAgYHNsZHMtdGhlbWUtLSR7bGV2ZWx9YCA6IG51bGw7XG4gIGNvbnN0IGFsZXJ0Q2xhc3NOYW1lcyA9IGNsYXNzbmFtZXMoXG4gICAgY2xhc3NOYW1lLFxuICAgICdzbGRzLW5vdGlmeScsXG4gICAgdHlwZUNsYXNzTmFtZSxcbiAgICBsZXZlbENsYXNzTmFtZSxcbiAgICBhbGVydFRleHR1cmUgPyAnc2xkcy10aGVtZS0tYWxlcnQtdGV4dHVyZScgOiBudWxsXG4gICk7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9eyBhbGVydENsYXNzTmFtZXMgfSByb2xlPSdhbGVydCcgeyAuLi5wcHJvcHMgfT5cbiAgICAgIHtcbiAgICAgICAgYWx0ID9cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9J3NsZHMtYXNzaXN0aXZlLXRleHQnPnsgYWx0IH08L3NwYW4+IDpcbiAgICAgICAgICBudWxsXG4gICAgICB9XG4gICAgICB7XG4gICAgICAgIG9uQ2xvc2UgP1xuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGNsYXNzTmFtZT0nc2xkcy1ub3RpZnlfX2Nsb3NlJ1xuICAgICAgICAgICAgdHlwZT0naWNvbi1pbnZlcnNlJ1xuICAgICAgICAgICAgaWNvbj0nY2xvc2UnXG4gICAgICAgICAgICBpY29uU2l6ZT0nbGFyZ2UnIGFsdD0nQ2xvc2UnXG4gICAgICAgICAgICBvbkNsaWNrPXsgb25DbG9zZSB9XG4gICAgICAgICAgLz4gOlxuICAgICAgICAgIG51bGxcbiAgICB9XG4gICAgeyB0eXBlID09PSAndG9hc3QnID8gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9J3NsZHMtbm90aWZ5X19jb250ZW50IHNsZHMtZ3JpZCc+XG4gICAgICAgIHsgZ2V0SWNvbihpY29uLCBpY29uU2l6ZSwgbGV2ZWwsIHR5cGUpIH1cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J3NsZHMtY29sIHNsZHMtYWxpZ24tbWlkZGxlJz5cbiAgICAgICAgICA8aDIgY2xhc3NOYW1lPSdzbGRzLXRleHQtaGVhZGluZy0tc21hbGwnPlxuICAgICAgICAgICAgeyBjaGlsZHJlbiB9XG4gICAgICAgICAgPC9oMj5cbiAgICAgICAgICB7IGRlc2NyaXB0aW9uID8gPHA+e2Rlc2NyaXB0aW9ufTwvcD4gOiBudWxsIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj4pIDogKFxuICAgICAgPGgyPlxuICAgICAgICB7IGdldEljb24oaWNvbiwgaWNvblNpemUsIGxldmVsLCB0eXBlKSB9XG4gICAgICAgIHsgY2hpbGRyZW4gfVxuICAgICAgPC9oMj4pXG4gICAgfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuTm90aWZpY2F0aW9uLnByb3BUeXBlcyA9IHtcbiAgdHlwZTogUHJvcFR5cGVzLm9uZU9mKE5PVElGSUNBVElPTl9UWVBFUykuaXNSZXF1aXJlZCxcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBsZXZlbDogUHJvcFR5cGVzLm9uZU9mKE5PVElGSUNBVElPTl9MRVZFTFMpLFxuICBhbHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGljb246IFByb3BUeXBlcy5zdHJpbmcsXG4gIGljb25TaXplOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUsXG4gIG9uQ2xvc2U6IFByb3BUeXBlcy5mdW5jLFxuICBkZXNjcmlwdGlvbjogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5vdGlmaWNhdGlvbjtcblxuY29uc3QgcHJvcFR5cGVzID0geyAuLi5Ob3RpZmljYXRpb24ucHJvcFR5cGVzIH07XG5kZWxldGUgcHJvcFR5cGVzLnR5cGU7XG5cbmV4cG9ydCBjb25zdCBBbGVydCA9IChwcm9wcykgPT4gPE5vdGlmaWNhdGlvbiB7IC4uLnByb3BzIH0gdHlwZT0nYWxlcnQnIC8+O1xuXG5BbGVydC5wcm9wVHlwZXMgPSBwcm9wVHlwZXM7XG5cblxuZXhwb3J0IGNvbnN0IFRvYXN0ID0gKHByb3BzKSA9PiA8Tm90aWZpY2F0aW9uIHsgLi4ucHJvcHMgfSB0eXBlPSd0b2FzdCcgLz47XG5cblRvYXN0LnByb3BUeXBlcyA9IHByb3BUeXBlcztcbiJdfQ==