UNPKG

focus-components-v3

Version:

Focus web components to build applications (based on Material Design)

108 lines (78 loc) 7.93 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _dec, _class; //dependencies var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _i18next = require('i18next'); var _i18next2 = _interopRequireDefault(_i18next); var _material = require('../behaviours/material'); var _material2 = _interopRequireDefault(_material); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); } /** * Component's props */ var propTypes = { position: _react.PropTypes.oneOf(['top', 'left', 'bottom', 'right']), isLarge: _react.PropTypes.bool, label: _react.PropTypes.string }; /** * Component default Props */ var defaultProps = { position: 'bottom' }; /** * Tooltip Component. */ var Tooltip = (_dec = (0, _material2.default)('materialTooltip'), _dec(_class = function (_PureComponent) { _inherits(Tooltip, _PureComponent); function Tooltip() { var _temp, _this, _ret; _classCallCheck(this, Tooltip); for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return _ret = (_temp = (_this = _possibleConstructorReturn(this, _PureComponent.call.apply(_PureComponent, [this].concat(args))), _this), _this.buildClassname = function () { var _this$props = _this.props, isLarge = _this$props.isLarge, position = _this$props.position; var tooltipLarge = isLarge === true ? ' mdl-tooltip--large' : ''; return 'mdl-tooltip mdl-tooltip--' + position + tooltipLarge; }, _temp), _possibleConstructorReturn(_this, _ret); } /** * Builds the tooltip's className * @return {string} The built classname */ Tooltip.prototype.render = function render() { var _props = this.props, label = _props.label, style = _props.style, htmlFor = _props.htmlFor, className = _props.className; var renderedClassName = '' + (className ? className : '') + this.buildClassname(); return _react2.default.createElement( 'div', { className: renderedClassName, 'data-focus': 'tooltip', ref: 'materialTooltip', style: style, htmlFor: htmlFor }, _react2.default.createElement( 'span', { className: 'tooltip-text' }, _i18next2.default.t(label) ) ); }; return Tooltip; }(_react.PureComponent)) || _class); Tooltip.displayName = 'Tooltip'; Tooltip.propTypes = propTypes; Tooltip.defaultProps = defaultProps; exports.default = Tooltip; module.exports = exports['default']; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZyLUZSLmpzIl0sIm5hbWVzIjpbInByb3BUeXBlcyIsInBvc2l0aW9uIiwib25lT2YiLCJpc0xhcmdlIiwiYm9vbCIsImxhYmVsIiwic3RyaW5nIiwiZGVmYXVsdFByb3BzIiwiVG9vbHRpcCIsImJ1aWxkQ2xhc3NuYW1lIiwicHJvcHMiLCJ0b29sdGlwTGFyZ2UiLCJyZW5kZXIiLCJzdHlsZSIsImh0bWxGb3IiLCJjbGFzc05hbWUiLCJyZW5kZXJlZENsYXNzTmFtZSIsInQiLCJkaXNwbGF5TmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O2tCQUFBOzs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7O0FBRUE7OztBQUdBLElBQU1BLFlBQVk7QUFDZEMsY0FBVSxpQkFBVUMsS0FBVixDQUFnQixDQUFDLEtBQUQsRUFBUSxNQUFSLEVBQWdCLFFBQWhCLEVBQTBCLE9BQTFCLENBQWhCLENBREk7QUFFZEMsYUFBUyxpQkFBVUMsSUFGTDtBQUdkQyxXQUFPLGlCQUFVQztBQUhILENBQWxCOztBQU1BOzs7QUFHQSxJQUFNQyxlQUFlO0FBQ2pCTixjQUFVO0FBRE8sQ0FBckI7O0FBSUE7OztJQUlNTyxPLFdBREwsd0JBQVksaUJBQVosQztjQUNLQSxPOzthQUFBQSxPOzs7OEJBQUFBLE87Ozs7Ozt3SkFNRkMsYyxHQUFpQixZQUFNO0FBQUEsOEJBQ1MsTUFBS0MsS0FEZDtBQUFBLGdCQUNaUCxPQURZLGVBQ1pBLE9BRFk7QUFBQSxnQkFDSEYsUUFERyxlQUNIQSxRQURHOztBQUVuQixnQkFBSVUsZUFBZVIsWUFBWSxJQUFaLEdBQW1CLHFCQUFuQixHQUEyQyxFQUE5RDtBQUNBLGlEQUFtQ0YsUUFBbkMsR0FBOENVLFlBQTlDO0FBQ0gsUzs7O0FBUkQ7Ozs7OztBQUZFSCxXLFdBWUZJLE0scUJBQVM7QUFBQSxxQkFDc0MsS0FBS0YsS0FEM0M7QUFBQSxZQUNFTCxLQURGLFVBQ0VBLEtBREY7QUFBQSxZQUNTUSxLQURULFVBQ1NBLEtBRFQ7QUFBQSxZQUNnQkMsT0FEaEIsVUFDZ0JBLE9BRGhCO0FBQUEsWUFDeUJDLFNBRHpCLFVBQ3lCQSxTQUR6Qjs7QUFFTCxZQUFNQywwQkFBdUJELFlBQVlBLFNBQVosR0FBd0IsRUFBL0MsSUFBb0QsS0FBS04sY0FBTCxFQUExRDtBQUNBLGVBQ0k7QUFBQTtBQUFBLGNBQUssV0FBV08saUJBQWhCLEVBQW1DLGNBQVcsU0FBOUMsRUFBd0QsS0FBSSxpQkFBNUQsRUFBOEUsT0FBT0gsS0FBckYsRUFBNEYsU0FBU0MsT0FBckc7QUFDQTtBQUFBO0FBQUEsa0JBQU0sV0FBVSxjQUFoQjtBQUFnQyxrQ0FBUUcsQ0FBUixDQUFVWixLQUFWO0FBQWhDO0FBREEsU0FESjtBQUtILEs7O1dBcEJDRyxPOzs7O0FBdUJOQSxRQUFRVSxXQUFSLEdBQXNCLFNBQXRCO0FBQ0FWLFFBQVFSLFNBQVIsR0FBb0JBLFNBQXBCO0FBQ0FRLFFBQVFELFlBQVIsR0FBdUJBLFlBQXZCOztrQkFFZUMsTyIsImZpbGUiOiJmci1GUi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vZGVwZW5kZW5jaWVzXHJcbmltcG9ydCBSZWFjdCwge1Byb3BUeXBlcywgUHVyZUNvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgaTE4bmV4dCBmcm9tICdpMThuZXh0JztcclxuaW1wb3J0IE1EQmVoYXZpb3VyIGZyb20gJy4uL2JlaGF2aW91cnMvbWF0ZXJpYWwnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudCdzIHByb3BzXHJcbiAqL1xyXG5jb25zdCBwcm9wVHlwZXMgPSB7XHJcbiAgICBwb3NpdGlvbjogUHJvcFR5cGVzLm9uZU9mKFsndG9wJywgJ2xlZnQnLCAnYm90dG9tJywgJ3JpZ2h0J10pLFxyXG4gICAgaXNMYXJnZTogUHJvcFR5cGVzLmJvb2wsXHJcbiAgICBsYWJlbDogUHJvcFR5cGVzLnN0cmluZ1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudCBkZWZhdWx0IFByb3BzXHJcbiAqL1xyXG5jb25zdCBkZWZhdWx0UHJvcHMgPSB7XHJcbiAgICBwb3NpdGlvbjogJ2JvdHRvbSdcclxufTtcclxuXHJcbi8qKlxyXG4qIFRvb2x0aXAgQ29tcG9uZW50LlxyXG4qL1xyXG5ATURCZWhhdmlvdXIoJ21hdGVyaWFsVG9vbHRpcCcpXHJcbmNsYXNzIFRvb2x0aXAgZXh0ZW5kcyBQdXJlQ29tcG9uZW50IHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEJ1aWxkcyB0aGUgdG9vbHRpcCdzIGNsYXNzTmFtZVxyXG4gICAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgYnVpbHQgY2xhc3NuYW1lXHJcbiAgICAgKi9cclxuICAgIGJ1aWxkQ2xhc3NuYW1lID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHtpc0xhcmdlLCBwb3NpdGlvbn0gPSB0aGlzLnByb3BzO1xyXG4gICAgICAgIGxldCB0b29sdGlwTGFyZ2UgPSBpc0xhcmdlID09PSB0cnVlID8gJyBtZGwtdG9vbHRpcC0tbGFyZ2UnIDogJyc7XHJcbiAgICAgICAgcmV0dXJuIGBtZGwtdG9vbHRpcCBtZGwtdG9vbHRpcC0tJHtwb3NpdGlvbn0ke3Rvb2x0aXBMYXJnZX1gO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICBjb25zdCB7bGFiZWwsIHN0eWxlLCBodG1sRm9yLCBjbGFzc05hbWV9ID0gdGhpcy5wcm9wcztcclxuICAgICAgICBjb25zdCByZW5kZXJlZENsYXNzTmFtZSA9IGAke2NsYXNzTmFtZSA/IGNsYXNzTmFtZSA6ICcnfSR7dGhpcy5idWlsZENsYXNzbmFtZSgpfWBcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17cmVuZGVyZWRDbGFzc05hbWV9IGRhdGEtZm9jdXM9J3Rvb2x0aXAnIHJlZj0nbWF0ZXJpYWxUb29sdGlwJyBzdHlsZT17c3R5bGV9IGh0bWxGb3I9e2h0bWxGb3J9PlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9J3Rvb2x0aXAtdGV4dCc+e2kxOG5leHQudChsYWJlbCl9PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcblxyXG5Ub29sdGlwLmRpc3BsYXlOYW1lID0gJ1Rvb2x0aXAnO1xyXG5Ub29sdGlwLnByb3BUeXBlcyA9IHByb3BUeXBlcztcclxuVG9vbHRpcC5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBUb29sdGlwO1xyXG4iXX0=