UNPKG

@nutui/nutui-react

Version:

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

73 lines (72 loc) 2.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "Grid", { enumerable: true, get: function() { return Grid; } }); var _interop_require_default = require("@swc/helpers/_/_interop_require_default"); var _define_property = require("@swc/helpers/_/_define_property"); var _object_spread = require("@swc/helpers/_/_object_spread"); var _object_without_properties = require("@swc/helpers/_/_object_without_properties"); var _react = /*#__PURE__*/ _interop_require_default._(require("react")); var _classnames = /*#__PURE__*/ _interop_require_default._(require("classnames")); var _griditem = require("../griditem/griditem"); var _context = /*#__PURE__*/ _interop_require_default._(require("./context")); var defaultProps = { columns: 4, gap: 9, center: true, square: true, reverse: false, direction: 'vertical' }; var Grid = function Grid(props) { var _ref = (0, _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 = (0, _object_without_properties._)(_ref, [ "children", "columns", "gap", "center", "square", "reverse", "direction", "style", "className", "onClick" ]); var childrenDom = _react.default.Children.toArray(children); var classPrefix = 'nut-grid'; var rootClass = function rootClass() { return (0, _classnames.default)(classPrefix, (0, _define_property._)({}, "".concat(classPrefix, "-border"), !gap), className); }; var rootStyle = function rootStyle() { var styleSelf = {}; if (style) { styleSelf = style; } return styleSelf; }; return /*#__PURE__*/ _react.default.createElement("div", (0, _object_spread._)({ className: rootClass(), style: rootStyle() }, rest), /*#__PURE__*/ _react.default.createElement(_context.default.Provider, { value: { onClick: onClick } }, childrenDom.map(function(item, idex) { return /*#__PURE__*/ _react.default.cloneElement(item, { index: idex, columns: columns, center: center, gap: gap, square: square, reverse: reverse, direction: direction }); }))); }; Grid.displayName = 'NutGrid'; Grid.Item = _griditem.GridItem;