{"version":3,"sources":["jsdelivr-header.js","/npm/ncnbb-react-loadable@1.0.0/lib/index.js"],"names":[],"mappings":"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","file":"/npm/ncnbb-react-loadable@1.0.0/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/ncnbb-react-loadable@1.0.0/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","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n    value: true\n});\n\nvar _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = require('babel-runtime/helpers/createClass');\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = require('babel-runtime/helpers/inherits');\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nexports.default = loadable;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction loadable(opt) {\n    return function (_React$Component) {\n        (0, _inherits3.default)(LoadableComponent, _React$Component);\n\n        function LoadableComponent(props) {\n            (0, _classCallCheck3.default)(this, LoadableComponent);\n\n            var _this = (0, _possibleConstructorReturn3.default)(this, (LoadableComponent.__proto__ || (0, _getPrototypeOf2.default)(LoadableComponent)).call(this, props));\n\n            _this.overTimer = null;\n            _this.delayTimer = null;\n            _this.state = {\n                loader: opt.loader,\n                loading: opt.loading,\n                delay: opt.delay || null,\n                error: opt.error || null,\n                overTime: opt.overTime || null,\n                timeout: opt.timeout || null,\n                status: 'padding',\n                RenderComponent: null,\n                callback: opt.callback || null\n            };\n            return _this;\n        }\n\n        (0, _createClass3.default)(LoadableComponent, [{\n            key: 'componentDidMount',\n            value: function componentDidMount() {\n                var _this2 = this;\n\n                var delay = this.state.delay;\n\n                if (delay) {\n                    this.delayTimer = setTimeout(function () {\n                        _this2.load();\n                    }, +delay);\n                } else {\n                    this.load();\n                }\n            }\n        }, {\n            key: 'componentWillUnmount',\n            value: function componentWillUnmount() {\n                this.clearDelayTimer();\n                this.clearOverTimer();\n            }\n        }, {\n            key: 'isFunction',\n            value: function isFunction(fn) {\n                return Object.prototype.toString.call(fn) == '[object Function]';\n            }\n        }, {\n            key: 'load',\n            value: function load() {\n                var _this3 = this;\n\n                var _state = this.state,\n                    loader = _state.loader,\n                    timeout = _state.timeout,\n                    callback = _state.callback;\n\n                if (loader) {\n                    this.setOverTimer(timeout);\n                    loader().then(function (components) {\n                        _this3.clearOverTimer();\n                        _this3.setState({\n                            RenderComponent: components.default,\n                            status: 'done'\n                        }, function () {\n                            callback && _this3.isFunction(callback) && callback('done', null);\n                        });\n                    }, function (err) {\n                        _this3.clearOverTimer();\n                        _this3.setState({\n                            status: 'error'\n                        }, function () {\n                            callback && _this3.isFunction(callback) && callback('error', err);\n                        });\n                    });\n                }\n            }\n        }, {\n            key: 'setOverTimer',\n            value: function setOverTimer(timeout) {\n                var _this4 = this;\n\n                if (!timeout) return;\n                var callback = this.state.callback;\n\n                this.overTimer = setTimeout(function () {\n                    _this4.setState({\n                        status: 'overTime'\n                    }, function () {\n                        _this4.overTimer = null;\n                        callback && _this4.isFunction(callback) && callback('overTime', null);\n                    });\n                }, +timeout);\n            }\n        }, {\n            key: 'clearOverTimer',\n            value: function clearOverTimer() {\n                if (this.overTimer) clearTimeout(this.overTimer);\n                this.overTimer = null;\n            }\n        }, {\n            key: 'clearDelayTimer',\n            value: function clearDelayTimer() {\n                if (this.delayTimer) clearTimeout(this.delayTimer);\n                this.delayTimer = null;\n            }\n        }, {\n            key: 'renderOtherStatusComponent',\n            value: function renderOtherStatusComponent(Component) {\n                if (_react2.default.isValidElement(Component)) {\n                    return Component;\n                }\n                return _react2.default.createElement(Component, null);\n            }\n        }, {\n            key: 'render',\n            value: function render() {\n                var _state2 = this.state,\n                    RenderComponent = _state2.RenderComponent,\n                    status = _state2.status,\n                    error = _state2.error,\n                    overTime = _state2.overTime,\n                    loading = _state2.loading;\n\n                if (status == 'error') {\n                    return this.renderOtherStatusComponent(error);\n                }\n                if (status == 'overTime') {\n                    return this.renderOtherStatusComponent(overTime);\n                }\n                if (status == 'done' && RenderComponent) {\n                    return _react2.default.createElement(RenderComponent, this.props);\n                }\n                return this.renderOtherStatusComponent(loading);\n            }\n        }]);\n        return LoadableComponent;\n    }(_react2.default.Component);\n}"]}