@dust-tt/sparkle 0.2.46-teta → 0.2.47

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.
@@ -12,9 +12,11 @@ interface Hover3DProps {
12
12
  perspective?: number;
13
13
  className?: string;
14
14
  depth?: number;
15
+ range?: number;
15
16
  fullscreenSensible?: boolean;
17
+ reference?: "screen" | "object";
16
18
  }
17
- declare function Hover3D({ children, xOffset, yOffset, attack, release, perspective, depth, className, fullscreenSensible, }: Hover3DProps): React.JSX.Element;
19
+ declare function Hover3D({ children, xOffset, yOffset, attack, release, perspective, depth, className, range, fullscreenSensible, reference, }: Hover3DProps): React.JSX.Element;
18
20
  interface divProps {
19
21
  depth: number;
20
22
  children: React.ReactNode;
package/dist/cjs/index.js CHANGED
@@ -132,11 +132,11 @@ var Hover3DContext = React.createContext({ isHovered: false });
132
132
  // Custom hook to use the context
133
133
  var useHover3D = function () { return React.useContext(Hover3DContext); };
134
134
  function Hover3D(_a) {
135
- var children = _a.children, _b = _a.xOffset, xOffset = _b === void 0 ? 10 : _b, _c = _a.yOffset, yOffset = _c === void 0 ? 10 : _c, _d = _a.attack, attack = _d === void 0 ? 0.1 : _d, _e = _a.release, release = _e === void 0 ? 0.5 : _e, _f = _a.perspective, perspective = _f === void 0 ? 500 : _f, _g = _a.depth, depth = _g === void 0 ? -10 : _g, _h = _a.className, className = _h === void 0 ? "" : _h, _j = _a.fullscreenSensible, fullscreenSensible = _j === void 0 ? false : _j;
135
+ var children = _a.children, _b = _a.xOffset, xOffset = _b === void 0 ? 10 : _b, _c = _a.yOffset, yOffset = _c === void 0 ? 10 : _c, _d = _a.attack, attack = _d === void 0 ? 0.1 : _d, _e = _a.release, release = _e === void 0 ? 0.5 : _e, _f = _a.perspective, perspective = _f === void 0 ? 500 : _f, _g = _a.depth, depth = _g === void 0 ? -10 : _g, _h = _a.className, className = _h === void 0 ? "" : _h, _j = _a.range, range = _j === void 0 ? 3 : _j, _k = _a.fullscreenSensible, fullscreenSensible = _k === void 0 ? false : _k, _l = _a.reference, reference = _l === void 0 ? "object" : _l;
136
136
  var elementRef = React.useRef(null);
137
- var _k = __read(React.useState(fullscreenSensible), 2), isHovered = _k[0], setHovered = _k[1];
138
- var _l = __read(React.useState("perspective(".concat(perspective, "px) translateZ(").concat(fullscreenSensible ? depth : 0, "px)")), 2), transform = _l[0], setTransform = _l[1];
139
- var _m = __read(React.useState(""), 2), transition = _m[0], setTransition = _m[1];
137
+ var _m = __read(React.useState(fullscreenSensible), 2), isHovered = _m[0], setHovered = _m[1];
138
+ var _o = __read(React.useState("perspective(".concat(perspective, "px) translateZ(").concat(fullscreenSensible ? depth : 0, "px)")), 2), transform = _o[0], setTransform = _o[1];
139
+ var _p = __read(React.useState(""), 2), transition = _p[0], setTransition = _p[1];
140
140
  var clamp = function (value, min, max) {
141
141
  return Math.min(Math.max(value, min), max);
142
142
  };
@@ -151,11 +151,13 @@ function Hover3D(_a) {
151
151
  };
152
152
  var handleMouseMove = function (e) {
153
153
  if (element) {
154
- var rect = element.getBoundingClientRect();
154
+ var rect = reference === "object"
155
+ ? element.getBoundingClientRect()
156
+ : document.body.getBoundingClientRect();
155
157
  var dx = e.clientX - rect.left;
156
158
  var dy = e.clientY - rect.top;
157
159
  var xRot = clamp(map(dx, 0, rect.width, -xOffset, xOffset), -xOffset, xOffset);
158
- var yRot = clamp(map(dy, 0, rect.height, yOffset, -yOffset), -4 * yOffset, 4 * yOffset);
160
+ var yRot = clamp(map(dy, 0, rect.height, yOffset, -yOffset), -range * yOffset, range * yOffset);
159
161
  setTransform("perspective(".concat(perspective, "px) rotateX(").concat(yRot, "deg) rotateY(").concat(xRot, "deg) translateZ(").concat(depth, "px)"));
160
162
  }
161
163
  };