framer-motion 5.5.4 → 5.5.5
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/three-entry.js
CHANGED
|
@@ -295,6 +295,12 @@ var motion = new Proxy(custom, {
|
|
|
295
295
|
|
|
296
296
|
var MotionCanvasContext = React.createContext(undefined);
|
|
297
297
|
|
|
298
|
+
var devicePixelRatio = typeof window !== "undefined" ? window.devicePixelRatio : 1;
|
|
299
|
+
var calculateDpr = function (dpr) {
|
|
300
|
+
return Array.isArray(dpr)
|
|
301
|
+
? popmotion.clamp(dpr[0], dpr[1], devicePixelRatio)
|
|
302
|
+
: dpr || devicePixelRatio;
|
|
303
|
+
};
|
|
298
304
|
/**
|
|
299
305
|
* This file contains a version of R3F's Canvas component that uses our projection
|
|
300
306
|
* system for layout measurements instead of use-react-measure so we can keep the
|
|
@@ -368,7 +374,11 @@ function CanvasComponent(_a, forwardedRef) {
|
|
|
368
374
|
if (size.width > 0 && size.height > 0) {
|
|
369
375
|
fiber.render(React__namespace.createElement(ErrorBoundary, { set: setError },
|
|
370
376
|
React__namespace.createElement(React__namespace.Suspense, { fallback: React__namespace.createElement(Block, { set: setBlock }) },
|
|
371
|
-
React__namespace.createElement(MotionCanvasContext.Provider, { value: {
|
|
377
|
+
React__namespace.createElement(MotionCanvasContext.Provider, { value: {
|
|
378
|
+
dimensions: dimensions,
|
|
379
|
+
layoutCamera: layoutCamera,
|
|
380
|
+
requestedDpr: calculateDpr(props.dpr),
|
|
381
|
+
} },
|
|
372
382
|
React__namespace.createElement(useMotionValue.MotionConfigContext.Provider, { value: configContext },
|
|
373
383
|
React__namespace.createElement(useMotionValue.MotionContext.Provider, { value: motionContext }, children))))), canvasRef.current, tslib.__assign(tslib.__assign({}, props), { dpr: dpr || props.dpr, size: size, events: events || fiber.events }));
|
|
374
384
|
}
|
|
@@ -392,7 +402,7 @@ function useLayoutCamera(_a, updateCamera) {
|
|
|
392
402
|
var _b = _a.makeDefault, makeDefault = _b === void 0 ? true : _b;
|
|
393
403
|
var context = React.useContext(MotionCanvasContext);
|
|
394
404
|
heyListen.invariant(Boolean(context), "No MotionCanvas detected. Replace Canvas from @react-three/fiber with MotionCanvas from framer-motion.");
|
|
395
|
-
var _c = context, dimensions = _c.dimensions, layoutCamera = _c.layoutCamera;
|
|
405
|
+
var _c = context, dimensions = _c.dimensions, layoutCamera = _c.layoutCamera, requestedDpr = _c.requestedDpr;
|
|
396
406
|
var advance = fiber.useThree(function (three) { return three.advance; });
|
|
397
407
|
var set = fiber.useThree(function (three) { return three.set; });
|
|
398
408
|
var camera = fiber.useThree(function (three) { return three.camera; });
|
|
@@ -418,7 +428,7 @@ function useLayoutCamera(_a, updateCamera) {
|
|
|
418
428
|
*/
|
|
419
429
|
var removeLayoutMeasureListener = projection.addEventListener("measure", function (newLayout) {
|
|
420
430
|
var newSize = calcBoxSize(newLayout);
|
|
421
|
-
var dpr =
|
|
431
|
+
var dpr = requestedDpr;
|
|
422
432
|
var _a = dimensions.current.size, width = _a.width, height = _a.height;
|
|
423
433
|
var xScale = width / newSize.width;
|
|
424
434
|
var yScale = height / newSize.height;
|
|
@@ -443,7 +453,7 @@ function useLayoutCamera(_a, updateCamera) {
|
|
|
443
453
|
updateCamera(newSize);
|
|
444
454
|
dimensions.current = { size: newSize };
|
|
445
455
|
gl.setSize(newSize.width, newSize.height);
|
|
446
|
-
gl.setPixelRatio(
|
|
456
|
+
gl.setPixelRatio(requestedDpr);
|
|
447
457
|
}, 50);
|
|
448
458
|
}
|
|
449
459
|
});
|
|
@@ -8,7 +8,14 @@ import { useIsomorphicLayoutEffect } from '../../utils/use-isomorphic-effect.mjs
|
|
|
8
8
|
import { MotionConfigContext } from '../../context/MotionConfigContext.mjs';
|
|
9
9
|
import { MotionCanvasContext } from './MotionCanvasContext.mjs';
|
|
10
10
|
import { useForceUpdate } from '../../utils/use-force-update.mjs';
|
|
11
|
+
import { clamp } from 'popmotion';
|
|
11
12
|
|
|
13
|
+
var devicePixelRatio = typeof window !== "undefined" ? window.devicePixelRatio : 1;
|
|
14
|
+
var calculateDpr = function (dpr) {
|
|
15
|
+
return Array.isArray(dpr)
|
|
16
|
+
? clamp(dpr[0], dpr[1], devicePixelRatio)
|
|
17
|
+
: dpr || devicePixelRatio;
|
|
18
|
+
};
|
|
12
19
|
/**
|
|
13
20
|
* This file contains a version of R3F's Canvas component that uses our projection
|
|
14
21
|
* system for layout measurements instead of use-react-measure so we can keep the
|
|
@@ -82,7 +89,11 @@ function CanvasComponent(_a, forwardedRef) {
|
|
|
82
89
|
if (size.width > 0 && size.height > 0) {
|
|
83
90
|
render(React.createElement(ErrorBoundary, { set: setError },
|
|
84
91
|
React.createElement(React.Suspense, { fallback: React.createElement(Block, { set: setBlock }) },
|
|
85
|
-
React.createElement(MotionCanvasContext.Provider, { value: {
|
|
92
|
+
React.createElement(MotionCanvasContext.Provider, { value: {
|
|
93
|
+
dimensions: dimensions,
|
|
94
|
+
layoutCamera: layoutCamera,
|
|
95
|
+
requestedDpr: calculateDpr(props.dpr),
|
|
96
|
+
} },
|
|
86
97
|
React.createElement(MotionConfigContext.Provider, { value: configContext },
|
|
87
98
|
React.createElement(MotionContext.Provider, { value: motionContext }, children))))), canvasRef.current, __assign(__assign({}, props), { dpr: dpr || props.dpr, size: size, events: events$1 || events }));
|
|
88
99
|
}
|
|
@@ -17,7 +17,7 @@ function useLayoutCamera(_a, updateCamera) {
|
|
|
17
17
|
var _b = _a.makeDefault, makeDefault = _b === void 0 ? true : _b;
|
|
18
18
|
var context = useContext(MotionCanvasContext);
|
|
19
19
|
invariant(Boolean(context), "No MotionCanvas detected. Replace Canvas from @react-three/fiber with MotionCanvas from framer-motion.");
|
|
20
|
-
var _c = context, dimensions = _c.dimensions, layoutCamera = _c.layoutCamera;
|
|
20
|
+
var _c = context, dimensions = _c.dimensions, layoutCamera = _c.layoutCamera, requestedDpr = _c.requestedDpr;
|
|
21
21
|
var advance = useThree(function (three) { return three.advance; });
|
|
22
22
|
var set = useThree(function (three) { return three.set; });
|
|
23
23
|
var camera = useThree(function (three) { return three.camera; });
|
|
@@ -43,7 +43,7 @@ function useLayoutCamera(_a, updateCamera) {
|
|
|
43
43
|
*/
|
|
44
44
|
var removeLayoutMeasureListener = projection.addEventListener("measure", function (newLayout) {
|
|
45
45
|
var newSize = calcBoxSize(newLayout);
|
|
46
|
-
var dpr =
|
|
46
|
+
var dpr = requestedDpr;
|
|
47
47
|
var _a = dimensions.current.size, width = _a.width, height = _a.height;
|
|
48
48
|
var xScale = width / newSize.width;
|
|
49
49
|
var yScale = height / newSize.height;
|
|
@@ -68,7 +68,7 @@ function useLayoutCamera(_a, updateCamera) {
|
|
|
68
68
|
updateCamera(newSize);
|
|
69
69
|
dimensions.current = { size: newSize };
|
|
70
70
|
gl.setSize(newSize.width, newSize.height);
|
|
71
|
-
gl.setPixelRatio(
|
|
71
|
+
gl.setPixelRatio(requestedDpr);
|
|
72
72
|
}, 50);
|
|
73
73
|
}
|
|
74
74
|
});
|
package/package.json
CHANGED
|
@@ -9,5 +9,6 @@ export declare type SetDimensions = (state: DimensionsState) => void;
|
|
|
9
9
|
export interface MotionCanvasContextProps {
|
|
10
10
|
layoutCamera: RefObject<any>;
|
|
11
11
|
dimensions: MutableRefObject<DimensionsState>;
|
|
12
|
+
requestedDpr: number;
|
|
12
13
|
}
|
|
13
14
|
export declare const MotionCanvasContext: import("react").Context<MotionCanvasContextProps | undefined>;
|