@nutui/nutui-react
Version:
京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序
42 lines (41 loc) • 2.01 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 React from "react";
import classNames from "classnames";
import { ComponentDefaults } from "../../utils/typings";
import { getIcon } from "./utils";
var defaultProps = _object_spread_props(_object_spread({}, ComponentDefaults), {
icon: null,
onClick: function(event) {}
});
var classPrefix = 'nut-hoverbutton-item';
export var HoverButtonItem = function(props) {
var _$_object_spread = _object_spread({}, defaultProps, props), className = _$_object_spread.className, children = _$_object_spread.children, style = _$_object_spread.style, icon = _$_object_spread.icon, onClick = _$_object_spread.onClick;
var handleClick = function(event) {
if (onClick) {
onClick(event);
}
};
var renderBody = function() {
if (icon && !children) return /*#__PURE__*/ React.createElement("div", {
className: "".concat(classPrefix, "-icon")
}, getIcon(icon));
if (icon && children) {
return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement("div", {
className: classNames(_define_property({}, "".concat(classPrefix, "-text-icon"), true))
}), getIcon(icon), /*#__PURE__*/ React.createElement("div", {
className: classNames(_define_property({}, "".concat(classPrefix, "-text"), true))
}, children));
}
};
return /*#__PURE__*/ React.createElement("div", {
className: classNames([
"".concat(classPrefix, "-container"),
className
], _define_property({}, "".concat(classPrefix, "-container-icontext"), icon && children)),
style: style,
onClick: handleClick
}, renderBody());
};
HoverButtonItem.displayName = 'NutHoverButtonItem';