index.js 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. "use strict";
  2. var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
  3. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  4. Object.defineProperty(exports, "__esModule", {
  5. value: true
  6. });
  7. Object.defineProperty(exports, "_rs", {
  8. enumerable: true,
  9. get: function get() {
  10. return _observerUtil._rs;
  11. }
  12. });
  13. exports.default = void 0;
  14. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  15. var React = _interopRequireWildcard(require("react"));
  16. var _toArray = _interopRequireDefault(require("rc-util/lib/Children/toArray"));
  17. var _warning = require("rc-util/lib/warning");
  18. var _SingleObserver = _interopRequireDefault(require("./SingleObserver"));
  19. var _Collection = require("./Collection");
  20. var _observerUtil = require("./utils/observerUtil");
  21. var INTERNAL_PREFIX_KEY = 'rc-observer-key';
  22. function ResizeObserver(props, ref) {
  23. var children = props.children;
  24. var childNodes = typeof children === 'function' ? [children] : (0, _toArray.default)(children);
  25. if (process.env.NODE_ENV !== 'production') {
  26. if (childNodes.length > 1) {
  27. (0, _warning.warning)(false, 'Find more than one child node with `children` in ResizeObserver. Please use ResizeObserver.Collection instead.');
  28. } else if (childNodes.length === 0) {
  29. (0, _warning.warning)(false, '`children` of ResizeObserver is empty. Nothing is in observe.');
  30. }
  31. }
  32. return childNodes.map(function (child, index) {
  33. var key = (child === null || child === void 0 ? void 0 : child.key) || "".concat(INTERNAL_PREFIX_KEY, "-").concat(index);
  34. return /*#__PURE__*/React.createElement(_SingleObserver.default, (0, _extends2.default)({}, props, {
  35. key: key,
  36. ref: index === 0 ? ref : undefined
  37. }), child);
  38. });
  39. }
  40. var RefResizeObserver = /*#__PURE__*/React.forwardRef(ResizeObserver);
  41. if (process.env.NODE_ENV !== 'production') {
  42. RefResizeObserver.displayName = 'ResizeObserver';
  43. }
  44. RefResizeObserver.Collection = _Collection.Collection;
  45. var _default = exports.default = RefResizeObserver;