@underverse-ui/underverse 1.0.121 → 1.0.123

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/index.d.cts CHANGED
@@ -2094,6 +2094,7 @@ interface CarouselEffectOptions {
2094
2094
  sideOpacity?: number;
2095
2095
  farOpacity?: number;
2096
2096
  sideOffset?: number;
2097
+ verticalOffset?: number;
2097
2098
  rotate?: number;
2098
2099
  depthStep?: number;
2099
2100
  blur?: number;
package/dist/index.d.ts CHANGED
@@ -2094,6 +2094,7 @@ interface CarouselEffectOptions {
2094
2094
  sideOpacity?: number;
2095
2095
  farOpacity?: number;
2096
2096
  sideOffset?: number;
2097
+ verticalOffset?: number;
2097
2098
  rotate?: number;
2098
2099
  depthStep?: number;
2099
2100
  blur?: number;
package/dist/index.js CHANGED
@@ -2861,6 +2861,7 @@ var Tooltip = React10.forwardRef(({
2861
2861
  const panelRef = React10.useRef(null);
2862
2862
  const timeoutRef = React10.useRef(void 0);
2863
2863
  const lastAppliedRef = React10.useRef(null);
2864
+ const openedByPointerRef = React10.useRef(false);
2864
2865
  const triggerSelector = React10.useId();
2865
2866
  const delayOpen = typeof delay === "object" ? delay.open || 700 : delay;
2866
2867
  const delayClose = typeof delay === "object" ? delay.close || 300 : delay;
@@ -2904,6 +2905,7 @@ var Tooltip = React10.forwardRef(({
2904
2905
  }, [placement]);
2905
2906
  const handleMouseEnter = () => {
2906
2907
  if (disabled) return;
2908
+ openedByPointerRef.current = true;
2907
2909
  clearTimeout(timeoutRef.current);
2908
2910
  timeoutRef.current = setTimeout(() => {
2909
2911
  setIsOpen(true);
@@ -2917,13 +2919,16 @@ var Tooltip = React10.forwardRef(({
2917
2919
  };
2918
2920
  const closeNow = React10.useCallback(() => {
2919
2921
  clearTimeout(timeoutRef.current);
2922
+ openedByPointerRef.current = false;
2920
2923
  setIsOpen(false);
2921
2924
  }, []);
2922
2925
  const handleFocus = () => {
2923
2926
  if (disabled) return;
2927
+ openedByPointerRef.current = false;
2924
2928
  setIsOpen(true);
2925
2929
  };
2926
2930
  const handleBlur = () => {
2931
+ openedByPointerRef.current = false;
2927
2932
  setIsOpen(false);
2928
2933
  };
2929
2934
  React10.useEffect(() => {
@@ -2981,11 +2986,25 @@ var Tooltip = React10.forwardRef(({
2981
2986
  const handleDocumentKeyDown = (event) => {
2982
2987
  if (event.key === "Escape") closeNow();
2983
2988
  };
2989
+ const handleDocumentPointerMove = (event) => {
2990
+ if (!openedByPointerRef.current) return;
2991
+ const triggerEl = triggerRef.current;
2992
+ if (!triggerEl) {
2993
+ closeNow();
2994
+ return;
2995
+ }
2996
+ const rect = triggerEl.getBoundingClientRect();
2997
+ const tolerance = 2;
2998
+ const insideTrigger = event.clientX >= rect.left - tolerance && event.clientX <= rect.right + tolerance && event.clientY >= rect.top - tolerance && event.clientY <= rect.bottom + tolerance;
2999
+ if (!insideTrigger) closeNow();
3000
+ };
2984
3001
  document.addEventListener("pointerdown", closeNow, true);
2985
3002
  document.addEventListener("keydown", handleDocumentKeyDown);
3003
+ document.addEventListener("pointermove", handleDocumentPointerMove, true);
2986
3004
  return () => {
2987
3005
  document.removeEventListener("pointerdown", closeNow, true);
2988
3006
  document.removeEventListener("keydown", handleDocumentKeyDown);
3007
+ document.removeEventListener("pointermove", handleDocumentPointerMove, true);
2989
3008
  };
2990
3009
  }, [closeNow, isOpen]);
2991
3010
  const childProps = children.props;
@@ -19139,6 +19158,7 @@ function Carousel({
19139
19158
  sideOpacity: effectiveAnimation === "stack" ? 0.8 : 0.86,
19140
19159
  farOpacity: effectiveAnimation === "stack" ? 0.5 : 0.48,
19141
19160
  sideOffset: effectiveAnimation === "stack" ? 20 : 28,
19161
+ verticalOffset: 0,
19142
19162
  rotate: 24,
19143
19163
  depthStep: effectiveAnimation === "stack" ? 60 : 90,
19144
19164
  blur: 1.1,
@@ -19308,22 +19328,23 @@ function Carousel({
19308
19328
  }
19309
19329
  if (effectiveAnimation === "stack") {
19310
19330
  const xOffset2 = distance * mergedEffectOptions.stackOffset;
19311
- const yOffset = absDistance * mergedEffectOptions.stackLift;
19331
+ const yOffset2 = absDistance * mergedEffectOptions.stackLift;
19312
19332
  const scale2 = distance === 0 ? mergedEffectOptions.mainScale : distance === 1 || distance === -1 ? mergedEffectOptions.sideScale : mergedEffectOptions.farScale;
19313
19333
  return {
19314
19334
  opacity: distance === 0 ? 1 : distance === 1 || distance === -1 ? mergedEffectOptions.sideOpacity : mergedEffectOptions.farOpacity,
19315
- transform: `translate3d(${xOffset2}px, ${yOffset}px, -${absDistance * mergedEffectOptions.depthStep}px) scale(${scale2})`,
19335
+ transform: `translate3d(${xOffset2}px, ${yOffset2}px, -${absDistance * mergedEffectOptions.depthStep}px) scale(${scale2})`,
19316
19336
  filter: distance === 0 ? "blur(0px)" : `blur(${Math.min(absDistance, 2) * mergedEffectOptions.blur}px)`,
19317
19337
  pointerEvents: "auto",
19318
19338
  zIndex: 30 - absDistance
19319
19339
  };
19320
19340
  }
19321
19341
  const xOffset = distance * mergedEffectOptions.sideOffset;
19342
+ const yOffset = mergedEffectOptions.verticalOffset ?? 0;
19322
19343
  const rotateY = distance * -mergedEffectOptions.rotate;
19323
19344
  const scale = distance === 0 ? mergedEffectOptions.mainScale : distance === 1 || distance === -1 ? mergedEffectOptions.sideScale : mergedEffectOptions.farScale;
19324
19345
  return {
19325
19346
  opacity: distance === 0 ? 1 : distance === 1 || distance === -1 ? mergedEffectOptions.sideOpacity : mergedEffectOptions.farOpacity,
19326
- transform: `translate3d(${xOffset}%, 0, -${absDistance * mergedEffectOptions.depthStep}px) rotateY(${rotateY}deg) scale(${scale})`,
19347
+ transform: `translate3d(${xOffset}%, ${yOffset}px, -${absDistance * mergedEffectOptions.depthStep}px) rotateY(${rotateY}deg) scale(${scale})`,
19327
19348
  filter: distance === 0 ? "blur(0px)" : `blur(${Math.min(absDistance, 2) * mergedEffectOptions.blur}px)`,
19328
19349
  pointerEvents: "auto",
19329
19350
  zIndex: 30 - absDistance