UNPKG

@react95/core

Version:
61 lines (60 loc) 1.49 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const React = require("react"); const cn = require("classnames"); const Tooltip_css = require("./Tooltip.css.cjs"); function formatDate(date) { const monthNames = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; const day = date.getDate(); const monthIndex = date.getMonth(); const year = date.getFullYear(); return `${day.toString().padStart(2, "0")} ${monthNames[monthIndex]} ${year}`; } const TooltipRenderer = ({ children, text = formatDate(/* @__PURE__ */ new Date()), delay = 1e3, ...rest }, ref) => { const [show, setShow] = React.useState(false); const [delayTimer, setDelayTimer] = React.useState(0); const handleEnter = () => { const timer = window.setTimeout(() => { setShow(true); }, delay); setDelayTimer(timer); }; const handleLeave = () => { clearTimeout(delayTimer); setShow(false); }; return /* @__PURE__ */ React.createElement( "div", { ...rest, className: cn(Tooltip_css.wrapper, rest.className), onMouseEnter: handleEnter, onMouseLeave: handleLeave, ref }, show && /* @__PURE__ */ React.createElement("div", { className: Tooltip_css.tip }, text), children ); }; const Tooltip = React.forwardRef( TooltipRenderer ); exports.Tooltip = Tooltip;