focus-components-v3
Version:
Focus web components to build applications (based on Material Design)
108 lines (78 loc) • 7.93 kB
JavaScript
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=
;