nice-ui
Version:
React design system, components, and utilities
31 lines (30 loc) • 1.62 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.ToolbarMenuItemTerminal = void 0;
const React = require("react");
const ToolbarItem_1 = require("../ToolbarItem");
const context_1 = require("../../Popup/context");
const context_2 = require("./context");
const useSyncStore_1 = require("../../../hooks/useSyncStore");
const ToolbarMenuItemTerminal = ({ item, small, outline, fill, disabled, }) => {
const popup = (0, context_1.usePopup)();
const toolbar = (0, context_2.useToolbarMenu)();
const openPanel = toolbar?.openPanel;
const isTerminal = !item.children || item.children.length === 0;
const active = !!(0, useSyncStore_1.useSyncStoreOpt)(item.active);
const disabled_ = !!(0, useSyncStore_1.useSyncStoreOpt)(item.disabled);
disabled = disabled || disabled_;
if (!isTerminal)
return null;
const id = item.id ?? item.name;
return (React.createElement(ToolbarItem_1.ToolbarItem, { small: small, outline: outline, fill: fill, disabled: disabled, selected: active, children: item.icon?.(), onMouseEnter: disabled ? void 0 : () => openPanel?.onMouseMove(id), onMouseMove: disabled ? void 0 : () => openPanel?.onMouseMove(id), onMouseLeave: disabled ? void 0 : openPanel?.onMouseLeave, onClick: disabled
? void 0
: (event) => {
popup?.close();
toolbar?.execute(item, event);
}, tooltip: {
shortcut: item.keys?.join(''),
renderTooltip: () => item.name ?? item.id ?? '',
} }));
};
exports.ToolbarMenuItemTerminal = ToolbarMenuItemTerminal;
;