@nutui/nutui-react
Version:
京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序
74 lines (73 loc) • 3.47 kB
JavaScript
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;