UNPKG

@nutui/nutui-react

Version:

京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序

62 lines (61 loc) 2.11 kB
import { _ as _define_property } from "@swc/helpers/_/_define_property"; import { _ as _object_spread } from "@swc/helpers/_/_object_spread"; import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties"; import React from "react"; import classNames from "classnames"; import { GridItem } from "../griditem/griditem"; import GridContext from "./context"; var defaultProps = { columns: 4, gap: 9, center: true, square: true, reverse: false, direction: 'vertical' }; export var Grid = function(props) { var _ref = _object_spread({}, defaultProps, props), children = _ref.children, columns = _ref.columns, gap = _ref.gap, center = _ref.center, square = _ref.square, reverse = _ref.reverse, direction = _ref.direction, style = _ref.style, className = _ref.className, onClick = _ref.onClick, rest = _object_without_properties(_ref, [ "children", "columns", "gap", "center", "square", "reverse", "direction", "style", "className", "onClick" ]); var childrenDom = React.Children.toArray(children); var classPrefix = 'nut-grid'; var rootClass = function() { return classNames(classPrefix, _define_property({}, "".concat(classPrefix, "-border"), !gap), className); }; var rootStyle = function() { var styleSelf = {}; if (style) { styleSelf = style; } return styleSelf; }; return /*#__PURE__*/ React.createElement("div", _object_spread({ className: rootClass(), style: rootStyle() }, rest), /*#__PURE__*/ React.createElement(GridContext.Provider, { value: { onClick: onClick } }, childrenDom.map(function(item, idex) { return /*#__PURE__*/ React.cloneElement(item, { index: idex, columns: columns, center: center, gap: gap, square: square, reverse: reverse, direction: direction }); }))); }; Grid.displayName = 'NutGrid'; Grid.Item = GridItem;