UNPKG

@gravity-ui/uikit

Version:

Gravity UI base styling and components

24 lines (23 loc) 1.63 kB
'use client'; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ActionTooltip = ActionTooltip; const tslib_1 = require("tslib"); const jsx_runtime_1 = require("react/jsx-runtime"); const React = tslib_1.__importStar(require("react")); const Hotkey_1 = require("../Hotkey/index.js"); const Tooltip_1 = require("../Tooltip/index.js"); const useDefaultProps_1 = require("../theme/useDefaultProps.js"); const cn_1 = require("../utils/cn.js"); require("./ActionTooltip.css"); const b = (0, cn_1.block)('action-tooltip'); const DEFAULT_OPEN_DELAY = 500; const DEFAULT_CLOSE_DELAY = 0; function ActionTooltip(rawProps) { const { title, description, hotkey, openDelay = DEFAULT_OPEN_DELAY, closeDelay = DEFAULT_CLOSE_DELAY, className, ...restProps } = (0, useDefaultProps_1.useDefaultProps)('ActionTooltip', rawProps); const content = React.useMemo(() => ((0, jsx_runtime_1.jsxs)(React.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { className: b('heading'), children: [(0, jsx_runtime_1.jsx)("div", { className: b('title'), children: title }), hotkey && (0, jsx_runtime_1.jsx)(Hotkey_1.Hotkey, { view: "dark", value: hotkey, className: b('hotkey') })] }), description && (0, jsx_runtime_1.jsx)("div", { className: b('description'), children: description })] })), [title, description, hotkey]); return ((0, jsx_runtime_1.jsx)(Tooltip_1.Tooltip, { ...restProps, // eslint-disable-next-line jsx-a11y/aria-role role: "label", content: content, openDelay: openDelay, closeDelay: closeDelay, className: b(null, className) })); } //# sourceMappingURL=ActionTooltip.js.map