{"version":3,"sources":["jsdelivr-header.js","/npm/react-text-truncate-2@0.8.4/lib/index.js"],"names":[],"mappings":"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","file":"/npm/react-text-truncate-2@0.8.4/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/react-text-truncate-2@0.8.4/lib/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","(function (global, factory) {\n    if (typeof define === \"function\" && define.amd) {\n        define(['module', 'exports', 'react'], factory);\n    } else if (typeof exports !== \"undefined\") {\n        factory(module, exports, require('react'));\n    } else {\n        var mod = {\n            exports: {}\n        };\n        factory(mod, mod.exports, global.React);\n        global.TextTruncate = mod.exports;\n    }\n})(this, function (module, exports, _react) {\n    'use strict';\n\n    Object.defineProperty(exports, \"__esModule\", {\n        value: true\n    });\n\n    var _react2 = _interopRequireDefault(_react);\n\n    function _interopRequireDefault(obj) {\n        return obj && obj.__esModule ? obj : {\n            default: obj\n        };\n    }\n\n    function _objectWithoutProperties(obj, keys) {\n        var target = {};\n\n        for (var i in obj) {\n            if (keys.indexOf(i) >= 0) continue;\n            if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n            target[i] = obj[i];\n        }\n\n        return target;\n    }\n\n    function _classCallCheck(instance, Constructor) {\n        if (!(instance instanceof Constructor)) {\n            throw new TypeError(\"Cannot call a class as a function\");\n        }\n    }\n\n    var _createClass = function () {\n        function defineProperties(target, props) {\n            for (var i = 0; i < props.length; i++) {\n                var descriptor = props[i];\n                descriptor.enumerable = descriptor.enumerable || false;\n                descriptor.configurable = true;\n                if (\"value\" in descriptor) descriptor.writable = true;\n                Object.defineProperty(target, descriptor.key, descriptor);\n            }\n        }\n\n        return function (Constructor, protoProps, staticProps) {\n            if (protoProps) defineProperties(Constructor.prototype, protoProps);\n            if (staticProps) defineProperties(Constructor, staticProps);\n            return Constructor;\n        };\n    }();\n\n    function _possibleConstructorReturn(self, call) {\n        if (!self) {\n            throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n        }\n\n        return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n    }\n\n    function _inherits(subClass, superClass) {\n        if (typeof superClass !== \"function\" && superClass !== null) {\n            throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n        }\n\n        subClass.prototype = Object.create(superClass && superClass.prototype, {\n            constructor: {\n                value: subClass,\n                enumerable: false,\n                writable: true,\n                configurable: true\n            }\n        });\n        if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n    }\n\n    var TextTruncate = function (_Component) {\n        _inherits(TextTruncate, _Component);\n\n        function TextTruncate() {\n            var _ref;\n\n            var _temp, _this, _ret;\n\n            _classCallCheck(this, TextTruncate);\n\n            for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n                args[_key] = arguments[_key];\n            }\n\n            return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = TextTruncate.__proto__ || Object.getPrototypeOf(TextTruncate)).call.apply(_ref, [this].concat(args))), _this), _this.onResize = function () {\n                window.requestAnimationFrame(_this.update.bind(_this));\n            }, _this.update = function () {\n                _this.forceUpdate();\n            }, _temp), _possibleConstructorReturn(_this, _ret);\n        }\n\n        _createClass(TextTruncate, [{\n            key: 'componentDidMount',\n            value: function componentDidMount() {\n                var canvas = document.createElement('canvas');\n                var docFragment = document.createDocumentFragment();\n                var style = window.getComputedStyle(this.refs.scope);\n                var font = [style['font-weight'], style['font-style'], style['font-size'], style['font-family']].join(' ');\n\n                docFragment.appendChild(canvas);\n                this.canvas = canvas.getContext('2d');\n                this.canvas.font = font;\n                this.forceUpdate();\n                window.addEventListener('resize', this.onResize);\n            }\n        }, {\n            key: 'componentWillUnmount',\n            value: function componentWillUnmount() {\n                window.removeEventListener('resize', this.onResize);\n            }\n        }, {\n            key: 'measureWidth',\n            value: function measureWidth(text) {\n                return this.canvas.measureText(text).width;\n            }\n        }, {\n            key: 'getRenderText',\n            value: function getRenderText() {\n                var _props = this.props;\n                var containerClassName = _props.containerClassName;\n                var line = _props.line;\n                var text = _props.text;\n                var textTruncateChild = _props.textTruncateChild;\n                var truncateText = _props.truncateText;\n                var hasOthersContent = _props.hasOthersContent;\n\n                var props = _objectWithoutProperties(_props, ['containerClassName', 'line', 'text', 'textTruncateChild', 'truncateText']);\n\n                var scopeWidth = this.refs.scope.getBoundingClientRect().width;\n\n                // return if display:none\n                if (scopeWidth === 0) {\n                    return null;\n                }\n\n                // return if all of text can be displayed\n                if (scopeWidth >= this.measureWidth(text)) {\n                    return _react2.default.createElement(\n                        'div',\n                        props,\n                        text,\n                        hasOthersContent ? textTruncateChild : null\n                    );\n                }\n\n                var childText = '';\n                if (textTruncateChild && typeof textTruncateChild.type === 'string') {\n                    var type = textTruncateChild.type;\n                    if (type.indexOf('span') >= 0 || type.indexOf('a') >= 0) {\n                        childText = textTruncateChild.props.children;\n                    }\n                }\n\n                var currentPos = 1;\n                var maxTextLength = text.length;\n                var truncatedText = '';\n                var splitPos = 0;\n                var startPos = 0;\n                var displayLine = line;\n                var width = 0;\n                var lastIsEng = false;\n                var lastSpaceIndex = -1;\n\n                while (displayLine--) {\n                    var ext = displayLine ? '' : truncateText + ' ' + childText;\n                    while (currentPos <= maxTextLength) {\n                        truncatedText = text.substr(startPos, currentPos);\n                        width = this.measureWidth(truncatedText + ext);\n                        if (width < scopeWidth) {\n                            splitPos = text.indexOf(' ', currentPos + 1);\n                            if (splitPos === -1) {\n                                currentPos += 1;\n                                lastIsEng = false;\n                            } else {\n                                lastIsEng = true;\n                                currentPos = splitPos;\n                            }\n                        } else {\n                            do {\n                                currentPos--;\n                                truncatedText = text.substr(startPos, currentPos);\n                                if (truncatedText[truncatedText.length - 1] === ' ') {\n                                    truncatedText = text.substr(startPos, currentPos - 1);\n                                }\n                                if (lastIsEng) {\n                                    lastSpaceIndex = truncatedText.lastIndexOf(' ');\n                                    if (lastSpaceIndex > -1) {\n                                        currentPos = lastSpaceIndex;\n                                        truncatedText = text.substr(startPos, currentPos);\n                                    }\n                                }\n                                width = this.measureWidth(truncatedText + ext);\n                            } while (width >= scopeWidth);\n                            startPos += currentPos;\n                            break;\n                        }\n                    }\n\n                    if (currentPos >= maxTextLength) {\n                        startPos = maxTextLength;\n                        break;\n                    }\n                }\n\n                if (startPos === maxTextLength) {\n                    return _react2.default.createElement(\n                        'div',\n                        props,\n                        text,\n                        hasOthersContent ? textTruncateChild : null\n                    );\n                }\n                return _react2.default.createElement(\n                    'div',\n                    props,\n                    text.substr(0, startPos - 8) + truncateText + ' ',\n                    textTruncateChild\n                );\n            }\n        }, {\n            key: 'render',\n            value: function render() {\n                var _props2 = this.props;\n                var text = _props2.text;\n                var containerClassName = _props2.containerClassName;\n\n\n                var renderText = text;\n                if (this.refs.scope) {\n                    renderText = this.getRenderText();\n                }\n\n                return _react2.default.createElement(\n                    'div',\n                    { ref: 'scope', className: containerClassName, style: { overflow: 'hidden' } },\n                    renderText\n                );\n            }\n        }]);\n\n        return TextTruncate;\n    }(_react.Component);\n\n    TextTruncate.propTypes = {\n        containerClassName: _react2.default.PropTypes.string,\n        line: _react2.default.PropTypes.number,\n        text: _react2.default.PropTypes.string,\n        textTruncateChild: _react2.default.PropTypes.node,\n        truncateText: _react2.default.PropTypes.string\n    };\n    TextTruncate.defaultProps = {\n        line: 1,\n        text: '',\n        truncateText: '…'\n    };\n    exports.default = TextTruncate;\n    ;\n    module.exports = exports['default'];\n});\n"]}