kitten-components
Version:
Front-end components library
185 lines (150 loc) • 6.49 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.CounterBlock = undefined;
var _counterText;
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _radium = require('radium');
var _radium2 = _interopRequireDefault(_radium);
var _title = require('kitten/components/typography/title');
var _text = require('kitten/components/typography/text');
var _marger = require('kitten/components/layout/marger');
var _horizontalStroke = require('kitten/components/layout/horizontal-stroke');
var _screenConfig = require('kitten/constants/screen-config');
var _mediaQueries = require('kitten/hoc/media-queries');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { 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) : subClass.__proto__ = superClass; }
var Text = (0, _radium2.default)(_text.Text);
var Title = (0, _radium2.default)(_title.Title);
var CounterBlockBase = function (_Component) {
_inherits(CounterBlockBase, _Component);
function CounterBlockBase() {
_classCallCheck(this, CounterBlockBase);
return _possibleConstructorReturn(this, (CounterBlockBase.__proto__ || Object.getPrototypeOf(CounterBlockBase)).apply(this, arguments));
}
_createClass(CounterBlockBase, [{
key: 'render',
value: function render() {
var _props = this.props,
title = _props.title,
titleTag = _props.titleTag,
subTitle = _props.subTitle,
subTitleTag = _props.subTitleTag,
counter = _props.counter,
viewportIsMobile = _props.viewportIsMobile;
var titleSize = viewportIsMobile ? 'quinary' : 'tertiary';
var subTitleSize = viewportIsMobile ? 'tiny' : 'huge';
var margin = viewportIsMobile ? 2 : 4;
return _react2.default.createElement(
_radium.StyleRoot,
{ style: styles.counterBlock },
_react2.default.createElement(
_marger.Marger,
{ bottom: margin },
_react2.default.createElement(
Title,
{ modifier: titleSize, margin: false, tag: titleTag },
title
)
),
_react2.default.createElement(
'div',
{ style: styles.flexGrid },
_react2.default.createElement(
'div',
{ style: styles.strokeContainer, className: 'k-u-hidden@m-down' },
_react2.default.createElement(_horizontalStroke.HorizontalStroke, { style: styles.stroke, size: 'big' })
),
_react2.default.createElement(
Text,
{
style: styles.counterText,
fontStyle: 'italic',
weight: 'bold',
tag: titleTag
},
counter
),
_react2.default.createElement(
'div',
{ style: styles.strokeContainer, className: 'k-u-hidden@m-down' },
_react2.default.createElement(_horizontalStroke.HorizontalStroke, { style: styles.stroke, size: 'big' })
)
),
_react2.default.createElement(
_marger.Marger,
{ top: margin },
_react2.default.createElement(
Text,
_defineProperty({
style: styles.subTitle,
size: subTitleSize,
tag: subTitleTag,
fontStyle: 'italic',
weight: 'bold'
}, 'tag', 'p'),
subTitle
)
)
);
}
}]);
return CounterBlockBase;
}(_react.Component);
CounterBlockBase.defaultProps = {
title: null,
titleTag: 'p',
subTitle: null,
subTitleTag: 'p',
counter: '0'
};
var styles = {
counterBlock: {
textAlign: 'center'
},
flexGrid: {
display: 'flex',
justifyContent: 'center',
alignItems: 'center'
},
stroke: {
width: '100%',
height: 6
},
strokeContainer: {
flexGrow: 2
},
counterText: (_counterText = {
fontSize: '3rem',
lineHeight: 0.7,
whiteSpace: 'nowrap',
display: 'block',
paddingBottom: 4,
margin: 0,
flexGrow: 1,
textIndent: '-1.5rem'
}, _defineProperty(_counterText, '@media (min-width: ' + _screenConfig.ScreenConfig.XS.min + 'px)', {
fontSize: '4.125rem'
}), _defineProperty(_counterText, '@media (min-width: ' + _screenConfig.ScreenConfig.S.min + 'px)', {
fontSize: '6rem',
paddingBottom: 6
}), _defineProperty(_counterText, '@media (min-width: ' + _screenConfig.ScreenConfig.M.min + 'px)', {
fontSize: '7.3rem',
paddingBottom: 7
}), _defineProperty(_counterText, '@media (min-width: ' + _screenConfig.ScreenConfig.L.min + 'px)', {
fontSize: '9.9rem',
paddingBottom: 10
}), _counterText),
subTitle: {
margin: 0
}
};
var CounterBlock = exports.CounterBlock = (0, _mediaQueries.withMediaQueries)({
viewportIsMobile: true
})(CounterBlockBase);