{"version":3,"sources":["webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://_N_E/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://_N_E/./node_modules/core-js/modules/es.array.iterator.js","webpack://_N_E/./components/loading.tsx","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://_N_E/./lib/apply-https-img.ts","webpack://_N_E/./node_modules/invariant/browser.js","webpack://_N_E/./node_modules/react-intersection-observer/node_modules/@babel/runtime/helpers/esm/extends.js","webpack://_N_E/./node_modules/react-intersection-observer/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://_N_E/./node_modules/react-intersection-observer/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://_N_E/./node_modules/react-intersection-observer/react-intersection-observer.esm.js","webpack://_N_E/./node_modules/react-intersection-observer/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://_N_E/./node_modules/react-intersection-observer/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"names":["_iterableToArray","iter","Symbol","iterator","Object","Array","from","global","DOMIterables","ArrayIteratorMethods","createNonEnumerableProperty","wellKnownSymbol","ITERATOR","TO_STRING_TAG","ArrayValues","values","COLLECTION_NAME","Collection","CollectionPrototype","prototype","error","METHOD_NAME","toIndexedObject","addToUnscopables","Iterators","InternalStateModule","defineIterator","setInternalState","set","getInternalState","getterFor","module","exports","iterated","kind","this","type","target","index","state","length","undefined","value","done","Arguments","Loading","className","_toConsumableArray","arr","isArray","arrayLikeToArray","iterableToArray","unsupportedIterableToArray","TypeError","applyHttpsImage","url","replace","condition","format","a","b","c","d","e","f","Error","args","argIndex","name","framesToPop","_extends","assign","i","arguments","source","key","hasOwnProperty","call","apply","_assertThisInitialized","self","ReferenceError","_defineProperty","obj","defineProperty","enumerable","configurable","writable","INSTANCE_MAP","Map","OBSERVER_MAP","ROOT_IDS","consecutiveRootId","observe","element","callback","options","threshold","_options","root","rootMargin","has","observerId","get","toString","getRootId","observerInstance","IntersectionObserver","onChange","instance","inView","observer","thresholds","unobserve","itemsLeft","rootObserved","forEach","item","disconnect","changes","intersection","isIntersecting","intersectionRatio","some","_React$Component","subClass","superClass","InView","_this","_len","_key","concat","entry","node","observeNode","setState","props","create","constructor","__proto__","_proto","componentDidMount","componentDidUpdate","prevProps","prevState","triggerOnce","componentWillUnmount","_this$props","handleChange","render","_this$state","children","isPlainChildren","ref","handleNode","_this$props2","as","tag","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","useInView","_React$useState","setRef","current"],"mappings":"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","file":"static/chunks/4e6ee8cb9eeb3fe8e2582a112e05c9f1d83949b0.16c409d79e955de01315.js","sourcesContent":["export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","import * as React from 'react'\n\nconst Loading = ({ className }: { className?: string }) => (\n
\n
\n
\n
\n
\n 加载中…\n
\n \n
\n)\n\nexport default Loading\n","import arrayWithoutHoles from \"@babel/runtime/helpers/esm/arrayWithoutHoles\";\nimport iterableToArray from \"@babel/runtime/helpers/esm/iterableToArray\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableSpread from \"@babel/runtime/helpers/esm/nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function applyHttpsImage(url?: string) {\n return (url || '').replace('http://', '//')\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport { createElement, Component, useRef, useState, useCallback, useDebugValue } from 'react';\nimport invariant from 'invariant';\n\nvar INSTANCE_MAP = new Map();\nvar OBSERVER_MAP = new Map();\nvar ROOT_IDS = new Map();\nvar consecutiveRootId = 0;\n/**\n * Generate a unique ID for the root element\n * @param root\n */\n\nfunction getRootId(root) {\n if (!root) return '';\n if (ROOT_IDS.has(root)) return ROOT_IDS.get(root);\n consecutiveRootId += 1;\n ROOT_IDS.set(root, consecutiveRootId.toString());\n return ROOT_IDS.get(root) + '_';\n}\n/**\n * Monitor element, and trigger callback when element becomes inView\n * @param element {HTMLElement}\n * @param callback {Function} Called with inView\n * @param options {Object} InterSection observer options\n * @param options.threshold {Number} Number between 0 and 1, indicating how much of the element should be inView before triggering\n * @param options.root {HTMLElement}\n * @param options.rootMargin {String} The CSS margin to apply to the root element.\n */\n\n\nfunction observe(element, callback, options) {\n if (options === void 0) {\n options = {};\n }\n\n // IntersectionObserver needs a threshold to trigger, so set it to 0 if it's not defined.\n // Modify the options object, since it's used in the onChange handler.\n if (!options.threshold) options.threshold = 0;\n var _options = options,\n root = _options.root,\n rootMargin = _options.rootMargin,\n threshold = _options.threshold; // Validate that the element is not being used in another \n\n invariant(!INSTANCE_MAP.has(element), \"react-intersection-observer: Trying to observe %s, but it's already being observed by another instance.\\nMake sure the `ref` is only used by a single instance.\\n\\n%s\", element);\n /* istanbul ignore if */\n\n if (!element) return; // Create a unique ID for this observer instance, based on the root, root margin and threshold.\n // An observer with the same options can be reused, so lets use this fact\n\n var observerId = getRootId(root) + (rootMargin ? threshold.toString() + \"_\" + rootMargin : threshold.toString());\n var observerInstance = OBSERVER_MAP.get(observerId);\n\n if (!observerInstance) {\n observerInstance = new IntersectionObserver(onChange, options);\n /* istanbul ignore else */\n\n if (observerId) OBSERVER_MAP.set(observerId, observerInstance);\n }\n\n var instance = {\n callback: callback,\n element: element,\n inView: false,\n observerId: observerId,\n observer: observerInstance,\n // Make sure we have the thresholds value. It's undefined on a browser like Chrome 51.\n thresholds: observerInstance.thresholds || (Array.isArray(threshold) ? threshold : [threshold])\n };\n INSTANCE_MAP.set(element, instance);\n observerInstance.observe(element);\n return instance;\n}\n/**\n * Stop observing an element. If an element is removed from the DOM or otherwise destroyed,\n * make sure to call this method.\n * @param element {Element}\n */\n\nfunction unobserve(element) {\n if (!element) return;\n var instance = INSTANCE_MAP.get(element);\n\n if (instance) {\n var observerId = instance.observerId,\n observer = instance.observer;\n var root = observer.root;\n observer.unobserve(element); // Check if we are still observing any elements with the same threshold.\n\n var itemsLeft = false; // Check if we still have observers configured with the same root.\n\n var rootObserved = false;\n /* istanbul ignore else */\n\n if (observerId) {\n INSTANCE_MAP.forEach(function (item, key) {\n if (key !== element) {\n if (item.observerId === observerId) {\n itemsLeft = true;\n rootObserved = true;\n }\n\n if (item.observer.root === root) {\n rootObserved = true;\n }\n }\n });\n }\n\n if (!rootObserved && root) ROOT_IDS[\"delete\"](root);\n\n if (observer && !itemsLeft) {\n // No more elements to observe for threshold, disconnect observer\n observer.disconnect();\n } // Remove reference to element\n\n\n INSTANCE_MAP[\"delete\"](element);\n }\n}\n\nfunction onChange(changes) {\n changes.forEach(function (intersection) {\n var isIntersecting = intersection.isIntersecting,\n intersectionRatio = intersection.intersectionRatio,\n target = intersection.target;\n var instance = INSTANCE_MAP.get(target); // Firefox can report a negative intersectionRatio when scrolling.\n\n /* istanbul ignore else */\n\n if (instance && intersectionRatio >= 0) {\n // If threshold is an array, check if any of them intersects. This just triggers the onChange event multiple times.\n var inView = instance.thresholds.some(function (threshold) {\n return instance.inView ? intersectionRatio > threshold : intersectionRatio >= threshold;\n });\n\n if (isIntersecting !== undefined) {\n // If isIntersecting is defined, ensure that the element is actually intersecting.\n // Otherwise it reports a threshold of 0\n inView = inView && isIntersecting;\n }\n\n instance.inView = inView;\n instance.callback(inView, intersection);\n }\n });\n}\n\nfunction isPlainChildren(props) {\n return typeof props.children !== 'function';\n}\n/**\n * Monitors scroll, and triggers the children function with updated props\n *\n \n {({inView, ref}) => (\n

{`${inView}`}

\n )}\n
\n */\n\n\nvar InView =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(InView, _React$Component);\n\n function InView() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n inView: false,\n entry: undefined\n });\n\n _defineProperty(_assertThisInitialized(_this), \"node\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"handleNode\", function (node) {\n if (_this.node) unobserve(_this.node);\n _this.node = node ? node : null;\n\n _this.observeNode();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleChange\", function (inView, entry) {\n // Only trigger a state update if inView has changed.\n // This prevents an unnecessary extra state update during mount, when the element stats outside the viewport\n if (inView !== _this.state.inView || inView) {\n _this.setState({\n inView: inView,\n entry: entry\n });\n }\n\n if (_this.props.onChange) {\n // If the user is actively listening for onChange, always trigger it\n _this.props.onChange(inView, entry);\n }\n });\n\n return _this;\n }\n\n var _proto = InView.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n invariant(this.node, \"react-intersection-observer: No DOM node found. Make sure you forward \\\"ref\\\" to the root DOM element you want to observe.\");\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // If a IntersectionObserver option changed, reinit the observer\n if (prevProps.rootMargin !== this.props.rootMargin || prevProps.root !== this.props.root || prevProps.threshold !== this.props.threshold) {\n unobserve(this.node);\n this.observeNode();\n }\n\n if (prevState.inView !== this.state.inView) {\n if (this.state.inView && this.props.triggerOnce) {\n unobserve(this.node);\n this.node = null;\n }\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.node) {\n unobserve(this.node);\n this.node = null;\n }\n };\n\n _proto.observeNode = function observeNode() {\n if (!this.node) return;\n var _this$props = this.props,\n threshold = _this$props.threshold,\n root = _this$props.root,\n rootMargin = _this$props.rootMargin;\n observe(this.node, this.handleChange, {\n threshold: threshold,\n root: root,\n rootMargin: rootMargin\n });\n };\n\n _proto.render = function render() {\n var _this$state = this.state,\n inView = _this$state.inView,\n entry = _this$state.entry;\n\n if (!isPlainChildren(this.props)) {\n return this.props.children({\n inView: inView,\n entry: entry,\n ref: this.handleNode\n });\n }\n\n var _this$props2 = this.props,\n children = _this$props2.children,\n as = _this$props2.as,\n tag = _this$props2.tag,\n triggerOnce = _this$props2.triggerOnce,\n threshold = _this$props2.threshold,\n root = _this$props2.root,\n rootMargin = _this$props2.rootMargin,\n props = _objectWithoutPropertiesLoose(_this$props2, [\"children\", \"as\", \"tag\", \"triggerOnce\", \"threshold\", \"root\", \"rootMargin\"]);\n\n return createElement(as || tag || 'div', _extends({\n ref: this.handleNode\n }, props), children);\n };\n\n return InView;\n}(Component);\n\n_defineProperty(InView, \"displayName\", 'InView');\n\n_defineProperty(InView, \"defaultProps\", {\n threshold: 0,\n triggerOnce: false\n});\n\n/* eslint-disable react-hooks/exhaustive-deps */\nfunction useInView(options) {\n if (options === void 0) {\n options = {};\n }\n\n var ref = useRef();\n\n var _React$useState = useState({\n inView: false,\n entry: undefined\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n var setRef = useCallback(function (node) {\n if (ref.current) {\n unobserve(ref.current);\n }\n\n if (node) {\n observe(node, function (inView, intersection) {\n setState({\n inView: inView,\n entry: intersection\n });\n\n if (inView && options.triggerOnce) {\n // If it should only trigger once, unobserve the element after it's inView\n unobserve(node);\n }\n }, options);\n } // Store a reference to the node\n\n\n ref.current = node;\n }, [options.threshold, options.root, options.rootMargin, options.triggerOnce]);\n useDebugValue(state.inView);\n return [setRef, state.inView, state.entry];\n}\n\nexport default InView;\nexport { InView, useInView };\n","export default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"sourceRoot":""}