Research
Recent Trends in Malicious Packages Targeting Discord
The Socket research team breaks down a sampling of malicious packages that download and execute files, among other suspicious behaviors, targeting the popular Discord platform.
scroll-snap
Advanced tools
Readme
scroll-snap
Snap page when user stops scrolling, basically implements CSS Scroll Snap, adding a customizable configuration and a consistent cross browser behaviour.
requestAnimationFrame
for 60fpsyarn add scroll-snap
You can also grab a pre-built version from unpkg
createScrollSnap(element, settings, [callback])
element: HTMLElement
The HTML DOM Element to attach the scroll listener to.
settings: Settings
A configuration object consisting of one or more of the following keys:
snapDestinationX: string | number
Snap destination for x axis, should be a valid css value expressed as
px | % | vw | vh
snapDestinationY: string | number
Snap destination for y axis, should be a valid css value expressed as
px | % | vw | vh
timeout: number
Time in ms after which scrolling is considered finished
[default: 100]
duration: number
Duration in ms for the smooth snap
[default: 300]
threshold: number
Threshold to reach before scrolling to next/prev element, expressed as a percentage in the range [0, 1]
[default: 0.2]
snapStop: boolean
When true, the scroll container is not allowed to "pass over" the other snap positions
[default: false]
easing: (t: number) => number
Custom easing function
@param t
: normalized time typically in the range [0, 1]
[default:easeInOutQuad
]For reference: https://gist.github.com/gre/1650294
callback: () => void
[Optional]Optional callback to execute once the animation ends.
An object including two handlers to manually attach and remove the scroll event listener
{
// attaches the scroll event listener
bind: () => void
// removes the scroll event listener
unbind: () => void
}
import createScrollSnap from 'scroll-snap'
const element = document.getElementById('container')
const { bind, unbind } = createScrollSnap(element, {
snapDestinationX: '0%',
snapDestinationY: '90%',
timeout: 100,
duration: 300,
threshold: 0.2,
snapStop: false,
easing: easeInOutQuad,
}, () => console.log('element snapped'))
// remove the listener
// unbind();
// re-instantiate the listener
// bind();
git clone https://github.com/lucafalasco/scroll-snap.git
cd scroll-snap
yarn install
Start the testing environment from playground/
:
yarn start
Build lib for production:
yarn build
MIT
FAQs
Snap page when user stops scrolling, with a customizable configuration and a consistent cross browser behaviour
We found that scroll-snap demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
The Socket research team breaks down a sampling of malicious packages that download and execute files, among other suspicious behaviors, targeting the popular Discord platform.
Security News
Socket CEO Feross Aboukhadijeh joins a16z partners to discuss how modern, sophisticated supply chain attacks require AI-driven defenses and explore the challenges and solutions in leveraging AI for threat detection early in the development life cycle.
Security News
NIST's new AI Risk Management Framework aims to enhance the security and reliability of generative AI systems and address the unique challenges of malicious AI exploits.