@dust-tt/sparkle 0.2.243 → 0.2.244-rc

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -40400,9 +40400,12 @@ function Tooltip(_a) {
40400
40400
  var _c = __read(React.useState(false), 2), isHovered = _c[0], setIsHovered = _c[1];
40401
40401
  var _d = __read(React.useState(null), 2), timerId = _d[0], setTimerId = _d[1];
40402
40402
  var _e = __read(React.useState(false), 2), isTouchDevice = _e[0], setIsTouchDevice = _e[1];
40403
+ var _f = __read(React.useState({ top: 0, left: 0 }), 2), tooltipPosition = _f[0], setTooltipPosition = _f[1];
40404
+ var triggerRef = React.useRef(null);
40403
40405
  var handleMouseOver = function () {
40404
40406
  var id = window.setTimeout(function () {
40405
40407
  setIsHovered(true);
40408
+ updateTooltipPosition();
40406
40409
  }, 600);
40407
40410
  setTimerId(id);
40408
40411
  };
@@ -40412,6 +40415,15 @@ function Tooltip(_a) {
40412
40415
  }
40413
40416
  setIsHovered(false);
40414
40417
  };
40418
+ var updateTooltipPosition = function () {
40419
+ if (triggerRef.current) {
40420
+ var rect = triggerRef.current.getBoundingClientRect();
40421
+ setTooltipPosition({
40422
+ top: position === "above" ? rect.top - 10 : rect.bottom + 10,
40423
+ left: rect.left + rect.width / 2,
40424
+ });
40425
+ }
40426
+ };
40415
40427
  React.useEffect(function () {
40416
40428
  setIsTouchDevice("ontouchstart" in window || navigator.maxTouchPoints > 0);
40417
40429
  return function () {
@@ -40420,21 +40432,30 @@ function Tooltip(_a) {
40420
40432
  }
40421
40433
  };
40422
40434
  }, [timerId]);
40435
+ React.useEffect(function () {
40436
+ window.addEventListener("scroll", updateTooltipPosition);
40437
+ window.addEventListener("resize", updateTooltipPosition);
40438
+ return function () {
40439
+ window.removeEventListener("scroll", updateTooltipPosition);
40440
+ window.removeEventListener("resize", updateTooltipPosition);
40441
+ };
40442
+ }, []);
40423
40443
  if (isTouchDevice) {
40424
40444
  return React.createElement(React.Fragment, null, children);
40425
40445
  }
40426
- var baseClasses = classNames("s-absolute s-z-10 s-px-3 s-py-2 s-text-sm s-rounded-xl s-border s-shadow-md s-transition-all s-duration-500 s-ease-out s-transform", "s-border-structure-100 dark:s-border-structure-50-dark s-bg-structure-0 dark:s-bg-structure-100-dark s-text-element-700 dark:s-text-element-600-dark");
40427
- var hiddenClasses = "s-translate-y-2 s-opacity-0 s-pointer-events-none"; // Added s-pointer-events-none
40446
+ var baseClasses = classNames("s-fixed s-z-50 s-px-3 s-py-2 s-text-sm s-rounded-xl s-border s-shadow-md s-transition-all s-duration-500 s-ease-out s-transform", "s-border-structure-100 dark:s-border-structure-50-dark s-bg-structure-0 dark:s-bg-structure-100-dark s-text-element-700 dark:s-text-element-600-dark");
40447
+ var hiddenClasses = "s-translate-y-2 s-opacity-0 s-pointer-events-none";
40428
40448
  var visibleClasses = "-s-translate-y-0 s-opacity-100";
40429
40449
  var hiddenOnMobileClasses = "s-hidden sm:s-block";
40430
- var tooltipCenterClasses = "s-left-1/2 -s-translate-x-1/2";
40431
- var tooltipPositionClasses = position === "above" ? "s-bottom-full s-mb-2" : "s-top-full s-mt-2";
40432
- // if tooltip text is too long we need to wrap it
40450
+ var tooltipCenterClasses = "-s-translate-x-1/2";
40433
40451
  var labelLength = (label === null || label === void 0 ? void 0 : label.length) || 0;
40434
40452
  var labelClasses = labelLength > 80 ? "s-w-[38em]" : "s-whitespace-nowrap";
40435
- return (React.createElement("div", { onMouseEnter: handleMouseOver, onMouseLeave: handleMouseLeave, className: "s-relative s-inline-block" },
40453
+ return (React.createElement("div", { ref: triggerRef, onMouseEnter: handleMouseOver, onMouseLeave: handleMouseLeave, className: "s-relative s-inline-block" },
40436
40454
  children,
40437
- React.createElement("div", { className: classNames("".concat(isHovered ? visibleClasses : hiddenClasses), baseClasses, hiddenOnMobileClasses, tooltipPositionClasses, tooltipCenterClasses, contentChildren ? "" : labelClasses), onAnimationEnd: function () { return setIsHovered(false); } }, contentChildren || label)));
40455
+ React.createElement("div", { className: classNames("".concat(isHovered ? visibleClasses : hiddenClasses), baseClasses, hiddenOnMobileClasses, tooltipCenterClasses, contentChildren ? "" : labelClasses), style: {
40456
+ top: "".concat(tooltipPosition.top, "px"),
40457
+ left: "".concat(tooltipPosition.left, "px"),
40458
+ }, onAnimationEnd: function () { return setIsHovered(false); } }, contentChildren || label)));
40438
40459
  }
40439
40460
 
40440
40461
  var textClasses = {