UNPKG

nice-ui

Version:

React design system, components, and utilities

31 lines (30 loc) 1.62 kB
"use strict"; 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;