react-lightning-design-components
Version:
Salesforce Lightning Design System components built with React 16
113 lines (83 loc) • 7.43 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Tree = function (_React$Component) {
(0, _inherits3.default)(Tree, _React$Component);
function Tree() {
(0, _classCallCheck3.default)(this, Tree);
return (0, _possibleConstructorReturn3.default)(this, (Tree.__proto__ || (0, _getPrototypeOf2.default)(Tree)).apply(this, arguments));
}
(0, _createClass3.default)(Tree, [{
key: 'renderTreeNode',
value: function renderTreeNode(tnode) {
var _props = this.props,
onNodeClick = _props.onNodeClick,
onNodeToggle = _props.onNodeToggle,
onNodeLabelClick = _props.onNodeLabelClick,
toggleOnNodeClick = _props.toggleOnNodeClick;
return _react2.default.cloneElement(tnode, {
level: 1, onNodeClick: onNodeClick, onNodeToggle: onNodeToggle, onNodeLabelClick: onNodeLabelClick, toggleOnNodeClick: toggleOnNodeClick
});
}
}, {
key: 'render',
value: function render() {
var _props2 = this.props,
className = _props2.className,
label = _props2.label,
children = _props2.children,
props = (0, _objectWithoutProperties3.default)(_props2, ['className', 'label', 'children']);
var treeClassNames = (0, _classnames2.default)(className, 'slds-tree-container');
var pprops = props;
delete pprops.toggleOnNodeClick;
return _react2.default.createElement(
'div',
(0, _extends3.default)({ className: treeClassNames, role: 'application' }, pprops),
label ? _react2.default.createElement(
'h4',
{ className: 'slds-text-heading--label' },
label
) : null,
_react2.default.createElement(
'ul',
{ className: 'slds-tree', role: 'tree' },
_react2.default.Children.map(children, this.renderTreeNode.bind(this))
)
);
}
}]);
return Tree;
}(_react2.default.Component);
exports.default = Tree;
Tree.propTypes = {
className: _propTypes2.default.string,
label: _propTypes2.default.string,
onNodeClick: _propTypes2.default.func,
onNodeToggle: _propTypes2.default.func,
onNodeLabelClick: _propTypes2.default.func,
toggleOnNodeClick: _propTypes2.default.bool,
children: _propTypes2.default.node
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL1RyZWUuanMiXSwibmFtZXMiOlsiVHJlZSIsInRub2RlIiwicHJvcHMiLCJvbk5vZGVDbGljayIsIm9uTm9kZVRvZ2dsZSIsIm9uTm9kZUxhYmVsQ2xpY2siLCJ0b2dnbGVPbk5vZGVDbGljayIsImNsb25lRWxlbWVudCIsImxldmVsIiwiY2xhc3NOYW1lIiwibGFiZWwiLCJjaGlsZHJlbiIsInRyZWVDbGFzc05hbWVzIiwicHByb3BzIiwiQ2hpbGRyZW4iLCJtYXAiLCJyZW5kZXJUcmVlTm9kZSIsImJpbmQiLCJDb21wb25lbnQiLCJwcm9wVHlwZXMiLCJzdHJpbmciLCJmdW5jIiwiYm9vbCIsIm5vZGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7OztBQUNBOzs7O0FBQ0E7Ozs7OztJQUVxQkEsSTs7Ozs7Ozs7OzttQ0FDSkMsSyxFQUFPO0FBQUEsbUJBQ3VELEtBQUtDLEtBRDVEO0FBQUEsVUFDWkMsV0FEWSxVQUNaQSxXQURZO0FBQUEsVUFDQ0MsWUFERCxVQUNDQSxZQUREO0FBQUEsVUFDZUMsZ0JBRGYsVUFDZUEsZ0JBRGY7QUFBQSxVQUNpQ0MsaUJBRGpDLFVBQ2lDQSxpQkFEakM7O0FBRXBCLGFBQU8sZ0JBQU1DLFlBQU4sQ0FBbUJOLEtBQW5CLEVBQTBCO0FBQy9CTyxlQUFPLENBRHdCLEVBQ3JCTCx3QkFEcUIsRUFDUkMsMEJBRFEsRUFDTUMsa0NBRE4sRUFDd0JDO0FBRHhCLE9BQTFCLENBQVA7QUFHRDs7OzZCQUVRO0FBQUEsb0JBQzBDLEtBQUtKLEtBRC9DO0FBQUEsVUFDQ08sU0FERCxXQUNDQSxTQUREO0FBQUEsVUFDWUMsS0FEWixXQUNZQSxLQURaO0FBQUEsVUFDbUJDLFFBRG5CLFdBQ21CQSxRQURuQjtBQUFBLFVBQ2dDVCxLQURoQzs7QUFFUCxVQUFNVSxpQkFBaUIsMEJBQVdILFNBQVgsRUFBc0IscUJBQXRCLENBQXZCO0FBQ0EsVUFBTUksU0FBU1gsS0FBZjtBQUNBLGFBQU9XLE9BQU9QLGlCQUFkO0FBQ0EsYUFDRTtBQUFBO0FBQUEsaUNBQUssV0FBWU0sY0FBakIsRUFBa0MsTUFBSyxhQUF2QyxJQUEwREMsTUFBMUQ7QUFFSUgsZ0JBQ0U7QUFBQTtBQUFBLFlBQUksV0FBVSwwQkFBZDtBQUEyQ0E7QUFBM0MsU0FERixHQUVFLElBSk47QUFNRTtBQUFBO0FBQUEsWUFBSSxXQUFVLFdBQWQsRUFBMEIsTUFBSyxNQUEvQjtBQUNJLDBCQUFNSSxRQUFOLENBQWVDLEdBQWYsQ0FBbUJKLFFBQW5CLEVBQTZCLEtBQUtLLGNBQUwsQ0FBb0JDLElBQXBCLENBQXlCLElBQXpCLENBQTdCO0FBREo7QUFORixPQURGO0FBWUQ7OztFQXpCK0IsZ0JBQU1DLFM7O2tCQUFuQmxCLEk7OztBQTRCckJBLEtBQUttQixTQUFMLEdBQWlCO0FBQ2ZWLGFBQVcsb0JBQVVXLE1BRE47QUFFZlYsU0FBTyxvQkFBVVUsTUFGRjtBQUdmakIsZUFBYSxvQkFBVWtCLElBSFI7QUFJZmpCLGdCQUFjLG9CQUFVaUIsSUFKVDtBQUtmaEIsb0JBQWtCLG9CQUFVZ0IsSUFMYjtBQU1mZixxQkFBbUIsb0JBQVVnQixJQU5kO0FBT2ZYLFlBQVUsb0JBQVVZO0FBUEwsQ0FBakIiLCJmaWxlIjoiVHJlZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRyZWUgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICByZW5kZXJUcmVlTm9kZSh0bm9kZSkge1xuICAgIGNvbnN0IHsgb25Ob2RlQ2xpY2ssIG9uTm9kZVRvZ2dsZSwgb25Ob2RlTGFiZWxDbGljaywgdG9nZ2xlT25Ob2RlQ2xpY2sgfSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudCh0bm9kZSwge1xuICAgICAgbGV2ZWw6IDEsIG9uTm9kZUNsaWNrLCBvbk5vZGVUb2dnbGUsIG9uTm9kZUxhYmVsQ2xpY2ssIHRvZ2dsZU9uTm9kZUNsaWNrLFxuICAgIH0pO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lLCBsYWJlbCwgY2hpbGRyZW4sIC4uLnByb3BzIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHRyZWVDbGFzc05hbWVzID0gY2xhc3NuYW1lcyhjbGFzc05hbWUsICdzbGRzLXRyZWUtY29udGFpbmVyJyk7XG4gICAgY29uc3QgcHByb3BzID0gcHJvcHM7XG4gICAgZGVsZXRlIHBwcm9wcy50b2dnbGVPbk5vZGVDbGljaztcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9eyB0cmVlQ2xhc3NOYW1lcyB9IHJvbGU9J2FwcGxpY2F0aW9uJyB7IC4uLnBwcm9wcyB9PlxuICAgICAgICB7XG4gICAgICAgICAgbGFiZWwgP1xuICAgICAgICAgICAgPGg0IGNsYXNzTmFtZT0nc2xkcy10ZXh0LWhlYWRpbmctLWxhYmVsJz57IGxhYmVsIH08L2g0PiA6XG4gICAgICAgICAgICBudWxsXG4gICAgICAgIH1cbiAgICAgICAgPHVsIGNsYXNzTmFtZT0nc2xkcy10cmVlJyByb2xlPSd0cmVlJz5cbiAgICAgICAgICB7IFJlYWN0LkNoaWxkcmVuLm1hcChjaGlsZHJlbiwgdGhpcy5yZW5kZXJUcmVlTm9kZS5iaW5kKHRoaXMpKSB9XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cblRyZWUucHJvcFR5cGVzID0ge1xuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBvbk5vZGVDbGljazogUHJvcFR5cGVzLmZ1bmMsXG4gIG9uTm9kZVRvZ2dsZTogUHJvcFR5cGVzLmZ1bmMsXG4gIG9uTm9kZUxhYmVsQ2xpY2s6IFByb3BUeXBlcy5mdW5jLFxuICB0b2dnbGVPbk5vZGVDbGljazogUHJvcFR5cGVzLmJvb2wsXG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbn07XG4iXX0=