@rxflow/base
Version:
BaseFlow - 核心 Flow 组件库
46 lines (44 loc) • 1.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useScrollerOptions = exports.defaultOptions = void 0;
var _ahooks = require("ahooks");
var _react = require("react");
var _merge = _interopRequireDefault(require("lodash/merge"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* @author: yanxianliang
* @date: 2025-08-10 17:13
* @desc: 获取滚动条配置
*
* Copyright (c) 2025 by yanxianliang, All Rights Reserved.
*/
const defaultOptions = exports.defaultOptions = {
pageVisible: false,
pageBreak: false
};
const useScrollerOptions = options => {
const size = (0, _ahooks.useSize)(options.scrollerContainer);
return (0, _react.useMemo)(() => {
const result = (0, _merge.default)({}, defaultOptions, options);
if (result.pageWidth == null) {
if (typeof options.width === 'number') {
result.pageWidth = options.width;
} else {
result.pageWidth = size?.width;
}
}
if (result.pageHeight == null) {
if (typeof options.height === 'number') {
result.pageHeight = options.height;
} else {
result.pageHeight = size?.height;
}
}
result.clientWidth = size?.width;
result.clientHeight = size?.height;
return result;
}, [size?.width, size?.height]);
};
exports.useScrollerOptions = useScrollerOptions;