UNPKG

preact-arco-design

Version:

Arco Design React UI Library.

54 lines (48 loc) 1.7 kB
import React, { forwardRef } from "preact/compat"; import Button from "../../Button"; import { isArray } from "../../_util/is"; function Shortcuts(props, ref) { var prefixCls = props.prefixCls, _a = props.shortcuts, shortcuts = _a === void 0 ? [] : _a, onSelectNow = props.onSelectNow, nowText = props.nowText, showNowBtn = props.showNowBtn, showTime = props.showTime, onMouseEnterShortcut = props.onMouseEnterShortcut, onMouseLeaveShortcut = props.onMouseLeaveShortcut; function _onMouseEnter(shortcut) { onMouseEnterShortcut && onMouseEnterShortcut(shortcut); } function _onMouseLeave(shortcut) { onMouseLeaveShortcut && onMouseLeaveShortcut(shortcut); } function _onClick(shortcut, e) { var onSelectShortcut = props.onSelectShortcut; onSelectShortcut && onSelectShortcut(shortcut, e); } var hasShortcuts = isArray(shortcuts) && shortcuts.length > 0; var shouldShowNowBtn = showNowBtn && showTime && !hasShortcuts; return React.createElement("div", { ref: ref, className: "".concat(prefixCls, "-shortcuts") }, shouldShowNowBtn && React.createElement(Button, { size: "mini", onClick: onSelectNow }, nowText), hasShortcuts && shortcuts.map(function (shortcut, index) { return React.createElement(Button, { key: index, size: "mini", onMouseEnter: function onMouseEnter() { return _onMouseEnter(shortcut); }, onMouseLeave: function onMouseLeave() { return _onMouseLeave(shortcut); }, onClick: function onClick(e) { return _onClick(shortcut, e); } }, shortcut.text); })); } export default forwardRef(Shortcuts);