mobile-more
Version:
基于 antd-mobile v5 扩展移动端 UI 组件
59 lines (58 loc) • 2.59 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var React = _interopRequireWildcard(require("react"));
var _classnames = _interopRequireDefault(require("classnames"));
var _ut = require("ut2");
var _config = require("../../config");
require("./index.css");
var _utils = require("../../utils/utils");
var _excluded = ["left", "right", "center", "className"];
var prefixCls = "".concat(_config.prefixClass, "-head");
var BaseHead = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
var left = _ref.left,
right = _ref.right,
center = _ref.center,
className = _ref.className,
restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
var uid = React.useMemo(function () {
return (0, _utils.getTimestampString)('__base_head_');
}, []);
var generatorChilds = React.useCallback(function (childs) {
if ((0, _ut.isArray)(childs)) {
return childs.map(function (item, index) {
return /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-button"),
key: /*#__PURE__*/React.isValidElement(item) && (item === null || item === void 0 ? void 0 : item.key) || uid + index
}, item);
});
}
return childs ? /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-button")
}, childs) : null;
}, [uid]);
var leftChilds = React.useMemo(function () {
return generatorChilds(left);
}, [generatorChilds, left]);
var rightChilds = React.useMemo(function () {
return generatorChilds(right);
}, [generatorChilds, right]);
return /*#__PURE__*/React.createElement("div", (0, _objectSpread2.default)({
className: (0, _classnames.default)(prefixCls, className),
ref: ref
}, restProps), /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-left")
}, leftChilds), /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-center")
}, center), /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-right")
}, rightChilds));
});
BaseHead.displayName = 'BaseHead';
var _default = exports.default = BaseHead;