UNPKG

react-hold

Version:

Hold the empty presentational components in react.js

59 lines (53 loc) 1.51 kB
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; import React from 'react'; import PropTypes from 'prop-types'; import shapes from '../shapes'; var $nbsp = '\xA0'; var Text = function Text(_ref) { var color = _ref.color, width = _ref.width, height = _ref.height, length = _ref.length, lineHeight = _ref.lineHeight, fontSize = _ref.fontSize, fillerStyle = _ref.fillerStyle; return React.createElement( 'div', { style: { background: 'transparent', overflow: 'hidden', width: width, height: height, lineHeight: lineHeight, fontSize: fontSize } }, React.createElement( 'span', { style: _extends({ background: color }, fillerStyle, { wordBreak: 'break-word', wordWrap: 'break-word' }) }, ('' + $nbsp.repeat(2)).repeat(length) ) ); }; Text.propTypes = _extends({}, shapes, { length: PropTypes.number, lineHeight: PropTypes.oneOfType([PropTypes.number, PropTypes.string]), fontSize: PropTypes.oneOfType([PropTypes.number, PropTypes.string]) }); Text.defaultProps = { width: null, height: null, length: 100, lineHeight: 2.3, fontSize: '0.7em', fillerStyle: null }; export default Text;