paradiego
This commit is contained in:
13
node_modules/@mui/material/node/useScrollTrigger/index.js
generated
vendored
Normal file
13
node_modules/@mui/material/node/useScrollTrigger/index.js
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "default", {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _useScrollTrigger.default;
|
||||
}
|
||||
});
|
||||
var _useScrollTrigger = _interopRequireDefault(require("./useScrollTrigger"));
|
||||
57
node_modules/@mui/material/node/useScrollTrigger/useScrollTrigger.js
generated
vendored
Normal file
57
node_modules/@mui/material/node/useScrollTrigger/useScrollTrigger.js
generated
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
"use strict";
|
||||
'use client';
|
||||
|
||||
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = useScrollTrigger;
|
||||
var React = _interopRequireWildcard(require("react"));
|
||||
function defaultTrigger(store, options) {
|
||||
const {
|
||||
disableHysteresis = false,
|
||||
threshold = 100,
|
||||
target
|
||||
} = options;
|
||||
const previous = store.current;
|
||||
if (target) {
|
||||
// Get vertical scroll
|
||||
store.current = target.pageYOffset !== undefined ? target.pageYOffset : target.scrollTop;
|
||||
}
|
||||
if (!disableHysteresis && previous !== undefined) {
|
||||
if (store.current < previous) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return store.current > threshold;
|
||||
}
|
||||
const defaultTarget = typeof window !== 'undefined' ? window : null;
|
||||
function useScrollTrigger(options = {}) {
|
||||
const {
|
||||
getTrigger = defaultTrigger,
|
||||
target = defaultTarget,
|
||||
...other
|
||||
} = options;
|
||||
const store = React.useRef();
|
||||
const [trigger, setTrigger] = React.useState(() => getTrigger(store, other));
|
||||
React.useEffect(() => {
|
||||
const handleScroll = () => {
|
||||
setTrigger(getTrigger(store, {
|
||||
target,
|
||||
...other
|
||||
}));
|
||||
};
|
||||
handleScroll(); // Re-evaluate trigger when dependencies change
|
||||
target.addEventListener('scroll', handleScroll, {
|
||||
passive: true
|
||||
});
|
||||
return () => {
|
||||
target.removeEventListener('scroll', handleScroll, {
|
||||
passive: true
|
||||
});
|
||||
};
|
||||
// See Option 3. https://github.com/facebook/react/issues/14476#issuecomment-471199055
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, [target, getTrigger, JSON.stringify(other)]);
|
||||
return trigger;
|
||||
}
|
||||
Reference in New Issue
Block a user