UNPKG

react-masonry-component2

Version:

react 的瀑布流组件库,支持 columns 布局、弹性布局、绝对定位布局三种方法实现

25 lines (22 loc) 1.18 kB
import { __assign } from '../node_modules/tslib/tslib.es6.js'; import { jsx } from 'react/jsx-runtime'; import { MasonryDirection, DEFAULT_COLUMNS_COUNT_POINTS } from './const.js'; import { useColumnCount } from './hooks/index.js'; import MasonryAbsolute from './masonry-absolute/index.js'; import MasonryColumn from './masonry-column/index.js'; import MasonryFlex from './masonry-flex/index.js'; var Masonry = function (props) { var _a = props.direction, direction = _a === void 0 ? MasonryDirection.row : _a, _b = props.columnsCountBreakPoints, columnsCountBreakPoints = _b === void 0 ? DEFAULT_COLUMNS_COUNT_POINTS : _b, useAbsolute = props.useAbsolute; var columnCount = useColumnCount(columnsCountBreakPoints); if (useAbsolute) { return jsx(MasonryAbsolute, __assign({}, props, { columnCount: columnCount })); } if (direction === MasonryDirection.column) { return jsx(MasonryColumn, __assign({}, props, { columnCount: columnCount })); } if (direction === MasonryDirection.row) { return jsx(MasonryFlex, __assign({}, props, { columnCount: columnCount })); } return jsx("div", {}); }; export { Masonry as default };