acud
Version:
acg react 组件库
50 lines • 1.52 kB
JavaScript
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
import _extends from "@babel/runtime/helpers/esm/extends";
import * as React from 'react';
import ResizeObserver from 'rc-resize-observer';
import classNames from 'classnames';
/**
* Fill component to provided the scroll content real height.
*/
var Filler = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
var height = _ref.height,
offset = _ref.offset,
children = _ref.children,
prefixCls = _ref.prefixCls,
onInnerResize = _ref.onInnerResize;
var outerStyle = {};
var innerStyle = {
display: 'flex',
flexDirection: 'column'
};
if (offset !== undefined) {
outerStyle = {
height: height,
position: 'relative',
overflow: 'hidden'
};
innerStyle = _extends(_extends({}, innerStyle), {
transform: "translateY(".concat(offset, "px)"),
position: 'absolute',
left: 0,
right: 0,
top: 0
});
}
return /*#__PURE__*/React.createElement("div", {
style: outerStyle
}, /*#__PURE__*/React.createElement(ResizeObserver, {
onResize: function onResize(_ref2) {
var offsetHeight = _ref2.offsetHeight;
if (offsetHeight && onInnerResize) {
onInnerResize();
}
}
}, /*#__PURE__*/React.createElement("div", {
style: innerStyle,
className: classNames(_defineProperty({}, "".concat(prefixCls, "-holder-inner"), prefixCls)),
ref: ref
}, children)));
});
Filler.displayName = 'Filler';
export default Filler;