{"version":3,"file":"56f4d930a6214213b61d1d6990fef29ae7019df4-d10298d31c71206238c5.js","mappings":"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","sources":["webpack://gatsby-starter-default/./src/components/truncate-toggle/truncate-toggle.js","webpack://gatsby-starter-default/./node_modules/lodash/_arrayMap.js","webpack://gatsby-starter-default/./node_modules/lodash/_baseGet.js","webpack://gatsby-starter-default/./node_modules/lodash/_baseToString.js","webpack://gatsby-starter-default/./node_modules/lodash/_castPath.js","webpack://gatsby-starter-default/./node_modules/lodash/_isKey.js","webpack://gatsby-starter-default/./node_modules/lodash/_memoizeCapped.js","webpack://gatsby-starter-default/./node_modules/lodash/_stringToPath.js","webpack://gatsby-starter-default/./node_modules/lodash/_toKey.js","webpack://gatsby-starter-default/./node_modules/lodash/get.js","webpack://gatsby-starter-default/./node_modules/lodash/isSymbol.js","webpack://gatsby-starter-default/./node_modules/lodash/memoize.js","webpack://gatsby-starter-default/./node_modules/lodash/toString.js","webpack://gatsby-starter-default/./node_modules/react-lines-ellipsis/lib/common.js","webpack://gatsby-starter-default/./node_modules/react-lines-ellipsis/lib/helpers.js","webpack://gatsby-starter-default/./node_modules/react-lines-ellipsis/lib/html.js"],"sourcesContent":["import React, { Component } from \"react\"\nimport { PropTypes } from \"prop-types\"\nimport HTMLEllipsis from \"react-lines-ellipsis/lib/html\"\nimport \"./truncate-toggle.css\"\nimport { FormattedMessage } from \"react-intl\"\n\nclass ReadMore extends Component {\n constructor(...args) {\n super(...args)\n\n this.state = {\n expanded: false,\n truncated: true,\n }\n\n this.toggleLines = this.toggleLines.bind(this)\n }\n\n toggleLines(event) {\n event.preventDefault()\n\n if (this.state.expanded !== false) {\n this.setState({\n expanded: false,\n })\n } else {\n this.setState({\n expanded: true,\n })\n }\n\n if (this.state.truncated !== false) {\n this.setState({\n truncated: false,\n })\n } else {\n this.setState({\n truncated: true,\n })\n\n // Move to headline of closed element\n const toggledElement =\n event.currentTarget.parentElement.parentElement.parentElement\n const y = toggledElement.getBoundingClientRect().top + window.pageYOffset\n window.scrollTo({ top: y, behavior: \"smooth\" })\n }\n this.handleClick()\n }\n\n handleClick() {\n this.props.onClick()\n }\n\n render() {\n const {\n basedOn,\n color,\n ellipsis,\n more,\n less,\n unsafeHTML,\n maxLine,\n } = this.props\n\n const { expanded, truncated } = this.state\n\n return (\n <div>\n <HTMLEllipsis\n unsafeHTML={unsafeHTML}\n maxLine={!expanded ? maxLine : \"-1\"}\n ellipsis={!expanded ? ellipsis : \"\"}\n basedOn={basedOn}\n />\n\n {!expanded && truncated && (\n <div className={`view-more ${color}`}>\n <div className={`view-more__inner`}>\n <button onClick={this.toggleLines}>\n <span>{more}</span>\n <span className={`icon--chevron-toggle`}>\n <span className={`chevron-down`}></span>\n </span>\n </button>\n </div>\n </div>\n )}\n\n {!truncated && expanded && (\n <div className={`view-less`}>\n <button onClick={this.toggleLines}>\n <span>{less}</span>\n <span className={`icon--chevron-toggle`}>\n <span className={`chevron-down`}></span>\n </span>\n </button>\n </div>\n )}\n </div>\n )\n }\n}\n\nReadMore.defaultProps = {\n basedOn: \"words\",\n color: \"\",\n ellipsis: \"...\",\n maxLine: \"-1\",\n unsafeHTML: \"\",\n more: <FormattedMessage id=\"truncate-toggle-view-more\" defaultMessage=\"View More\" />,\n less: <FormattedMessage id=\"truncate-toggle-view-less\" defaultMessage=\"View Less\" />,\n onClick: () => this.handleClick(),\n}\n\nReadMore.propTypes = {\n basedOn: PropTypes.string,\n color: PropTypes.string,\n ellipsis: PropTypes.string,\n maxLine: PropTypes.string,\n more: PropTypes.object,\n less: PropTypes.object,\n unsafeHTML: PropTypes.any.isRequired,\n onClick: PropTypes.func,\n}\n\nexport default ReadMore\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","\"use strict\";\n\nmodule.exports = {\n canvasStyle: {\n position: 'absolute',\n bottom: 0,\n left: 0,\n height: 0,\n overflow: 'hidden',\n 'padding-top': 0,\n 'padding-bottom': 0,\n border: 'none'\n },\n mirrorProps: ['box-sizing', 'width', 'font-size', 'font-weight', 'font-family', 'font-style', 'letter-spacing', 'text-indent', 'white-space', 'word-break', 'overflow-wrap', 'padding-left', 'padding-right']\n};\n\n","\"use strict\";\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction omit(obj, omittedKeys) {\n if (!obj || _typeof(obj) !== 'object') {\n return obj;\n }\n\n var ret = {};\n Object.keys(obj).forEach(function (key) {\n if (omittedKeys.indexOf(key) > -1) {\n return;\n }\n\n ret[key] = obj[key];\n });\n return ret;\n}\n\nmodule.exports = {\n omit: omit\n};\n\n","\"use strict\";\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\nfunction _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; }\n\nfunction _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; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar React = require('react');\n\nvar _require = require('./common'),\n canvasStyle = _require.canvasStyle,\n mirrorProps = _require.mirrorProps;\n\nvar _require2 = require('./helpers'),\n omit = _require2.omit;\n\nfunction hookNode(node, basedOn) {\n /* eslint-env browser */\n if (basedOn !== 'letters' && basedOn !== 'words') {\n throw new Error(\"Unsupported options basedOn: \".concat(basedOn));\n }\n\n if (node.nodeType === Node.TEXT_NODE) {\n var frag = document.createDocumentFragment();\n var units;\n\n switch (basedOn) {\n case 'words':\n units = node.textContent.split(/\\b|(?=\\W)/);\n break;\n\n case 'letters':\n units = Array.from(node.textContent);\n break;\n }\n\n units.forEach(function (unit) {\n frag.appendChild(dummySpan(unit));\n });\n node.parentNode.replaceChild(frag, node);\n } else if (node.nodeType === Node.ELEMENT_NODE) {\n var nodes = [].slice.call(node.childNodes);\n var len = nodes.length;\n\n for (var i = 0; i < len; i++) {\n hookNode(nodes[i], basedOn);\n }\n }\n}\n\nfunction dummySpan(text) {\n var span = document.createElement('span');\n span.className = 'LinesEllipsis-unit';\n span.textContent = text;\n return span;\n}\n\nfunction unwrapTextNode(node) {\n node.parentNode.replaceChild(document.createTextNode(node.textContent), node);\n}\n\nfunction removeFollowingElementLeaves(node, root) {\n if (!root.contains(node) || node === root) return;\n\n while (node.nextElementSibling) {\n node.parentNode.removeChild(node.nextElementSibling);\n }\n\n removeFollowingElementLeaves(node.parentNode, root);\n}\n\nfunction findBlockAncestor(node) {\n var ndAncestor = node;\n\n while (ndAncestor = ndAncestor.parentNode) {\n if (/p|div|main|section|h\\d|ul|ol|li/.test(ndAncestor.tagName.toLowerCase())) {\n return ndAncestor;\n }\n }\n}\n\nfunction affectLayout(ndUnit) {\n return !!(ndUnit.offsetHeight && (ndUnit.offsetWidth || /\\S/.test(ndUnit.textContent)));\n}\n\nvar defaultProps = {\n component: 'div',\n unsafeHTML: '',\n maxLine: 1,\n ellipsis: '…',\n // …\n ellipsisHTML: undefined,\n className: '',\n basedOn: undefined,\n onReflow: function onReflow() {},\n winWidth: undefined // for the HOC\n\n};\nvar usedProps = Object.keys(defaultProps);\n/**\n * props.unsafeHTML {String} the rich content you want to clamp\n * props.maxLine {Number|String} max lines allowed\n * props.ellipsis {String} the ellipsis indicator\n * props.basedOn {String} letters|words\n * props.className {String}\n */\n\nvar HTMLEllipsis =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(HTMLEllipsis, _React$Component);\n\n function HTMLEllipsis(props) {\n var _this;\n\n _classCallCheck(this, HTMLEllipsis);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(HTMLEllipsis).call(this, props));\n _this.state = {\n html: props.unsafeHTML,\n clamped: false\n };\n _this.canvas = null;\n _this.maxLine = 0;\n _this.nlUnits = [];\n return _this;\n }\n\n _createClass(HTMLEllipsis, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.initCanvas();\n this.reflow(this.props);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (prevProps.winWidth !== this.props.winWidth) {\n this.copyStyleToCanvas();\n }\n\n if (this.props !== prevProps) {\n this.reflow(this.props);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.canvas.parentNode.removeChild(this.canvas);\n }\n }, {\n key: \"setState\",\n value: function setState(state, callback) {\n if (typeof state.clamped !== 'undefined') {\n this.clamped = state.clamped;\n }\n\n return _get(_getPrototypeOf(HTMLEllipsis.prototype), \"setState\", this).call(this, state, callback);\n }\n }, {\n key: \"initCanvas\",\n value: function initCanvas() {\n if (this.canvas) return;\n var canvas = this.canvas = document.createElement('div');\n canvas.className = \"LinesEllipsis-canvas \".concat(this.props.className);\n canvas.setAttribute('aria-hidden', 'true');\n this.copyStyleToCanvas();\n Object.keys(canvasStyle).forEach(function (key) {\n canvas.style[key] = canvasStyle[key];\n });\n document.body.appendChild(canvas);\n }\n }, {\n key: \"copyStyleToCanvas\",\n value: function copyStyleToCanvas() {\n var _this2 = this;\n\n var targetStyle = window.getComputedStyle(this.target);\n mirrorProps.forEach(function (key) {\n _this2.canvas.style[key] = targetStyle[key];\n });\n }\n }, {\n key: \"reflow\",\n value: function reflow(props) {\n /* eslint-disable no-control-regex */\n this.maxLine = +props.maxLine || 1;\n this.canvas.innerHTML = props.unsafeHTML;\n var basedOn = props.basedOn || (/^[\\x00-\\x7F]+$/.test(props.unsafeHTML) ? 'words' : 'letters');\n hookNode(this.canvas, basedOn);\n var clamped = this.putEllipsis(this.calcIndexes());\n var newState = {\n clamped: clamped,\n html: this.canvas.innerHTML\n };\n this.setState(newState, props.onReflow.bind(this, newState));\n }\n }, {\n key: \"calcIndexes\",\n value: function calcIndexes() {\n var indexes = [0];\n var nlUnits = this.nlUnits = Array.from(this.canvas.querySelectorAll('.LinesEllipsis-unit'));\n var len = nlUnits.length;\n if (!nlUnits.length) return indexes;\n var nd1stLayoutUnit = nlUnits.find(affectLayout);\n if (!nd1stLayoutUnit) return indexes;\n var line = 1;\n var offsetTop = nd1stLayoutUnit.offsetTop;\n\n for (var i = 1; i < len; i++) {\n if (affectLayout(nlUnits[i]) && nlUnits[i].offsetTop - offsetTop > 1) {\n line++;\n indexes.push(i);\n offsetTop = nlUnits[i].offsetTop;\n\n if (line > this.maxLine) {\n break;\n }\n }\n }\n\n return indexes;\n }\n }, {\n key: \"putEllipsis\",\n value: function putEllipsis(indexes) {\n if (indexes.length <= this.maxLine) return false;\n this.nlUnits = this.nlUnits.slice(0, indexes[this.maxLine]);\n var ndPrevUnit = this.nlUnits.pop();\n var ndEllipsis = this.makeEllipsisSpan();\n\n do {\n removeFollowingElementLeaves(ndPrevUnit, this.canvas);\n findBlockAncestor(ndPrevUnit).appendChild(ndEllipsis);\n ndPrevUnit = this.nlUnits.pop();\n } while (ndPrevUnit && (!affectLayout(ndPrevUnit) || ndEllipsis.offsetHeight > ndPrevUnit.offsetHeight || ndEllipsis.offsetTop > ndPrevUnit.offsetTop));\n\n if (ndPrevUnit) {\n unwrapTextNode(ndPrevUnit);\n }\n\n this.nlUnits.forEach(unwrapTextNode);\n return true;\n }\n }, {\n key: \"makeEllipsisSpan\",\n value: function makeEllipsisSpan() {\n var _this$props = this.props,\n ellipsisHTML = _this$props.ellipsisHTML,\n ellipsis = _this$props.ellipsis;\n var frag = document.createElement('span');\n frag.appendChild(document.createElement('wbr'));\n var ndEllipsis = document.createElement('span');\n ndEllipsis.className = 'LinesEllipsis-ellipsis';\n\n if (ellipsisHTML) {\n ndEllipsis.innerHTML = ellipsisHTML;\n } else {\n ndEllipsis.textContent = ellipsis;\n }\n\n frag.appendChild(ndEllipsis);\n return frag;\n } // expose\n\n }, {\n key: \"isClamped\",\n value: function isClamped() {\n return this.clamped; // do not use state.clamped. #27\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var _this$state = this.state,\n html = _this$state.html,\n clamped = _this$state.clamped;\n\n var _this$props2 = this.props,\n Component = _this$props2.component,\n className = _this$props2.className,\n unsafeHTML = _this$props2.unsafeHTML,\n rest = _objectWithoutProperties(_this$props2, [\"component\", \"className\", \"unsafeHTML\"]);\n\n return React.createElement(Component, _extends({\n className: \"LinesEllipsis \".concat(clamped ? 'LinesEllipsis--clamped' : '', \" \").concat(className),\n ref: function ref(node) {\n return _this3.target = node;\n }\n }, omit(rest, usedProps)), React.createElement(\"div\", {\n dangerouslySetInnerHTML: {\n __html: clamped ? html : unsafeHTML\n }\n }));\n }\n }]);\n\n return HTMLEllipsis;\n}(React.Component);\n\nHTMLEllipsis.defaultProps = defaultProps;\nmodule.exports = HTMLEllipsis;\n\n"],"names":["ReadMore","_Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","expanded","truncated","toggleLines","bind","_assertThisInitialized","_inheritsLoose","_proto","prototype","event","preventDefault","this","setState","y","currentTarget","parentElement","getBoundingClientRect","top","window","pageYOffset","scrollTo","behavior","handleClick","props","onClick","render","basedOn","color","ellipsis","more","less","unsafeHTML","maxLine","React","HTMLEllipsis","className","Component","defaultProps","FormattedMessage","id","defaultMessage","module","exports","array","iteratee","index","result","castPath","toKey","object","path","undefined","Symbol","arrayMap","isArray","isSymbol","symbolProto","symbolToString","toString","baseToString","value","isKey","stringToPath","reIsDeepProp","reIsPlainProp","type","test","Object","memoize","func","key","cache","size","clear","memoizeCapped","rePropName","reEscapeChar","string","charCodeAt","push","replace","match","number","quote","subString","baseGet","defaultValue","baseGetTag","isObjectLike","MapCache","resolver","TypeError","memoized","has","get","set","Cache","canvasStyle","position","bottom","left","height","overflow","border","mirrorProps","_typeof","obj","iterator","constructor","omit","omittedKeys","ret","keys","forEach","indexOf","_extends","assign","target","i","source","hasOwnProperty","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","_defineProperties","descriptor","enumerable","configurable","writable","defineProperty","_possibleConstructorReturn","self","ReferenceError","_get","property","receiver","Reflect","base","_getPrototypeOf","_superPropBase","desc","getOwnPropertyDescriptor","o","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","p","_require","hookNode","node","Error","nodeType","Node","TEXT_NODE","units","frag","document","createDocumentFragment","textContent","split","from","unit","text","span","appendChild","createElement","parentNode","replaceChild","ELEMENT_NODE","nodes","slice","childNodes","len","unwrapTextNode","createTextNode","removeFollowingElementLeaves","root","contains","nextElementSibling","removeChild","findBlockAncestor","ndAncestor","tagName","toLowerCase","affectLayout","ndUnit","offsetHeight","offsetWidth","component","ellipsisHTML","onReflow","winWidth","usedProps","_React$Component","instance","Constructor","_classCallCheck","html","clamped","canvas","nlUnits","protoProps","staticProps","subClass","superClass","create","_inherits","initCanvas","reflow","prevProps","copyStyleToCanvas","callback","setAttribute","style","body","_this2","targetStyle","getComputedStyle","innerHTML","newState","putEllipsis","calcIndexes","indexes","querySelectorAll","nd1stLayoutUnit","find","line","offsetTop","ndPrevUnit","pop","ndEllipsis","makeEllipsisSpan","_this$props","_this3","_this$state","_this$props2","rest","ref","dangerouslySetInnerHTML","__html"],"sourceRoot":""}