var _excluded = ["lazyLoad", "children"];

function _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); }

function _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; }

import React, { forwardRef, useRef, useImperativeHandle, useEffect } from 'react';
import ImgLazy from './../ImgLazy';
var Container = forwardRef(function (_ref, ref) {
  var lazyLoad = _ref.lazyLoad,
      children = _ref.children,
      others = _objectWithoutPropertiesLoose(_ref, _excluded);

  var rootRef = useRef(null);
  useImperativeHandle(ref, function () {
    return rootRef.current;
  }); // 图片懒加载

  var lazyInstance = useRef(null);
  useEffect(function () {
    if (lazyLoad !== 'scroll' && lazyLoad !== 'queue') return;

    if (lazyInstance.current) {
      lazyInstance.current.load();
    } else {
      lazyInstance.current = new ImgLazy({
        overflowContainer: rootRef.current,
        load: lazyLoad
      });
      lazyInstance.current.load();
    }
  }, [children]); // eslint-disable-line

  return /*#__PURE__*/React.createElement("article", _extends({
    ref: rootRef
  }, others, {
    className: "container" + (others.className ? ' ' + others.className : '')
  }), children);
});
export default Container;