@kiwicom/orbit-components
Version:
<div align="center"> <a href="https://orbit.kiwi" target="_blank"> <img alt="orbit-components" src="https://orbit.kiwi/wp-content/uploads/2018/08/orbit-components.png" srcset="https://orbit.kiwi/wp-content/uploads/2018/08/orbit-components@2x.png 2x"
137 lines (110 loc) • 5.47 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require("react");
var React = _interopRequireWildcard(_react);
var _styledComponents = require("styled-components");
var _styledComponents2 = _interopRequireDefault(_styledComponents);
var _defaultTokens = require("../defaultTokens");
var _defaultTokens2 = _interopRequireDefault(_defaultTokens);
var _consts = require("./consts");
var _getSpacingToken = require("../common/getSpacingToken");
var _getSpacingToken2 = _interopRequireDefault(_getSpacingToken);
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; } }
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; }
var getTypeToken = function getTypeToken() {
return function (_ref) {
var _typeTokens;
var theme = _ref.theme,
type = _ref.type;
var typeTokens = (_typeTokens = {}, _defineProperty(_typeTokens, _consts.TYPE_OPTIONS.PRIMARY, theme.orbit.colorTextPrimary), _defineProperty(_typeTokens, _consts.TYPE_OPTIONS.SECONDARY, theme.orbit.colorTextSecondary), _defineProperty(_typeTokens, _consts.TYPE_OPTIONS.ATTENTION, theme.orbit.colorTextAttention), _defineProperty(_typeTokens, _consts.TYPE_OPTIONS.INFO, theme.orbit.colorTextInfo), _defineProperty(_typeTokens, _consts.TYPE_OPTIONS.SUCCESS, theme.orbit.colorTextSuccess), _defineProperty(_typeTokens, _consts.TYPE_OPTIONS.WARNING, theme.orbit.colorTextWarning), _defineProperty(_typeTokens, _consts.TYPE_OPTIONS.CRITICAL, theme.orbit.colorTextCritical), _defineProperty(_typeTokens, _consts.TYPE_OPTIONS.WHITE, theme.orbit.colorTextWhite), _typeTokens);
return typeTokens[type];
};
};
var getWeightToken = function getWeightToken() {
return function (_ref2) {
var _weightTokens;
var theme = _ref2.theme,
weight = _ref2.weight;
var weightTokens = (_weightTokens = {}, _defineProperty(_weightTokens, _consts.WEIGHT_OPTIONS.NORMAL, theme.orbit.fontWeightNormal), _defineProperty(_weightTokens, _consts.WEIGHT_OPTIONS.BOLD, theme.orbit.fontWeightBold), _weightTokens);
return weightTokens[weight];
};
};
var getSizeToken = function getSizeToken() {
return function (_ref3) {
var _sizeTokens;
var theme = _ref3.theme,
size = _ref3.size;
var sizeTokens = (_sizeTokens = {}, _defineProperty(_sizeTokens, _consts.SIZE_OPTIONS.LARGE, theme.orbit.fontSizeTextLarge), _defineProperty(_sizeTokens, _consts.SIZE_OPTIONS.NORMAL, theme.orbit.fontSizeTextNormal), _defineProperty(_sizeTokens, _consts.SIZE_OPTIONS.SMALL, theme.orbit.fontSizeTextSmall), _sizeTokens);
return sizeTokens[size];
};
};
var StyledText = (0, _styledComponents2.default)(function (_ref4) {
var element = _ref4.element,
children = _ref4.children,
className = _ref4.className,
dataTest = _ref4.dataTest;
var TextElement = element;
return React.createElement(
TextElement,
{ className: className, "data-test": dataTest },
children
);
}).withConfig({
displayName: "Text__StyledText"
})(["font-family:", ";font-size:", ";font-weight:", ";color:", ";line-height:", ";text-align:", ";text-transform:", ";font-style:", ";margin:0;margin-bottom:", ";"], function (_ref5) {
var theme = _ref5.theme;
return theme.orbit.fontFamily;
}, getSizeToken(), getWeightToken(), getTypeToken(), function (_ref6) {
var theme = _ref6.theme;
return theme.orbit.lineHeightText;
}, function (_ref7) {
var align = _ref7.align;
return align;
}, function (_ref8) {
var uppercase = _ref8.uppercase;
return uppercase && "uppercase";
}, function (_ref9) {
var italic = _ref9.italic;
return italic && "italic";
}, _getSpacingToken2.default);
StyledText.defaultProps = {
theme: _defaultTokens2.default
};
var Text = function Text(_ref10) {
var _ref10$type = _ref10.type,
type = _ref10$type === undefined ? _consts.TYPE_OPTIONS.PRIMARY : _ref10$type,
_ref10$size = _ref10.size,
size = _ref10$size === undefined ? _consts.SIZE_OPTIONS.NORMAL : _ref10$size,
_ref10$weight = _ref10.weight,
weight = _ref10$weight === undefined ? _consts.WEIGHT_OPTIONS.NORMAL : _ref10$weight,
_ref10$align = _ref10.align,
align = _ref10$align === undefined ? _consts.ALIGN_OPTIONS.LEFT : _ref10$align,
_ref10$element = _ref10.element,
element = _ref10$element === undefined ? _consts.ELEMENT_OPTIONS.P : _ref10$element,
_ref10$uppercase = _ref10.uppercase,
uppercase = _ref10$uppercase === undefined ? false : _ref10$uppercase,
_ref10$italic = _ref10.italic,
italic = _ref10$italic === undefined ? false : _ref10$italic,
dataTest = _ref10.dataTest,
spaceAfter = _ref10.spaceAfter,
children = _ref10.children;
return React.createElement(
StyledText,
{
type: type,
size: size,
weight: weight,
align: align,
element: element,
uppercase: uppercase,
italic: italic,
dataTest: dataTest,
spaceAfter: spaceAfter
},
children
);
};
exports.default = Text;