react-lorem-ipsum
Advanced tools
Comparing version
@@ -6,6 +6,18 @@ "use strict"; | ||
}); | ||
Object.defineProperty(exports, "LoremIpsum", { | ||
enumerable: true, | ||
get: function get() { | ||
return _loremIpsum.LoremIpsum; | ||
} | ||
}); | ||
Object.defineProperty(exports, "loremIpsum", { | ||
enumerable: true, | ||
get: function get() { | ||
return _loremIpsum.loremIpsum; | ||
} | ||
}); | ||
Object.defineProperty(exports, "Avatar", { | ||
enumerable: true, | ||
get: function get() { | ||
return _avatar["default"]; | ||
return _user.Avatar; | ||
} | ||
@@ -37,149 +49,9 @@ }); | ||
}); | ||
exports["default"] = exports.loremIpsum = exports.LoremIpsum = void 0; | ||
exports["default"] = void 0; | ||
var _react = _interopRequireDefault(require("react")); | ||
var _loremIpsum = require("./lorem-ipsum"); | ||
var _propTypes = _interopRequireDefault(require("prop-types")); | ||
var _avatar = _interopRequireDefault(require("./avatar")); | ||
var _user = require("./user"); | ||
var _utils = require("./utils"); | ||
var _words = _interopRequireDefault(require("./data/words.json")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } | ||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } | ||
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 _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } | ||
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } | ||
var defaultProps = { | ||
p: 1, | ||
avgWordsPerSentence: 8, | ||
avgSentencesPerParagraph: 8, | ||
startWithLoremIpsum: true | ||
}; | ||
var stDevPercentage = 0.25; | ||
var createWord = function createWord() { | ||
return _words["default"][(0, _utils.randomFromRange)(0, _words["default"].length - 1)]; | ||
}; | ||
var midPunctuation = function midPunctuation(sentenceLength) { | ||
var punctuations = [',', ';']; | ||
var punctuation; | ||
var position; | ||
if (sentenceLength > 6) { | ||
var hasPunctuation = !!(Math.random() <= 0.25); | ||
if (hasPunctuation) { | ||
position = (0, _utils.randomFromRange)(2, sentenceLength - 3); | ||
punctuation = punctuations[(0, _utils.randomFromRange)(0, punctuations.length - 1)]; | ||
} | ||
} | ||
return { | ||
punctuation: punctuation, | ||
position: position | ||
}; | ||
}; | ||
var endPunctuation = function endPunctuation() { | ||
var random = Math.random(); | ||
if (random > 0.99) return '!'; | ||
if (random > 0.95) return '?'; | ||
return '.'; | ||
}; | ||
var createSentence = function createSentence(_ref) { | ||
var withLoremIpsum = _ref.withLoremIpsum, | ||
avgWordsPerSentence = _ref.avgWordsPerSentence; | ||
if (withLoremIpsum) return 'Lorem ipsum odor amet, consectetuer adipiscing elit.'; | ||
var awps = (0, _utils.parseIntWithDefault)(avgWordsPerSentence, defaultProps.avgWordsPerSentence); | ||
var stDev = (0, _utils.getStandardDeviation)(awps, stDevPercentage); | ||
var sentenceLength = (0, _utils.randomPositiveFromRange)(awps - stDev, awps + stDev); | ||
var midPunc = midPunctuation(sentenceLength); | ||
var sentence = ''; | ||
for (var i = 0; i < sentenceLength; i += 1) { | ||
sentence += "".concat(createWord()).concat(midPunc.position === i ? midPunc.punctuation : '', " "); | ||
} | ||
sentence = "".concat(sentence.charAt(0).toUpperCase() + sentence.substr(1).trim()).concat(endPunctuation()); | ||
return sentence; | ||
}; | ||
var createParagraph = function createParagraph(_ref2) { | ||
var firstParagraph = _ref2.firstParagraph, | ||
avgWordsPerSentence = _ref2.avgWordsPerSentence, | ||
avgSentencesPerParagraph = _ref2.avgSentencesPerParagraph, | ||
startWithLoremIpsum = _ref2.startWithLoremIpsum; | ||
var aspp = (0, _utils.parseIntWithDefault)(avgSentencesPerParagraph, defaultProps.avgSentencesPerParagraph); | ||
var swli = typeof startWithLoremIpsum === 'boolean' ? startWithLoremIpsum : defaultProps.startWithLoremIpsum; | ||
var stDev = (0, _utils.getStandardDeviation)(aspp, stDevPercentage); | ||
var paragraphLength = (0, _utils.randomPositiveFromRange)(aspp - stDev, aspp + stDev); | ||
var paragraph = ''; | ||
for (var i = 0; i < paragraphLength; i += 1) { | ||
var withLoremIpsum = !!(i === 0 && firstParagraph && swli); | ||
paragraph += "".concat(createSentence({ | ||
withLoremIpsum: withLoremIpsum, | ||
avgWordsPerSentence: avgWordsPerSentence | ||
}), " "); | ||
} | ||
return paragraph.trim(); | ||
}; | ||
var loremIpsum = function loremIpsum() { | ||
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | ||
var p = props.p, | ||
otherProps = _objectWithoutProperties(props, ["p"]); | ||
var pCount = (0, _utils.parseIntWithDefault)(p, defaultProps.p); | ||
var paragraphs = []; | ||
for (var i = 0; i < pCount; i += 1) { | ||
paragraphs.push(createParagraph(_objectSpread({ | ||
firstParagraph: i === 0 | ||
}, otherProps))); | ||
} | ||
return paragraphs; | ||
}; | ||
exports.loremIpsum = loremIpsum; | ||
var LoremIpsum = function LoremIpsum(props) { | ||
var paragraphs = loremIpsum(props); | ||
var html = paragraphs.map(function (paragraph) { | ||
return _react["default"].createElement("p", { | ||
key: paragraph | ||
}, paragraph); | ||
}); | ||
return html; | ||
}; | ||
exports.LoremIpsum = LoremIpsum; | ||
LoremIpsum.propTypes = { | ||
p: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]), | ||
avgWordsPerSentence: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]), | ||
avgSentencesPerParagraph: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]), | ||
startWithLoremIpsum: _propTypes["default"].bool | ||
}; | ||
LoremIpsum.defaultProps = { | ||
p: defaultProps.p, | ||
avgWordsPerSentence: defaultProps.avgWordsPerSentence, | ||
avgSentencesPerParagraph: defaultProps.avgSentencesPerParagraph, | ||
startWithLoremIpsum: defaultProps.startWithLoremIpsum | ||
}; | ||
var _default = LoremIpsum; | ||
var _default = _loremIpsum.LoremIpsum; | ||
exports["default"] = _default; |
@@ -6,4 +6,12 @@ "use strict"; | ||
}); | ||
Object.defineProperty(exports, "Avatar", { | ||
enumerable: true, | ||
get: function get() { | ||
return _avatar["default"]; | ||
} | ||
}); | ||
exports.username = exports.fullname = exports.surname = exports.name = void 0; | ||
var _avatar = _interopRequireDefault(require("./avatar")); | ||
var _utils = require("../utils"); | ||
@@ -10,0 +18,0 @@ |
{ | ||
"name": "react-lorem-ipsum", | ||
"version": "1.4.1", | ||
"version": "1.4.2", | ||
"description": "React Component for Creating Lorem Ipsum Text as Placeholder", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
@@ -12,11 +12,9 @@ # React Lorem Ipsum | ||
[![NPM version][npm-image]][npm-url] | ||
[![npm download][download-image]][download-url] | ||
[![npm size][size-image]][size-url] | ||
[![NPM download][download-image]][npm-url] | ||
[![Build][build-image]][npm-url] | ||
[npm-image]: https://img.shields.io/npm/v/react-lorem-ipsum.svg?style=flat-square | ||
[download-image]: https://img.shields.io/npm/dm/react-lorem-ipsum.svg?style=flat-square | ||
[build-image]: https://img.shields.io/travis/fatihtelis/react-lorem-ipsum.svg?style=flat-square | ||
[npm-url]: https://npmjs.org/package/react-lorem-ipsum | ||
[download-image]: https://img.shields.io/npm/dm/react-lorem-ipsum.svg?style=flat-square | ||
[download-url]: https://npmjs.org/package/react-lorem-ipsum | ||
[size-image]: https://img.shields.io/bundlephobia/min/react-lorem-ipsum.svg | ||
[size-url]: https://npmjs.org/package/react-lorem-ipsum | ||
@@ -82,10 +80,7 @@ **Table of Contents** | ||
| Name | Type | Default | Description | | ||
| --------- | ------ | ------- | ------------------------------------------------------------------------------------------ | | ||
| gender | string | 'all' | Gender for the Avatar picture. Possible values are **'all'**, **'male'** and **'female'**. | | ||
| width | number | 200 | Width of the Avatar image in pixels | | ||
| height | number | 200 | Height of the Avatar image in pixels | | ||
| className | string | '' | Avatar image className | | ||
| Name | Type | Default | Description | | ||
| ------ | ------ | ------- | ------------------------------------------------------------------------------------------ | | ||
| gender | string | 'all' | Gender for the Avatar picture. Possible values are **'all'**, **'male'** and **'female'**. | | ||
_Note:_ Avatar component returns an `<img />` tag with a random image. | ||
_Note:_ Avatar component returns an `<img />` tag with a random image. All other props like "className, width, height, alt" etc. will directly passed to <img /> element. | ||
@@ -220,3 +215,4 @@ #### name, fullname (Functions) | ||
<div className="user"> | ||
<Avatar className="avatar" gender="male" /> | ||
// All props will be directly transferred to img element | ||
<Avatar gender="male" className="avatar" width="200" height="200" alt="Avatar" /> | ||
<div className="name">{name('male')}</div> | ||
@@ -223,0 +219,0 @@ <div className="surname">{surname()}</div> |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
703079
0.09%15
7.14%278
4.12%276
-1.43%1
Infinity%