12345678910111213141516171819202122232425262728293031323334 |
- import _extends from "@babel/runtime/helpers/esm/extends";
- import * as React from 'react';
- import toArray from "rc-util/es/Children/toArray";
- import { warning } from "rc-util/es/warning";
- import SingleObserver from "./SingleObserver";
- import { Collection } from "./Collection";
- var INTERNAL_PREFIX_KEY = 'rc-observer-key';
- import { _rs } from "./utils/observerUtil";
- export { /** @private Test only for mock trigger resize event */
- _rs };
- function ResizeObserver(props, ref) {
- var children = props.children;
- var childNodes = typeof children === 'function' ? [children] : toArray(children);
- if (process.env.NODE_ENV !== 'production') {
- if (childNodes.length > 1) {
- warning(false, 'Find more than one child node with `children` in ResizeObserver. Please use ResizeObserver.Collection instead.');
- } else if (childNodes.length === 0) {
- warning(false, '`children` of ResizeObserver is empty. Nothing is in observe.');
- }
- }
- return childNodes.map(function (child, index) {
- var key = (child === null || child === void 0 ? void 0 : child.key) || "".concat(INTERNAL_PREFIX_KEY, "-").concat(index);
- return /*#__PURE__*/React.createElement(SingleObserver, _extends({}, props, {
- key: key,
- ref: index === 0 ? ref : undefined
- }), child);
- });
- }
- var RefResizeObserver = /*#__PURE__*/React.forwardRef(ResizeObserver);
- if (process.env.NODE_ENV !== 'production') {
- RefResizeObserver.displayName = 'ResizeObserver';
- }
- RefResizeObserver.Collection = Collection;
- export default RefResizeObserver;
|