UNPKG

focus-components-v3

Version:

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

112 lines (81 loc) 10.2 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _dec, _class; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _reactDom = require('react-dom'); var _reactDom2 = _interopRequireDefault(_reactDom); var _i18next = require('i18next'); var _i18next2 = _interopRequireDefault(_i18next); var _material = require('../behaviours/material'); var _material2 = _interopRequireDefault(_material); var _inputComponent = require('../behaviours/input-component'); 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); } var InputCheckBox = (_dec = (0, _material2.default)('mdlHolder'), _dec(_class = (0, _inputComponent.InputBehaviour)(_class = function (_PureComponent) { _inherits(InputCheckBox, _PureComponent); function InputCheckBox(props) { _classCallCheck(this, InputCheckBox); var _this = _possibleConstructorReturn(this, _PureComponent.call(this, props)); _this.getValue = function () { var domElement = _reactDom2.default.findDOMNode(_this.refs.checkbox); return domElement.checked; }; _this._handleonChange = _this._handleonChange.bind(_this); return _this; } InputCheckBox.prototype.componentDidUpdate = function componentDidUpdate() { var rawInputValue = this.props.rawInputValue; var method = rawInputValue ? 'add' : 'remove'; var node = _reactDom2.default.findDOMNode(this.refs.mdlHolder); if (node) { node.classList[method]('is-checked'); } }; InputCheckBox.prototype._handleonChange = function _handleonChange(_ref) { var checked = _ref.target.checked; var onChange = this.props.onChange; onChange(checked); }; InputCheckBox.prototype.render = function render() { var validInputProps = this._checkProps(this.props); var _props = this.props, label = _props.label, rawInputValue = _props.rawInputValue; return _react2.default.createElement( 'div', { 'data-focus': 'input-checkbox-container' }, _react2.default.createElement( 'label', { className: 'mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect', 'data-focus': 'input-checkbox', ref: 'mdlHolder' }, _react2.default.createElement('input', _extends({ checked: rawInputValue, className: 'mdl-checkbox__input', ref: 'checkbox', type: 'checkbox' }, validInputProps)), label && _react2.default.createElement( 'span', { className: 'mdl-checkbox__label' }, _i18next2.default.t(label) ) ) ); }; return InputCheckBox; }(_react.PureComponent)) || _class) || _class); InputCheckBox.displayName = 'InputCheckBox'; InputCheckBox.propTypes = { label: _react.PropTypes.string, disabled: _react.PropTypes.bool, onChange: _react.PropTypes.func.isRequired, rawInputValue: _react.PropTypes.bool.isRequired }; InputCheckBox.defaultProps = { rawInputValue: false, disabled: false }; exports.default = InputCheckBox; module.exports = exports['default']; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZyLUZSLmpzIl0sIm5hbWVzIjpbIklucHV0Q2hlY2tCb3giLCJwcm9wcyIsImdldFZhbHVlIiwiZG9tRWxlbWVudCIsImZpbmRET01Ob2RlIiwicmVmcyIsImNoZWNrYm94IiwiY2hlY2tlZCIsIl9oYW5kbGVvbkNoYW5nZSIsImJpbmQiLCJjb21wb25lbnREaWRVcGRhdGUiLCJyYXdJbnB1dFZhbHVlIiwibWV0aG9kIiwibm9kZSIsIm1kbEhvbGRlciIsImNsYXNzTGlzdCIsInRhcmdldCIsIm9uQ2hhbmdlIiwicmVuZGVyIiwidmFsaWRJbnB1dFByb3BzIiwiX2NoZWNrUHJvcHMiLCJsYWJlbCIsInQiLCJkaXNwbGF5TmFtZSIsInByb3BUeXBlcyIsInN0cmluZyIsImRpc2FibGVkIiwiYm9vbCIsImZ1bmMiLCJpc1JlcXVpcmVkIiwiZGVmYXVsdFByb3BzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7Ozs7Ozs7O0lBS01BLGEsV0FGTCx3QkFBUyxXQUFULEM7Y0FFS0EsYTs7QUFDRixhQURFQSxhQUNGLENBQVlDLEtBQVosRUFBbUI7QUFBQSw4QkFEakJELGFBQ2lCOztBQUFBLHFEQUNmLDBCQUFNQyxLQUFOLENBRGU7O0FBQUEsY0FLbkJDLFFBTG1CLEdBS1IsWUFBTTtBQUNiLGdCQUFNQyxhQUFhLG1CQUFTQyxXQUFULENBQXFCLE1BQUtDLElBQUwsQ0FBVUMsUUFBL0IsQ0FBbkI7QUFDQSxtQkFBT0gsV0FBV0ksT0FBbEI7QUFDSCxTQVJrQjs7QUFFZixjQUFLQyxlQUFMLEdBQXVCLE1BQUtBLGVBQUwsQ0FBcUJDLElBQXJCLE9BQXZCO0FBRmU7QUFHbEI7O0FBSkNULGlCLFdBV0ZVLGtCLGlDQUFxQjtBQUFBLFlBQ1ZDLGFBRFUsR0FDTyxLQUFLVixLQURaLENBQ1ZVLGFBRFU7O0FBRWpCLFlBQU1DLFNBQVNELGdCQUFnQixLQUFoQixHQUF3QixRQUF2QztBQUNBLFlBQU1FLE9BQU8sbUJBQVNULFdBQVQsQ0FBcUIsS0FBS0MsSUFBTCxDQUFVUyxTQUEvQixDQUFiO0FBQ0EsWUFBSUQsSUFBSixFQUFVO0FBQ05BLGlCQUFLRSxTQUFMLENBQWVILE1BQWYsRUFBdUIsWUFBdkI7QUFDSDtBQUNKLEs7O0FBbEJDWixpQixXQW9CRlEsZSxrQ0FBcUM7QUFBQSxZQUFYRCxPQUFXLFFBQXBCUyxNQUFvQixDQUFYVCxPQUFXO0FBQUEsWUFDMUJVLFFBRDBCLEdBQ2QsS0FBS2hCLEtBRFMsQ0FDMUJnQixRQUQwQjs7QUFFakNBLGlCQUFTVixPQUFUO0FBQ0gsSzs7QUF2QkNQLGlCLFdBeUJGa0IsTSxxQkFBUztBQUNMLFlBQU1DLGtCQUFrQixLQUFLQyxXQUFMLENBQWlCLEtBQUtuQixLQUF0QixDQUF4QjtBQURLLHFCQUUwQixLQUFLQSxLQUYvQjtBQUFBLFlBRUVvQixLQUZGLFVBRUVBLEtBRkY7QUFBQSxZQUVTVixhQUZULFVBRVNBLGFBRlQ7O0FBR0wsZUFDRTtBQUFBO0FBQUEsY0FBSyxjQUFXLDBCQUFoQjtBQUNFO0FBQUE7QUFBQSxrQkFBTyxXQUFXLG1EQUFsQixFQUF1RSxjQUFXLGdCQUFsRixFQUFtRyxLQUFJLFdBQXZHO0FBQ0ksa0VBQU8sU0FBU0EsYUFBaEIsRUFBK0IsV0FBVSxxQkFBekMsRUFBK0QsS0FBSSxVQUFuRSxFQUE4RSxNQUFLLFVBQW5GLElBQWtHUSxlQUFsRyxFQURKO0FBRUtFLHlCQUFTO0FBQUE7QUFBQSxzQkFBTSxXQUFVLHFCQUFoQjtBQUF1QyxzQ0FBUUMsQ0FBUixDQUFVRCxLQUFWO0FBQXZDO0FBRmQ7QUFERixTQURGO0FBUUgsSzs7V0FwQ0NyQixhOzs7O0FBd0NOQSxjQUFjdUIsV0FBZCxHQUE0QixlQUE1QjtBQUNBdkIsY0FBY3dCLFNBQWQsR0FBMEI7QUFDdEJILFdBQU8saUJBQVVJLE1BREs7QUFFdEJDLGNBQVUsaUJBQVVDLElBRkU7QUFHdEJWLGNBQVUsaUJBQVVXLElBQVYsQ0FBZUMsVUFISDtBQUl0QmxCLG1CQUFlLGlCQUFVZ0IsSUFBVixDQUFlRTtBQUpSLENBQTFCO0FBTUE3QixjQUFjOEIsWUFBZCxHQUE2QjtBQUN6Qm5CLG1CQUFlLEtBRFU7QUFFekJlLGNBQVU7QUFGZSxDQUE3QjtrQkFJZTFCLGEiLCJmaWxlIjoiZnItRlIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtQcm9wVHlwZXMsIFB1cmVDb21wb25lbnR9IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XHJcbmltcG9ydCBpMThuZXh0IGZyb20gJ2kxOG5leHQnO1xyXG5pbXBvcnQgTWF0ZXJpYWwgZnJvbSAnLi4vYmVoYXZpb3Vycy9tYXRlcmlhbCc7XHJcbmltcG9ydCB7SW5wdXRCZWhhdmlvdXJ9IGZyb20gJy4uL2JlaGF2aW91cnMvaW5wdXQtY29tcG9uZW50JztcclxuXHJcblxyXG5ATWF0ZXJpYWwoJ21kbEhvbGRlcicpXHJcbkBJbnB1dEJlaGF2aW91clxyXG5jbGFzcyBJbnB1dENoZWNrQm94IGV4dGVuZHMgUHVyZUNvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuICAgICAgICB0aGlzLl9oYW5kbGVvbkNoYW5nZSA9IHRoaXMuX2hhbmRsZW9uQ2hhbmdlLmJpbmQodGhpcyk7XHJcbiAgICB9O1xyXG5cclxuICAgIGdldFZhbHVlID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGRvbUVsZW1lbnQgPSBSZWFjdERPTS5maW5kRE9NTm9kZSh0aGlzLnJlZnMuY2hlY2tib3gpO1xyXG4gICAgICAgIHJldHVybiBkb21FbGVtZW50LmNoZWNrZWQ7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcclxuICAgICAgICBjb25zdCB7cmF3SW5wdXRWYWx1ZX0gPSB0aGlzLnByb3BzO1xyXG4gICAgICAgIGNvbnN0IG1ldGhvZCA9IHJhd0lucHV0VmFsdWUgPyAnYWRkJyA6ICdyZW1vdmUnO1xyXG4gICAgICAgIGNvbnN0IG5vZGUgPSBSZWFjdERPTS5maW5kRE9NTm9kZSh0aGlzLnJlZnMubWRsSG9sZGVyKTtcclxuICAgICAgICBpZiAobm9kZSkge1xyXG4gICAgICAgICAgICBub2RlLmNsYXNzTGlzdFttZXRob2RdKCdpcy1jaGVja2VkJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBfaGFuZGxlb25DaGFuZ2Uoe3RhcmdldDoge2NoZWNrZWR9fSkge1xyXG4gICAgICAgIGNvbnN0IHtvbkNoYW5nZX0gPSB0aGlzLnByb3BzO1xyXG4gICAgICAgIG9uQ2hhbmdlKGNoZWNrZWQpO1xyXG4gICAgfTtcclxuXHJcbiAgICByZW5kZXIoKSB7XHJcbiAgICAgICAgY29uc3QgdmFsaWRJbnB1dFByb3BzID0gdGhpcy5fY2hlY2tQcm9wcyh0aGlzLnByb3BzKTtcclxuICAgICAgICBjb25zdCB7bGFiZWwsIHJhd0lucHV0VmFsdWV9ID0gdGhpcy5wcm9wcztcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPGRpdiBkYXRhLWZvY3VzPSdpbnB1dC1jaGVja2JveC1jb250YWluZXInPlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPXsnbWRsLWNoZWNrYm94IG1kbC1qcy1jaGVja2JveCBtZGwtanMtcmlwcGxlLWVmZmVjdCd9IGRhdGEtZm9jdXM9J2lucHV0LWNoZWNrYm94JyByZWY9J21kbEhvbGRlcic+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgY2hlY2tlZD17cmF3SW5wdXRWYWx1ZX0gY2xhc3NOYW1lPSdtZGwtY2hlY2tib3hfX2lucHV0JyByZWY9J2NoZWNrYm94JyB0eXBlPSdjaGVja2JveCcgey4uLnZhbGlkSW5wdXRQcm9wc30vPlxyXG4gICAgICAgICAgICAgICAge2xhYmVsICYmIDxzcGFuIGNsYXNzTmFtZT0nbWRsLWNoZWNrYm94X19sYWJlbCc+e2kxOG5leHQudChsYWJlbCl9PC9zcGFuPn1cclxuICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICB9O1xyXG59XHJcblxyXG5cclxuSW5wdXRDaGVja0JveC5kaXNwbGF5TmFtZSA9ICdJbnB1dENoZWNrQm94JztcclxuSW5wdXRDaGVja0JveC5wcm9wVHlwZXMgPSB7XHJcbiAgICBsYWJlbDogUHJvcFR5cGVzLnN0cmluZyxcclxuICAgIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcclxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxyXG4gICAgcmF3SW5wdXRWYWx1ZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZFxyXG59O1xyXG5JbnB1dENoZWNrQm94LmRlZmF1bHRQcm9wcyA9IHtcclxuICAgIHJhd0lucHV0VmFsdWU6IGZhbHNlLFxyXG4gICAgZGlzYWJsZWQ6IGZhbHNlXHJcbn07XHJcbmV4cG9ydCBkZWZhdWx0IElucHV0Q2hlY2tCb3g7XHJcbiJdfQ==