UNPKG

@wener/console

Version:
30 lines (29 loc) 1.8 kB
import { Tooltip as BaseTooltip } from "@base-ui/react/tooltip"; import { cn } from "../utils/cn.js"; (function (Tooltip) { Tooltip.Provider = BaseTooltip.Provider; function Composite(param) { var children = param.children, content = param.content, _param_portal = param.portal, portal = _param_portal === void 0 ? false : _param_portal, _param_placement = param.placement, placement = _param_placement === void 0 ? "top" : _param_placement, className = param.className, _param_disabled = param.disabled, disabled = _param_disabled === void 0 ? false : _param_disabled, delay = param.delay; // SSR 不支持 if (typeof window === "undefined") return children; // 没有内容或禁用时直接返回子元素 if (!content || disabled) return children; return /*#__PURE__*/ React.createElement(BaseTooltip.Root, null, /*#__PURE__*/ React.createElement(BaseTooltip.Trigger, { render: children }), /*#__PURE__*/ React.createElement(BaseTooltip.Portal, { container: portal ? undefined : null }, /*#__PURE__*/ React.createElement(BaseTooltip.Positioner, { side: placement, sideOffset: 4, className: "z-50" }, /*#__PURE__*/ React.createElement(BaseTooltip.Popup, { className: cn("Tooltip bg-neutral text-neutral-content max-w-xs rounded px-2 py-1 text-sm shadow-lg", "animate-in fade-in-0 zoom-in-95", "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95", className) }, content, /*#__PURE__*/ React.createElement(BaseTooltip.Arrow, { className: "fill-neutral" }))))); } Tooltip.Composite = Composite; })(Tooltip || (Tooltip = {})); export var Tooltip;