UNPKG

focus-components-v3

Version:

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

75 lines (57 loc) 8.03 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _reactDom = require('react-dom'); var _reactDom2 = _interopRequireDefault(_reactDom); require('material-design-lite/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); } var Material = function Material(ref, jsClass, watchedProp) { return function (Component) { return function (_Component) { _inherits(MaterialComponent, _Component); function MaterialComponent() { _classCallCheck(this, MaterialComponent); return _possibleConstructorReturn(this, _Component.apply(this, arguments)); } MaterialComponent.prototype.componentDidMount = function componentDidMount() { var refNode = _reactDom2.default.findDOMNode(this.refs[ref]); if (refNode) { componentHandler.upgradeElement(refNode, jsClass); } if (Component.prototype.componentDidMount) { Component.prototype.componentDidMount.call(this); } }; MaterialComponent.prototype.componentWillUnmount = function componentWillUnmount() { var refNode = _reactDom2.default.findDOMNode(this.refs[ref]); if (refNode) { componentHandler.downgradeElements(refNode, jsClass); } if (Component.prototype.componentWillUnmount) { Component.prototype.componentWillUnmount.call(this); } }; MaterialComponent.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) { watchedProp = watchedProp || 'error'; var newWatchedProp = nextProps[watchedProp]; if (newWatchedProp !== this.props[watchedProp]) { var refNode = _reactDom2.default.findDOMNode(this.refs[ref]); componentHandler.upgradeElement(refNode, jsClass); } if (Component.prototype.componentWillReceiveProps) { Component.prototype.componentWillReceiveProps.call(this, nextProps); } }; return MaterialComponent; }(Component); }; }; Material.componentHandler = componentHandler; exports.default = Material; module.exports = exports['default']; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZyLUZSLmpzIl0sIm5hbWVzIjpbIk1hdGVyaWFsIiwicmVmIiwianNDbGFzcyIsIndhdGNoZWRQcm9wIiwiTWF0ZXJpYWxDb21wb25lbnQiLCJjb21wb25lbnREaWRNb3VudCIsInJlZk5vZGUiLCJmaW5kRE9NTm9kZSIsInJlZnMiLCJjb21wb25lbnRIYW5kbGVyIiwidXBncmFkZUVsZW1lbnQiLCJDb21wb25lbnQiLCJwcm90b3R5cGUiLCJjYWxsIiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJkb3duZ3JhZGVFbGVtZW50cyIsImNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMiLCJuZXh0UHJvcHMiLCJuZXdXYXRjaGVkUHJvcCIsInByb3BzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7OztBQUNBOzs7Ozs7Ozs7Ozs7QUFFQSxJQUFNQSxXQUFXLFNBQVhBLFFBQVcsQ0FBQ0MsR0FBRCxFQUFNQyxPQUFOLEVBQWVDLFdBQWY7QUFBQSxXQUErQjtBQUFBO0FBQUEsc0JBQW1CQyxpQkFBbkI7O0FBQUEscUJBQW1CQSxpQkFBbkI7QUFBQSxzQ0FBbUJBLGlCQUFuQjs7QUFBQTtBQUFBOztBQUFtQkEsNkJBQW5CLFdBQzVDQyxpQkFENEMsZ0NBQ3hCO0FBQ2hCLG9CQUFNQyxVQUFVLG1CQUFTQyxXQUFULENBQXFCLEtBQUtDLElBQUwsQ0FBVVAsR0FBVixDQUFyQixDQUFoQjtBQUNBLG9CQUFJSyxPQUFKLEVBQWE7QUFDVEcscUNBQWlCQyxjQUFqQixDQUFnQ0osT0FBaEMsRUFBeUNKLE9BQXpDO0FBQ0g7QUFDRCxvQkFBSVMsVUFBVUMsU0FBVixDQUFvQlAsaUJBQXhCLEVBQTJDO0FBQ3ZDTSw4QkFBVUMsU0FBVixDQUFvQlAsaUJBQXBCLENBQXNDUSxJQUF0QyxDQUEyQyxJQUEzQztBQUNIO0FBQ0osYUFUMkM7O0FBQW1CVCw2QkFBbkIsV0FXNUNVLG9CQVg0QyxtQ0FXckI7QUFDbkIsb0JBQU1SLFVBQVUsbUJBQVNDLFdBQVQsQ0FBcUIsS0FBS0MsSUFBTCxDQUFVUCxHQUFWLENBQXJCLENBQWhCO0FBQ0Esb0JBQUlLLE9BQUosRUFBYTtBQUNURyxxQ0FBaUJNLGlCQUFqQixDQUFtQ1QsT0FBbkMsRUFBNENKLE9BQTVDO0FBQ0g7QUFDRCxvQkFBSVMsVUFBVUMsU0FBVixDQUFvQkUsb0JBQXhCLEVBQThDO0FBQzFDSCw4QkFBVUMsU0FBVixDQUFvQkUsb0JBQXBCLENBQXlDRCxJQUF6QyxDQUE4QyxJQUE5QztBQUNIO0FBQ0osYUFuQjJDOztBQUFtQlQsNkJBQW5CLFdBcUI1Q1kseUJBckI0QyxzQ0FxQmxCQyxTQXJCa0IsRUFxQlA7QUFDakNkLDhCQUFjQSxlQUFlLE9BQTdCO0FBQ0Esb0JBQU1lLGlCQUFpQkQsVUFBVWQsV0FBVixDQUF2QjtBQUNBLG9CQUFJZSxtQkFBbUIsS0FBS0MsS0FBTCxDQUFXaEIsV0FBWCxDQUF2QixFQUFnRDtBQUM1Qyx3QkFBTUcsVUFBVSxtQkFBU0MsV0FBVCxDQUFxQixLQUFLQyxJQUFMLENBQVVQLEdBQVYsQ0FBckIsQ0FBaEI7QUFDQVEscUNBQWlCQyxjQUFqQixDQUFnQ0osT0FBaEMsRUFBeUNKLE9BQXpDO0FBQ0g7QUFDRCxvQkFBSVMsVUFBVUMsU0FBVixDQUFvQkkseUJBQXhCLEVBQW1EO0FBQy9DTCw4QkFBVUMsU0FBVixDQUFvQkkseUJBQXBCLENBQThDSCxJQUE5QyxDQUFtRCxJQUFuRCxFQUF5REksU0FBekQ7QUFDSDtBQUNKLGFBL0IyQzs7QUFBQSxtQkFBbUJiLGlCQUFuQjtBQUFBLFVBQTZDTyxTQUE3QztBQUFBLEtBQS9CO0FBQUEsQ0FBakI7O0FBa0NBWCxTQUFTUyxnQkFBVCxHQUE0QkEsZ0JBQTVCOztrQkFFZVQsUSIsImZpbGUiOiJmci1GUi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xyXG5pbXBvcnQgJ21hdGVyaWFsLWRlc2lnbi1saXRlL21hdGVyaWFsJztcclxuXHJcbmNvbnN0IE1hdGVyaWFsID0gKHJlZiwganNDbGFzcywgd2F0Y2hlZFByb3ApID0+IENvbXBvbmVudCA9PiBjbGFzcyBNYXRlcmlhbENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudCB7XHJcbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgICAgICBjb25zdCByZWZOb2RlID0gUmVhY3RET00uZmluZERPTU5vZGUodGhpcy5yZWZzW3JlZl0pO1xyXG4gICAgICAgIGlmIChyZWZOb2RlKSB7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudEhhbmRsZXIudXBncmFkZUVsZW1lbnQocmVmTm9kZSwganNDbGFzcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChDb21wb25lbnQucHJvdG90eXBlLmNvbXBvbmVudERpZE1vdW50KSB7XHJcbiAgICAgICAgICAgIENvbXBvbmVudC5wcm90b3R5cGUuY29tcG9uZW50RGlkTW91bnQuY2FsbCh0aGlzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XHJcbiAgICAgICAgY29uc3QgcmVmTm9kZSA9IFJlYWN0RE9NLmZpbmRET01Ob2RlKHRoaXMucmVmc1tyZWZdKTtcclxuICAgICAgICBpZiAocmVmTm9kZSkge1xyXG4gICAgICAgICAgICBjb21wb25lbnRIYW5kbGVyLmRvd25ncmFkZUVsZW1lbnRzKHJlZk5vZGUsIGpzQ2xhc3MpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoQ29tcG9uZW50LnByb3RvdHlwZS5jb21wb25lbnRXaWxsVW5tb3VudCkge1xyXG4gICAgICAgICAgICBDb21wb25lbnQucHJvdG90eXBlLmNvbXBvbmVudFdpbGxVbm1vdW50LmNhbGwodGhpcyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV4dFByb3BzKSB7XHJcbiAgICAgICAgd2F0Y2hlZFByb3AgPSB3YXRjaGVkUHJvcCB8fCAnZXJyb3InO1xyXG4gICAgICAgIGNvbnN0IG5ld1dhdGNoZWRQcm9wID0gbmV4dFByb3BzW3dhdGNoZWRQcm9wXTtcclxuICAgICAgICBpZiAobmV3V2F0Y2hlZFByb3AgIT09IHRoaXMucHJvcHNbd2F0Y2hlZFByb3BdKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlZk5vZGUgPSBSZWFjdERPTS5maW5kRE9NTm9kZSh0aGlzLnJlZnNbcmVmXSk7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudEhhbmRsZXIudXBncmFkZUVsZW1lbnQocmVmTm9kZSwganNDbGFzcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChDb21wb25lbnQucHJvdG90eXBlLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMpIHtcclxuICAgICAgICAgICAgQ29tcG9uZW50LnByb3RvdHlwZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzLmNhbGwodGhpcywgbmV4dFByb3BzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn07XHJcblxyXG5NYXRlcmlhbC5jb21wb25lbnRIYW5kbGVyID0gY29tcG9uZW50SGFuZGxlcjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IE1hdGVyaWFsO1xyXG4iXX0=