UNPKG

@trail-ui/react

Version:
80 lines (77 loc) 2.91 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/tooltip/index.ts var tooltip_exports = {}; __export(tooltip_exports, { Tooltip: () => Tooltip, TooltipTrigger: () => TooltipTrigger }); module.exports = __toCommonJS(tooltip_exports); // src/tooltip/tooltip.tsx var import_shared_utils = require("@trail-ui/shared-utils"); var import_theme = require("@trail-ui/theme"); var import_react = require("react"); var import_react_aria_components = require("react-aria-components"); var import_jsx_runtime = require("react/jsx-runtime"); function Tooltip(props) { const { children, showArrow = false, offset = 8, placement = "top", color, size, radius, shadow, classNames, className, ...otherProps } = props; const slots = (0, import_react.useMemo)( () => (0, import_theme.popover)({ color, size, radius, shadow }), [color, size, radius, shadow] ); const baseStyles = (0, import_shared_utils.clsx)(classNames == null ? void 0 : classNames.base, className); const arrowContent = (0, import_react.useMemo)(() => { if (!showArrow) return null; return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_aria_components.OverlayArrow, { className: slots.arrow({ class: classNames == null ? void 0 : classNames.arrow }), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: 12, height: 12, viewBox: "0 0 12 12", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M0 0 L6 6 L12 0" }) }) }); }, [classNames == null ? void 0 : classNames.arrow, showArrow, slots]); return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)( import_react_aria_components.Tooltip, { offset, placement, ...otherProps, className: slots.base({ class: baseStyles }), children: [ arrowContent, children ] } ); } function TooltipTrigger(props) { return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_aria_components.TooltipTrigger, { delay: 200, closeDelay: 400, ...props }); } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { Tooltip, TooltipTrigger });