UNPKG

@nutui/nutui-react

Version:

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

74 lines (73 loc) 3.47 kB
import { _ as _define_property } from "@swc/helpers/_/_define_property"; import { _ as _object_spread } from "@swc/helpers/_/_object_spread"; import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props"; import { _ as _object_without_properties } from "@swc/helpers/_/_object_without_properties"; import React, { useContext } from "react"; import classNames from "classnames"; import { ComponentDefaults } from "../../utils/typings"; import CellGroup from "../cellgroup"; import CellGroupContext from "../cellgroup/context"; import { useRtl } from "../configprovider"; var defaultProps = _object_spread_props(_object_spread({}, ComponentDefaults), { title: null, description: null, extra: null, radius: '6px', align: 'flex-start', clickable: false, isLast: false, onClick: function(event) {} }); var classPrefix = 'nut-cell'; export var Cell = function(props) { var ctx = useContext(CellGroupContext); var _ref = _object_spread({}, defaultProps, props), children = _ref.children, clickable = _ref.clickable, onClick = _ref.onClick, title = _ref.title, description = _ref.description, extra = _ref.extra, radius = _ref.radius, align = _ref.align, isLast = _ref.isLast, className = _ref.className, style = _ref.style, rest = _object_without_properties(_ref, [ "children", "clickable", "onClick", "title", "description", "extra", "radius", "align", "isLast", "className", "style" ]); var rtl = useRtl(); var handleClick = function(event) { onClick(event); }; var baseStyle = _object_spread_props(_object_spread({}, style), { borderRadius: Number.isNaN(Number(radius)) ? String(radius) : "".concat(radius, "px"), alignItems: align }); var _obj; return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement("div", _object_spread({ className: "".concat(classNames([ classPrefix, className, _define_property({}, "".concat(classPrefix, "-group-item"), ctx === null || ctx === void 0 ? void 0 : ctx.group) ], clickable ? "".concat(classPrefix, "-clickable") : '')), onClick: function(event) { return handleClick(event); }, style: baseStyle }, rest), children || /*#__PURE__*/ React.createElement(React.Fragment, null, title || description ? /*#__PURE__*/ React.createElement("div", { className: "".concat(classPrefix, "-left") }, title ? /*#__PURE__*/ React.createElement("div", { className: "".concat(classPrefix, "-title") }, title) : null, description ? /*#__PURE__*/ React.createElement("div", { className: "".concat(classPrefix, "-description") }, description) : null) : null, extra ? /*#__PURE__*/ React.createElement("div", { className: "".concat(classPrefix, "-extra") }, extra) : null)), (ctx === null || ctx === void 0 ? void 0 : ctx.divider) && !isLast ? /*#__PURE__*/ React.createElement("div", { className: classNames([ (_obj = {}, _define_property(_obj, "".concat(classPrefix, "-divider"), true), _define_property(_obj, "".concat(classPrefix, "-divider-rtl"), rtl), _obj) ]) }, /*#__PURE__*/ React.createElement("div", { className: "".concat(classPrefix, "-divider-inner") })) : null); }; Cell.displayName = 'NutCell'; Cell.Group = CellGroup;