UNPKG

skycons-component

Version:

Easy to use component with support for skycons weather icons

63 lines (45 loc) 1.99 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.Skycons = undefined; var _react = require('react'); var React = _interopRequireWildcard(_react); var _reactDom = require('react-dom'); var ReactDOM = _interopRequireWildcard(_reactDom); var _skycons = require('skycons'); var _skycons2 = _interopRequireDefault(_skycons); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _recompose = require('recompose'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } var _Skycons = (0, _skycons2.default)(window); var enhance = (0, _recompose.compose)((0, _recompose.defaultProps)({ defaultColor: 'black', animate: true, icon: '' }), (0, _recompose.setPropTypes)({ animate: _propTypes2.default.bool, icon: _propTypes2.default.oneOf(['clear-day', 'clear-night', 'partly-cloudy-day', 'partly-cloudy-night', 'cloudy', 'rain', 'sleet', 'wind', 'fog']).isRequired, style: _propTypes2.default.object }), (0, _recompose.lifecycle)({ componentDidMount: function componentDidMount() { var _props = this.props, iconColor = _props.iconColor, defaultColor = _props.defaultColor, icon = _props.icon, animate = _props.animate; var skycons = new _Skycons({ color: iconColor || defaultColor }); skycons.add(ReactDOM.findDOMNode(this), icon); // Starting animation if animate is set to true animate && skycons.play(); } })); var StatelessSkycons = function StatelessSkycons(_ref) { var style = _ref.style; return React.createElement('canvas', style); }; var Skycons = exports.Skycons = enhance(StatelessSkycons);