UNPKG

modo-mobile

Version:

A mobile UI toolkit, based on React

70 lines (51 loc) 2.75 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _react = require('react'); var React = _interopRequireWildcard(_react); 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; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var CarouselCircle = function (_React$PureComponent) { (0, _inherits3['default'])(CarouselCircle, _React$PureComponent); function CarouselCircle() { (0, _classCallCheck3['default'])(this, CarouselCircle); return (0, _possibleConstructorReturn3['default'])(this, (CarouselCircle.__proto__ || Object.getPrototypeOf(CarouselCircle)).apply(this, arguments)); } (0, _createClass3['default'])(CarouselCircle, [{ key: 'render', value: function render() { var _props = this.props, size = _props.size, index = _props.index, animateValues = _props.animateValues; var cx = index * size * 1.5 + size / 2; var opacityValues = animateValues.join(';'); var sizeValues = animateValues.map(function (val) { return val * size / 2; }).join(';'); return React.createElement( 'circle', { cx: cx, cy: size / 2, r: size / 2 }, React.createElement('animate', { attributeName: 'fill-opacity', calcMode: 'linear', repeatCount: 'indefinite', attributeType: 'XML', begin: '0s', dur: '1s', values: opacityValues }), React.createElement('animate', { attributeName: 'r', calcMode: 'linear', repeatCount: 'indefinite', attributeType: 'XML', begin: '0s', dur: '1s', values: sizeValues }) ); } }]); return CarouselCircle; }(React.PureComponent); exports['default'] = CarouselCircle; CarouselCircle.defaultProps = { index: 0, size: 16, animateValues: [] }; module.exports = exports['default'];