@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 =
|
|
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
|
|
138
|
-
var
|
|
139
|
-
var
|
|
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 =
|
|
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), -
|
|
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
|
};
|