{"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  // &hellip;\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":""}