UNPKG

linkmore-design

Version:

🌈 πŸš€lmη»„δ»ΆεΊ“γ€‚πŸš€

34 lines (32 loc) β€’ 1.13 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useSticky; var React = _interopRequireWildcard(require("react")); var _canUseDom = _interopRequireDefault(require("rc-util/lib/Dom/canUseDom")); // fix ssr render const defaultContainer = (0, _canUseDom.default)() ? window : null; /** Sticky header hooks */ function useSticky(sticky, prefixCls) { const { offsetHeader = 0, offsetSummary = 0, offsetScroll = 0, getContainer = () => defaultContainer } = typeof sticky === 'object' ? sticky : {}; const container = getContainer() || defaultContainer; return React.useMemo(() => { const isSticky = !!sticky; return { isSticky, stickyClassName: isSticky ? `${prefixCls}-sticky-holder` : '', offsetHeader, offsetSummary, offsetScroll, container }; }, [offsetScroll, offsetHeader, offsetSummary, prefixCls, container]); }